Back-in-stock video for one SKU: send the facts as input, not prose
One restock clip is one Format run: put SKU, stock count and ship date in an input object, add a short instruction, and key the run by SKU and date.

A restock announcement is one run, not a batch. POST /v1/formats/{handle}/{slug}/runs needs at least one of instruction, input, previous_run_id or attachments, and the quickest way to stay accurate is to put the changing facts in input and leave the instruction short.
Split facts from direction
input is a free-form object (up to 64 top-level keys and 2 MiB). The instruction accepts 8,000 characters, but about 4,000 are carried into the run, so a pasted product page is the wrong place for a stock count. Put the numbers in input, and use the instruction for the creative direction only.
curl -sS -X POST "https://api.sume.com/v1/formats/sume/product-commercial/runs" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: restock-SKU-1042-2026-10-05" \
-d '{
"instruction": "Back in stock. Calm, 9:16, product on a plain surface.",
"input": { "sku": "SKU-1042", "units_available": 120, "ships": "2026-10-08" },
"generation_spend_cap_usd": 40
}'Why the key is built from SKU and date
A key is up to 255 characters and scoped to one Format. A replay of the same key returns 200 with idempotency_hit: true and the existing run, so a double click in your back office does not start a second render. A new restock a week later gets a new date in the key, so it starts a fresh run.
Read the receipt
A new run answers 202 with status_url, result_url, events_url and cancel_url. result_url returns 409 run_not_completed until the run is terminal, so poll status_url and read the result only after completed.
Sources
Related posts
More in Formats
- Black Friday ad copy and video in one call: an output_schema example
Bind an output_schema with headline, caption and a SumeMediaFile video so one Format run returns typed copy and the clip together, with primary_output_key set.
- Bulk queue concurrency 16 but fewer runs start: workspace concurrency
Concurrency 16 is a ceiling on the queue, not a promise. Workspace generation concurrency still applies to every child, so some start late or fail to start.
- A queue of 100 Shorts: unique input and a cap per item
Sume bulk runs queue up to 100 Format runs. Give each item its own input and spend cap so no two Shorts read alike. Limits and a request shape from the docs.
- Bulk run for an ad matrix: 3 hooks by 4 ratios in 12 queue items
Build a 3 by 4 creative matrix as one Sume bulk run: 12 items, concurrency 4, and an index-to-name map so every finished file has a clear label.
Written by Sume