Recast 402 insufficient_credits: the balance a 30 s swap needs
A 30-second H3 Max Recast reserves $11.25 at 768p or $16.875 at 1080p on Sume; a balance below that returns 402. Reserve table and three ways to fit.

A 30 second H3 Max Recast swap needs $11.25 of spendable balance at 768p or $16.875 at 1080p on Sume. If the workspace balance is lower, the submit returns 402 insufficient_credits before any provider work starts and nothing is charged. The reservation is the full price, because Recast bills the whole source length.
Teams hit this on the longest clips first: the same balance that passes five 10 second swaps can fail one 30 second swap.
What Sume reserves
Sume's admission docs say paid generation uses public USD estimates: the estimated amount is reserved when the request is accepted, a successful completion captures it, and failed jobs or failed queue admission release or refund the reservation where applicable (Generation admission). For Recast the estimate is the rounded-up source seconds times the resolution rate, so the number is known before you submit.
| Source length | 768p reserve | 1080p reserve |
|---|---|---|
| 5 s | $1.88 | $2.81 |
| 10 s | $3.75 | $5.63 |
| 15 s | $5.63 | $8.44 |
| 20 s | $7.50 | $11.25 |
| 30 s | $11.25 | $16.88 |
Three ways to fit under the balance
The 402 message is about the estimate, not about the clip being invalid, so the fix is to lower the estimate or raise the balance.
- Drop to 768p. It is the default on Sume and 33 percent cheaper than 1080p for the same seconds ($0.375 against $0.5625).
- Trim the source. Recast bills the length you send, so cutting a 30 second source to the 12 seconds that contain the people costs a 12 second price. Sume's video trim needs the clip on
media.sume.comfirst. - Split the work: two 15 second pieces cost the same total but each reserves half as much at a time, which matters when several jobs are queued at once.
Queued jobs reserve too
A queued job has already reserved its price. Ten queued 30 second swaps at 768p hold $112.50 even though only a few are running. If a later submit fails with 402 while earlier jobs are still queued, the balance is not gone; it is committed. Cancel queued jobs you no longer need before they start and the reservation is released.
To avoid finding out by error, ask first. The hosted MCP paid tools accept dry_run for a cost and admission preview, and max_spend_usd to cap a call (MCP tools and gates). On the REST API, compute the number from the rate card and compare it with GET /v1/balance.
Retry rules
Do not retry a 402 in a loop. It will fail the same way until the balance changes. When you do retry after adding funds, reuse the same Idempotency-Key for the same payload so that a request that actually reached Sume is not submitted twice.
A pre-flight habit
The cheapest way to avoid a 402 is to compute the price before you submit. Take the source seconds rounded up and multiply by the per-second rate, then compare to the balance with a margin for any other jobs running at the same time.
Because a refused submit creates no job, a 402 is safe to retry once the balance is topped up. Reuse the same idempotency key so there is one job at most. Do not add retries that loop without a balance check, since each refused attempt is a wasted request.
Sources
Related posts
More in Developers
- Batch of 12 H3 Max Recast swaps: queue limits by Sume plan
Twelve Recast swaps fit in one submit on Pro and above (24+ accepted jobs); on Free only 6 are accepted at once. The queue table and the $45 reserve at 768p.
- H3 Max Recast seed: fal has one, Sume does not send it
fal's Recast API takes and returns a seed. Sume's Video Router accepts none, so each run is a new take. How to re-roll, what to vary, and what it costs.
- H3 Max Recast request shape: /v1/videos or /v1/video-router/generate?
Recast takes one video_url and 1 to 4 image_url entries as input_references on /v1/videos, or video_url plus reference_image_urls on the Video Router.
- H3 Max Recast webhook: submit with mode webhook, verify the HMAC
Recast jobs run for a while. Submit h3-max-recast with mode webhook, then verify Sume's sume-v1 HMAC signature before you download the swapped video.
Written by Sume