Balance needed to submit 10 or 50 video jobs: reserve per model
Sume reserves each job's estimate at submit. A table of the balance 10 and 50 ten-second clips need on six video models, and where a 402 lands in a batch.

Each POST /v1/videos reserves the job's estimated Sume price from the workspace balance at submit, so a batch needs the sum of its estimates available up front, not at the end. Ten ten-second Wan 3.0 clips at 720p need $12.50 free; fifty need $62.50. The first job whose reserve does not fit fails with 402 insufficient_credits before any provider work starts.
The estimate is provider list price times 1.25, and the numbers below come from the same estimators that perform the reservation.
Balance to cover the batch
| Model | Per 10 s clip | 10 clips | 50 clips |
|---|---|---|---|
| Wan 3.0 (720p) | $1.25 | $12.50 | $62.50 |
| Seedance 2.5 (720p) | $5.778 | $57.78 | $288.90 |
| Seedance 2 Fast (720p) | $3.024 | $30.24 | $151.20 |
| Seedance 2 Mini (720p) | $1.89 | $18.90 | $94.50 |
| MiniMax H3 (768p) | $0.75 | $7.50 | $37.50 |
| Gemini Omni Flash 1.1 (720p) | $1.25 | $12.50 | $62.50 |
What happens when the balance runs short
Submits are checked one by one. If the balance covers 31 of 50 jobs, jobs 1 to 31 are accepted and the 32nd returns 402, so the batch is split rather than refused whole. Completed jobs capture their reserve; a failed job releases its hold.
That is why pre-computing the sum is worth a few lines of code: you can stop before submit instead of discovering the cut-off in the middle of a loop.
Practical rules
- Compute the sum from
GET /v1/videos/modelspricing before the loop and compare it with your balance. - Number your idempotency keys by item so a re-run after a top-up resumes at item 32 and skips the 31 already accepted.
- Keep the 25 percent house margin in mind when you compare these prices with a provider's own list.
A pre-flight sketch
Before a large loop, compute the sum for the model, resolution and duration you will send, read the workspace balance from GET /v1/balance, and stop early if the sum does not fit. The estimate is the same number the reservation uses, so the comparison is exact rather than approximate; it only ignores other jobs that submit in the meantime.
- Group the batch by model and resolution so each group has one price.
- Multiply by item count and add the groups.
- Leave a margin for work other members of the workspace are submitting at the same time.
- If the sum does not fit, either top up, move to a cheaper row of the table, or split the batch across days.
Moving a draft pass to a cheaper model and re-rendering only the approved clips on a premium one is the usual way to keep the reserve small. The table shows the spread: the same ten seconds costs several times more on some rows than others.
Sources
Related posts
More in Developers
- callback_url on /v1/videos: the Sume job envelope that arrives
A /v1/videos callback_url delivers Sume's job.completed, job.failed or job.canceled envelope, not video.generation.* events. Payload, signature, checks.
- Cancel queued Sume jobs after queue_full; handle 409 already started
How to free capacity after a 429 queue_full: cancel queued jobs, read job_generation_already_started on running ones, and why a cancel releases the reserve.
- Can't choose a video model? Send sume/auto and let Sume pick
model: sume/auto lets Sume select the video family for you: 3 to 10 seconds, 16:9 or 9:16, default 720p and 8 seconds. What it does and does not tell you.
- Cheapest Sume image model for a 21:9 banner from a reference photo
Qwen Image at $0.025 is the cheapest row listing 21:9 with reference input. Flux 2 Pro is next at $0.0375. A short script finds it live.
Written by Sume