Spend cap for six 10-second 1080p clips: set $25, not the $400 default
Six 10-second Omni 1080p clips bill $11.28 on Sume. Set generation_spend_cap_usd to about $25 to allow one retake each, instead of the $400 default or $500 max.

A Format run's generation_spend_cap_usd is a ceiling, not an estimate, and the default is much higher than a small job needs. For six 10-second Gemini Omni Flash 1.1 clips at 1080p, the billed price is $1.88 each, or $11.28. If you want room for one retake of every clip, that is 12 generations and $22.56, so a cap of $25 covers it with a little headroom. A Format that never named a cap reports the platform default of $400, and the maximum you can send is $500.
How the cap works
A run can never spend more than its effective cap. You send generation_spend_cap_usd on the create call to set this run's own ceiling; omitting it inherits the Format's cap, null uses $500, and 0 or anything above 500 is rejected with 400. Every receipt reports the cap as usage.generation_spend_cap_usd_micros and the actual spend as usage.billable_amount_usd_micros, so you can check the headroom afterward. In a bulk queue each child carries its own cap, and the queue has no total limit, so the worst case is items times the per-item cap.
| Scenario | Generations | Cost at $1.88 each | Cap to send |
|---|---|---|---|
| No retakes | 6 | $11.28 | $12 |
| One retake in half | 9 | $16.92 | $17 |
| Every clip once more | 12 | $22.56 | $25 |
| Platform default | n/a | n/a | $400 |
Send it on the request
The cap goes in the run body next to the input. The example sets $25; replace the handle, slug and key with your own.
curl -sS -X POST https://api.sume.com/v1/formats/$HANDLE/$SLUG/runs \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: spot-batch-001" \
-d '{
"input": {"brief": "six 10s product shots"},
"generation_spend_cap_usd": 25
}'Choosing the number
Price the happy path, add your measured retake rate, then round up to a whole dollar. A tight cap makes a runaway loop cost at most $25, and if a run hits it the run stops short of its goal instead of silently spending more. Check the arithmetic against the live pricing_skus first, because Google, fal and others change list prices often, and the cap is the one number you set yourself.
Sources
Related posts
More in Formats
- Gift message field in a strict output schema: optional means nullable
In a Sume output_schema every property must be required, so an optional gift message is a string-or-null union, not an omitted key. Here is the shape.
- Holiday gift set video from 30 photos: the Sume attachments limit
A gift set has many parts. Sume accepts up to 30 images in attachments and a 30-file media budget per run, so plan which shots go in before you call.
- Image API n or a bulk Format run: which to use for ad variants
Use Image API n for same-prompt variants at one ratio, and a bulk Format run when each variant needs its own instruction, input, spend cap or webhook.
- Invite a workspace to run your Format: POST grants stays pending
POST /v1/formats/{handle}/{slug}/grants invites a team workspace with role run or write. The grant is pending and confers nothing until their admin accepts.
Written by Sume