Why job 4 gets a 402: how many jobs a $10 balance reserves

With $10, a batch of 15-second standard avatar clips reserves $2.76 each, so job 4 fails with 402 insufficient_credits. Per-product counts and why.

4 min readSume
All posts

If a $10 balance funds 15-second standard avatar clips at $2.76 each, jobs 1 to 3 are accepted (they hold $8.28) and job 4 fails with 402 insufficient_credits, because it would need $11.04. Nothing is wrong with job 4. Sume reserves each job's estimated cost at submit, and the reserve for the fourth no longer fits in what is left.

This page shows the same rule for other products, so you can predict where a batch of your own will stop.

Why does it fail on the fourth, not at the end?

The generation admission doc says a 402 insufficient_credits means Sume cannot reserve the estimated generation cost from the workspace balance, and that this happens before provider work starts. A reserve is taken per accepted job, at accept time, whether the job starts at once or waits as queued.

So the balance a new submit sees is the balance minus every hold that is still open. Three clips reserve $8.28 and leave $1.72, which is below the $2.76 the next clip needs.

How many jobs fit in $10 by product?

Divide the balance by the estimate per job and round down. The first job to fail is the next one. These estimates use the flat prices in the model docs and the Avatar 1.0 and Ideogram 4.5 rates from the clone's provider-pricing package.

Jobs reserved by a $10.00 balance (arithmetic on per-job estimates, read 2026-10-03).
JobEstimate eachJobs that fitHold after thoseFirst 402
Avatar 1.0 clip, 15 s, standard$2.763$8.28job 4
Avatar 1.0 clip, 10 s, plus$2.454$9.80job 5
Avatar 1.0 clip, 4 s, max$2.204$8.80job 5
Ideogram 4.5 image, high$0.27536$9.90job 37
Standalone caption job$0.2050$10.00job 51

Does a failed job free the money?

Yes. Failed jobs and a failed queue admission release or refund the reservation where applicable, and the usage statuses are reserved, captured and refunded. If job 2 in the avatar batch fails, its $2.76 hold is released and a job that would have been refused may fit again. Successful jobs are captured and stay spent.

Cancellation succeeds only before generation work starts. A queued job you cancel releases its hold; a job that has begun returns 409 job_generation_already_started and finishes or fails normally.

What does the balance look like job by job?

Walking through the avatar batch makes the rule concrete. Each accepted job lowers the spendable balance by its estimate, and the submit is checked against what remains. The fourth line is the first one that does not fit.

If the first job then completes, its hold becomes a capture and the balance stays down. If it fails, the hold is released and the balance rises by $2.76, so a retry of job 4 could succeed even though you did not top up.

Spendable balance after each submit of a 15-second standard avatar clip ($2.76 each) from $10.00 (arithmetic, read 2026-10-03).
SubmitNeedsSpendable beforeResultSpendable after
Job 1$2.76$10.00accepted$7.24
Job 2$2.76$7.24accepted$4.48
Job 3$2.76$4.48accepted$1.72
Job 4$2.76$1.72402 insufficient_credits$1.72

Is a 402 the same as queue_full or rate_limited?

No, and the retry advice differs. 402 insufficient_credits is about money: fix it by funding the workspace or submitting something cheaper. 429 queue_full means the workspace has no accepted-job capacity left: wait for jobs to finish or cancel queued ones, then retry. 429 rate_limited is request volume: back off using retry-after when present.

A batch can hit either one first, depending on plan and price. The Free plan accepts six jobs, so on a larger balance the sixth clip is the last one accepted and the seventh gets queue_full. With $10 and standard clips, the 402 on job 4 comes first. Check both numbers before a bulk submit.

How should I avoid a 402 halfway through a batch?

Check GET /v1/balance first and divide by the largest estimate in the batch. Submit in waves, and read generation_limits on each response to see how much queue capacity is left. When a 402 arrives, stop adding work, top up in Billing & subscription, and resubmit the jobs that were refused. Use an Idempotency-Key on every paid submit so that retrying the same job after a timeout does not create a second one.

The numbers here are a read from 2026-10-03; the API pricing page is the live source.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume