Batch of 100 image covers on Sume: waves by plan, from Free to Scale
A 100-image batch fits one wave on Scale (120 accepted) but needs 5 waves on Pro (24 accepted). Capacity by plan, wave_size_hint and the 429 queue_full rule.

A 100-image batch fits in one wave only on Scale, which accepts 120 jobs at once; Pro accepts 24, so it takes at least 5 waves. Sume admits work up to processing slots plus queue slots, and a request past that returns 429 queue_full. The jobs and results page lists the limits, and wave_size_hint tells you how many to send next.
The hint is max(1, floor(queue_capacity_remaining x 0.75)), so an idle Pro workspace sees 18, not 24.
What can each plan accept?
Accepted capacity is concurrency plus queue. The wave column is the hint on an idle workspace.
| Plan | Concurrency | Queue | Accepted | Idle wave_size_hint | Waves for 100 |
|---|---|---|---|---|---|
| Free | 1 | 5 | 6 | 4 | 25 |
| Pro | 4 | 20 | 24 | 18 | 6 |
| Startup | 8 | 40 | 48 | 36 | 3 |
| Scale | 20 | 100 | 120 | 90 | 2 |
How do I submit a wave?
Submit with mode: async, record the job ids, and wait until jobs reach terminal before the next wave. Poll /v1/jobs/{id}/status no sooner than next_poll_after_seconds. On a 429, wait and send the rest, not the whole batch again; use one Idempotency-Key per image so a resend does not bill twice.
Why not one big batch?
Rejected requests are not billed, but you lose time. Sizing waves from the hint keeps the queue full without hitting the cap.
Sources
Related posts
More in Developers
- Port a Bedrock image call to Sume /v1/images in Python
Moving from boto3 invoke_model for Nova Canvas or Titan to Sume's REST call: the request mapping, the response shape, the status codes, and the swap code.
- Build a Sume Idempotency-Key from an order id: changed body result
The same key and body replays the original Sume job. A different body with the same key is a 409. Pick keys that make both outcomes safe, in runnable Python.
- Bulk create returns 429: wait retry-after, resend with the same key
A 429 on a Sume bulk create means the write budget is spent. Wait retry-after, then resend with the same Idempotency-Key; the same payload cannot double-queue.
- BullMQ delayed job that polls an AI video job and reschedules itself
A BullMQ worker reads Sume's job status once, then adds the next poll with a delay from next_poll_after_seconds, so no worker slot is held while a clip renders.
Written by Sume