Runway THROTTLED task status vs Sume queued jobs
Runway tasks over your concurrency limit show THROTTLED and are enqueued roughly in submit order. Sume accepts them as queued. How to handle each in a client.

On Runway's API, a task submitted beyond your concurrency limit gets the status THROTTLED: it is stored on Runway's servers but not enqueued for processing yet. Runway says it is safe to treat THROTTLED as PENDING. Sume reaches the same place with a plain queued job, and returns 429 queue_full only when the queue itself is at capacity.
What Runway documents
Runway's concurrency page says the limit is the maximum number of tasks that can run at once, and extra tasks are throttled and enqueued in approximately the order they were submitted. Its monitoring advice adds a metric: count your throttled tasks, because many of them can mean your integration is nearing the generation limit.
| Question | Runway | Sume |
|---|---|---|
| Status for waiting work | THROTTLED | queued |
| Safe to treat as pending | Yes, per the docs | Yes: queued is non-terminal |
| Order | Approximately submit order | Not promised on the pages read |
| Terminal states | SUCCEEDED, CANCELED, FAILED | completed, failed, canceled |
| Hard stop | Not described on these pages | 429 queue_full at queue capacity |
What Sume does
Sume accepts a valid job as queued and moves it to processing when a concurrency slot opens. Capacity defaults to max(3, concurrency_limit x 5), and the generation_limits object shows your effective numbers. Only when that queue is full does a submit fail with 429 queue_full.
One client rule
Both systems ask for the same discipline in a client, so write it once.
- Treat every non-terminal status as waiting, including ones you have not seen yet.
- Alert on how many jobs sit in the waiting state, not only on failures.
- On Sume, retry a
queue_fullwith the same idempotency key. - Never cancel and resubmit just because a job is waiting.
Put a limit on waiting
Runway's page does not say how long a throttled task may wait, so do not assume a bound. Build your own timeout and cancel on your side when a job passes it.
Sources
Related posts
More in Developers
- Runway waitForTaskOutput timeout does not cancel the task
Runway's waitForTaskOutput gives up after ten minutes but the task keeps running and billing. How to cancel on timeout, and the same rule on Sume jobs.
- Feed scraped product copy to a Format run: input, not instruction
Putting a supplier's text into a Format's instruction lets it steer the run. Sume's input field is treated as data, with a 64-key and 2 MiB limit.
- script_run budgets: call, paid-call and timeout limits on MCP
script_run caps a Sume MCP program by timeout (5-55 s), max_calls and max_paid_calls, and stops with a named error code. Defaults, ceilings and what to do next.
- Seedance 2.5 60 FPS on Dreamina: is there a frame-rate field?
Dreamina's plan page lists frame-rate improvements up to 60 FPS and resolution upgrades. Sume's video request has no fps field; here is what it takes instead.
Written by Sume