Why your Sume balance drops at submit: hold, capture and refund
Sume reserves the estimated price when it accepts a job, captures it on success and releases it on failure. How holds show up in the usage ledger.

If your available balance dips the moment you submit a video job, that is a hold, not a charge. Sume's generation-admission docs describe the sequence: at submit time it reserves the estimated amount, a successful completion captures it, and a failed job or failed queue admission releases or refunds the reservation where applicable.
The three states
The usage API shows each ledger row with a status of reserved, captured or refunded. A reserved row is a hold that has not turned into spend yet. The scope summary separates the pieces: debited_usd_micros is what the wallet actually lost, held_usd_micros is the sum of open holds, and refunded_usd_micros is what was given back. The summary also carries a final flag that turns true once no hold is open, which is the moment the spend stops moving.
| Status | Meaning | Counts as spend |
|---|---|---|
| reserved | Hold placed at submit | No |
| captured | Job finished, amount taken | Yes |
| refunded | Hold released or returned | No |
What size is the hold
For video the docs say Sume reserves the provider list price times 1.25 at submit, and usage.cost on the poll response is the billable amount. Money is tracked in USD micros, so a hold can be a fractional cent figure such as 625,000 micros for a 5-second Wan 720p clip, or $0.625.
What this means for budgeting
- Concurrent jobs each hold their own estimate, so a big batch ties up a lot of balance at once even though the final spend is lower if some jobs fail.
- The balance endpoint reports spendable USD only. Amounts that are reserved or captured are excluded from the expiry summary.
- To see what a job really cost, read its row or the job-scoped usage summary after it settles, not the balance mid-run.
A worked example
You submit a 10-second Seedance 2.5 clip at 720p. The estimate is $5.778, so $5.778 is reserved at submit and your available balance drops by that amount. If the job completes, the row becomes captured and $5.778 is spend. If the job fails, the row is released or refunded and the balance comes back. In between, the usage summary for that job shows the amount under held_usd_micros and final is false.
If you are reconciling against an invoice, use debited_usd_micros. The docs call it the source-of-truth figure, and the summary rounds to cents only once.
The dashboard's billing page shows the same balance and the usage ledger. Public API reads are GET /v1/balance and GET /v1/usage; both are scoped to the workspace of the key.
Sources
Related posts
More in Pricing
- 100 holiday voice-overs at 600 characters: $3.00 of Sume TTS
Sume TTS bills $0.0475 per 1,000 characters, rounded up per job. One 600-character read is $0.03, so 100 holiday ad voice-overs cost $3.00. Script included.
- 10,000 eight-second clips: STT billed per second vs per hour
Ten thousand 8-second clips are 80,000 seconds, or 22.2 hours: $12.00 on MAI-Transcribe-2-Streaming, $13.33 on Sume STT, which bills each job by the second.
- 10,000 images a month on Sume: GPT Image 2.5, Grok, Nano Banana 2
A month of 10,000 images costs $73.75 on GPT Image 2.5 low, $165 on medium, $250 on Grok Imagine and $1,000 on Nano Banana 2 1K on Sume. Table and script.
- 160 ads a month at 450 characters: the TTS bill on Sume, MAI and Flash
A month of 160 ad voiceovers at 450 characters costs $4.80 on Sume, $1.584 on MAI-Voice-2.1 and $1.08 on Flash. The arithmetic and what the gap buys.
Written by Sume