Sume bulk item format_run_failed_to_start: run_id null, queue goes on
One Sume bulk item can fail before it starts: format_run_failed_to_start, run_id null, and the rest of the queue continues. How to read and retry it.

When one item in a Sume bulk run cannot start, that item reports the error format_run_failed_to_start with a run_id of null, and the rest of the queue carries on. So a queue can finish with status completed and still have items that never ran. Read counts.failed and each item's error before you call the job done.
What are the three item errors?
The bulk run reference lists them. Only one has no run.
| Code | Meaning | run_id |
|---|---|---|
| format_run_failed | The run started and failed | Set |
| format_run_canceled | The run was canceled, for example through the child cancel endpoint | Set |
| format_run_failed_to_start | The item never started | null |
Why does completed not mean success?
Queue status is queued, running or completed. Completed only says every item is terminal. The counts tell you how many failed or were canceled. A job runner that stops at status completed will miss all three error types.
A bad item caught at create is different: the whole call returns 400 invalid_request with details.index pointing at the item, and no queue exists. So failed_to_start is about a failure after the queue exists.
How do I retry only the items that failed?
Collect the indexes whose error is set, rebuild a new bulk request from only those inputs, and send it with a new Idempotency-Key. Reusing the old key with a different payload gets a 409 idempotency_conflict with details.queue_id, and reusing it with the same payload just returns the old queue.
Keep keys scoped to the business intent plus a revision suffix. Keys are scoped to one Format.
- Every bulk item runs with on_active_run allow. A skip or reject set on an item is ignored.
- The queue has no webhook. Set webhook_url per item if you want pushes, and note that canceled or skipped runs deliver none.
- There is no cancel-queue endpoint, so cancel children one by one.
How does this compare with Claude batches?
Claude's batch results come back per request as succeeded, errored, canceled or expired, and only succeeded requests are billed, per the batch page. Sume bills what a started run generated, so read the receipt of each child. See the bulk runs reference.
Sources
Related posts
More in Formats
- Gift set image for holiday listings: the Editorial Product Set Format
Turn a packshot of a three-item gift set into a clean editorial image for holiday listings and ads. What sume-editorial-product-set returns and its limits.
- A brand end card for holiday ads with the Logo Motion Design Format
Make a short animated logo end card for Q4 video ads from one logo image. What sume-logo-motion-design takes and how to attach it to a clip with a timeline.
- The product usage demo Format: a person using your product, by API
sume-product-usage-demo makes a 9:16 clip of a person using a product from a packshot. What it takes, how to call it, and where it falls short.
- Restyle an existing ad clip for Q4 with the Sume Restyle Format
Reskin last quarter's winning ad for the holiday season while keeping its motion and timing. How the sume-restyle Format works and what it cannot do.
Written by Sume