{"id":"banner-motion-red","kind":"banner","name":{"he":"באנר וידאו גרפיט-אדום","en":"Graphite & red video banner"},"one_line":{"he":"15 שניות: פתיחה במסך מלא, מסך מפוצל עם העבודה ומחיר שעולה כמו מונה, שלבים ממוספרים, קריאה לפעולה","en":"15 s: a full-screen hook, a split screen with the work and a counting price, numbered steps on the footage, a call to action"},"listed":true,"version":"1.0","updated":"2026-10-09","when_to_use":["A marketing banner for a business in the \"Graphite & red video banner\" style (15 s video, square 1080×1080) from a short brief: 15 s: a full-screen hook, a split screen with the work and a counting price, numbered steps on the footage, a call to action","A short square video ad for the feed or stories, with music."],"when_not_to_use":["The customer wants a carousel or a full video post: a carousel or a video skill fits better.","Another style fits the business better — the general recipe lists all eight: /skills/banner.md."],"example":{"video_url":"https://media.gpt.org.il/lookbook/examples/banner/detailing-motion-red/banner.mp4","credits":31,"seconds":135},"preview":null,"price":{"unit":"banner","from":31,"to":31,"note":"per banner — what its real example took; a change through POST /v1/banner/render costs only the render (24 credits)"},"inputs":[{"name":"brief","type":"text","required":true,"limits":null,"notes":"the business and the offer in the customer's words: what, the price, a gift, the place, who it is for — prices, gifts, numbers and places are taken only from here"},{"name":"business","type":"json","required":false,"limits":null,"notes":"{ name, logo_url, primary, accent }: the logo sits in a badge of its own; without one the name is set in its place"},{"name":"images · videos","type":"images","required":false,"limits":null,"notes":"the customer's own photos (a picture style) or clips (a video style); without them they are generated or taken from free stock"},{"name":"language","type":"language","required":false,"limits":"he · en","notes":"he unless said"}],"outputs":[{"name":"output.url","type":"image","required":true,"limits":"1080×1080: a JPEG, or an MP4 of 15 seconds with music (+ output.poster_url)","notes":"deleted after 24 hours: download it"},{"name":"output.caption · output.hashtags · output.plan","type":"text","required":true,"limits":"at most 5 hashtags","notes":"keep the plan: a change goes to POST /v1/banner/render"},{"name":"cost","type":"number","required":true,"limits":null,"notes":"GET /v1/usage?tag=<job name> → totals.credits: quote this, not the estimate"}],"steps":[{"method":"POST","path":"/v1/banner/estimate","what":"The price (the same body)","body":{"brief":"<the business and the offer, in the customer's words>","style":"motion-red","language":"he","media":"own"},"async":false,"optional":false},{"method":"POST","path":"/v1/banner","what":"The banner: style motion-red, the brief written in","body":{"brief":"<the business and the offer, in the customer's words>","style":"motion-red","language":"he","media":"own"},"async":true,"optional":false},{"method":"GET","path":"/v1/executions/{id}","what":"Poll a call that answered processing until it is completed (the file is output.url)","body":null,"async":false,"optional":false},{"method":"POST","path":"/v1/banner/render","what":"Change a word, the price, a picture or the colours: the plan with the change, only the render is paid","body":{"plan":{"version":1,"style":"premium","language":"he","copy":{"headline":"תספורת + זקן","price":{"prefix":"רק ב-","amount":"79","currency":"₪"}},"brand":{"name":"BLADE"},"photo_url":"https://media.gpt.org.il/u/…/photo.jpg","cutout":true,"clips":[],"caption":"","hashtags":[]}},"async":true,"optional":true},{"method":"GET","path":"/v1/usage","what":"?tag=<job name>: what the whole job cost — quote it to the customer","body":null,"async":false,"optional":false}],"rules":["Show the customer the price (POST <path>/estimate with the same body, or the price above) and wait for their OK before any paid call.","Send Idempotency-Key: <job>-<step> on every POST. After a timeout send the same call with the SAME key — you get the same job back, never a second charge.","A long call answers status processing: poll GET /v1/executions/{id} every 5–10 s (or send x-wait-ms, up to 90000). Never send the job again to see whether it finished.","Send the same X-Tag: <job name> on every call of one job; GET /v1/usage?tag=<job name> is then what it really cost.","Prices, discounts, gifts, numbers and places come ONLY from the customer's brief; without a price the banner shows a punch line — never an invented figure.","Publish, post or send only when the customer asked for exactly that — never on your own."],"common_errors":[{"code":"invalid_input","why":"400: a field is missing, misspelled or out of range — the message names it","fix":"Fix exactly that field and send again; send only the fields the recipe or the docs show."},{"code":"unauthorized","why":"401: the API key is missing, wrong or revoked","fix":"Ask the customer for a valid key (keys are made at /api-keys); never print it back."},{"code":"insufficient_credits","why":"402: the balance does not cover the estimate (details.required_credits)","fix":"Tell the customer the price and that the balance is short; do not retry until they top up."},{"code":"rate_limited","why":"429: too many calls a minute","fix":"Wait the retry-after seconds, then send the same call with the same Idempotency-Key."},{"code":"failed","why":"the execution's status is failed or timeout — nothing is charged for failed work","fix":"Read error.message, fix the input, and start again with a NEW Idempotency-Key."}],"quality_check":["Every price, gift, number and place on the banner comes from the brief — nothing invented.","The text reads in the brief's language and every word is whole (long words shrink, never cut); the logo is the customer's.","A change of a word, the price or a picture goes through POST /v1/banner/render { plan } — never make the whole banner again for one word."],"tags":{"domain":"create","level":"basic","hebrew":true,"recommended":false,"new":true,"creator":false,"topics":["banner","marketing","ad","video","motion-red"]},"links":{"recipe":"/skills/banner-motion-red.md","docs":"/docs?tool=banner","run":null}}