Video job stuck in queued on Sume: limits by plan and queue_full
A queued video job is not a failure. Sume runs 1, 4, 8 or 20 jobs at once on Free, Pro, Startup and Scale, and queues the rest. 429 queue_full: queue full.

The short answer
An image-to-video job that sits in queued is waiting for a concurrency slot, not failing. Sume processes 1 generation at a time on Free, 4 on Pro, 8 on Startup and 20 on Scale. Extra valid jobs queue until a slot opens. Only a full queue returns 429 queue_full, and a missing balance returns 402 insufficient_credits.
What queued means
Concurrency is a dispatch limit, not a submit limit. A workspace at its limit can still accept more jobs as queued while queue capacity remains. The lifecycle is queued, then processing, then completed, failed or canceled. Store the job id, poll with backoff and fetch the result only when the job is complete.
Limits by plan
Defaults per plan, from the admission docs. The dashboard Concurrency tab and the generation_limits field in the submit response show your effective numbers, and they are the source of truth.
| Plan | Processing at once | Queue capacity | Accepted jobs |
|---|---|---|---|
| Free | 1 | 5 | 6 |
| Pro | 4 | 20 | 24 |
| Startup | 8 | 40 | 48 |
| Scale | 20 | 100 | 120 |
What does not change it
Prepaid top-ups do not raise the processing limit. It follows the plan.
Reading the status
On /v1/videos, the polling status reads pending before the job runs and in_progress while it runs, then completed, failed or cancelled. The job envelope at GET /v1/jobs/{id}/status shows the queued and processing stages. Send the Idempotency-Key on every submit so a retry does not make a second job.
curl https://api.sume.com/v1/jobs/$JOB_ID/status \
-H "Authorization: Bearer $SUME_API_KEY"Batches and queue_full
If a batch of 40 jobs hits a Pro workspace, 4 run, 20 wait, and the other 16 fail with 429 queue_full. Submit in waves instead. The generation_limits block in a submit response includes queue_capacity_remaining and a wave_size_hint, so use them to size the next wave. On queue_full, wait for jobs to finish, or cancel queued ones, then retry with the same idempotency key.
Sources
Related posts
More in Developers
- Imagen 4 Fast has no 4:5: generate 3:4 and crop to 1080x1350 in Pillow
Imagen 4 Fast and Grok skip 4:5 on Sume. Request 3:4, then crop to 1080x1350 with ImageOps.fit and a top-biased centering so heads and product tops survive.
- Sume /v1/images 400 unsupported_parameter: check descriptors
Sume rejects an image parameter the model does not list. seed, output_compression, pixel size and stream also return 400 in v1. How to preflight it.
- Instagram 4:5 feed video from a 3:4 Sume render: the crop fractions
Sume models list 3:4 but not 4:5. Render 3:4, then crop 3.125% off the top and bottom with video-filter. Check the program free before the $0.02 encode.
- Timeline invalid_fit 400: fit must be cover, contain, stretch or blur
invalid_fit means video[].fit is not cover, contain, stretch or blur. Cover is the default, so omit the field if you want it. details.allowed lists values.
Written by Sume