402 on shot 4 of 6: a $3.00 wallet and a mixed project, step by step

Walk a $3.00 balance through stills, voice, music, six shots and a render. See which submit returns 402, what was already paid, and how to resume safely.

5 min readSume
All posts

With a $3.00 balance, the mixed project accepts its stills, voice, music and three video shots, then returns 402 insufficient_credits on shot 4. The 402 itself costs nothing: Sume cannot reserve the estimate, so no provider work starts. The earlier steps are already paid and stay yours, so the fix is to add funds and submit only what is missing, not the whole project again.

The steps run in order: three 2K stills (nano-banana-2.1, $0.15 each), a 450-character voice-over, a music bed, six 5-second wan-3.0 shots at 720p, and a one-minute render. Rates are from the Sume catalog (read 2026-10-08).

The balance after every submit

Sume reserves the estimated amount when it accepts a submit, and captures it on success. A reserved amount is not spendable, so the balance falls at submit, not at completion. The table subtracts each accepted step from the running balance.

A $3.00 balance across the project, list prices as of 2026-10-08
StepEstimateResultBalance after
3 stills 2K$0.4500accepted$2.5500
voice 450 chars$0.0214accepted$2.5286
music$0.1250accepted$2.4036
shot 1 (5 s, wan-3.0 720p)$0.6250accepted$1.7786
shot 2 (5 s, wan-3.0 720p)$0.6250accepted$1.1536
shot 3 (5 s, wan-3.0 720p)$0.6250accepted$0.5286
shot 4 (5 s, wan-3.0 720p)$0.6250402 insufficient_credits$0.5286
shot 5 (5 s, wan-3.0 720p)$0.6250402 insufficient_credits$0.5286
shot 6 (5 s, wan-3.0 720p)$0.6250402 insufficient_credits$0.5286
render 1 min$0.1000not submitted (shots 4-6 missing)$0.5286

What the 402 leaves behind

The steps accepted so far cost $2.4714. The balance of $0.5286 is below the $0.6250 that shot 4 needs, so every later video step also fails, while the $0.1000 render would still fit by itself. Do not submit it: it has no shots to join.

To finish you need shots 4 to 6 ($1.8750) and the render ($0.1000), so $1.9750 in total. Add funds for that amount at least, then submit shots 4 to 6 with the same idempotency keys you planned for them.

A loop that stops at the first 402

Send an Idempotency-Key per shot. A replay returns the original job, so a re-run of the script after a top-up does not pay for shots 1 to 3 twice.

import requests, os

API = "https://api.sume.com/v1"
H = {"Authorization": "Bearer " + os.environ["SUME_API_KEY"]}

def submit(i, prompt):
    r = requests.post(API + "/videos", headers={**H, "Idempotency-Key": f"promo-shot-{i}"},
        json={"model": "wan-3.0", "prompt": prompt, "duration": 5, "resolution": "720p"})
    if r.status_code == 402:
        print("stop at shot", i, r.json()["error"]["request_id"])
        return None
    r.raise_for_status()
    return r.json()["id"]

prompts = [f"shot {i}" for i in range(1, 7)]
ids = []
for i, p in enumerate(prompts, 1):
    job = submit(i, p)
    if job is None:
        break
    ids.append(job)
print(len(ids), "jobs accepted")

Why the order matters

The order you submit in decides what is left when the money runs out. Here the cheap, certain steps go first, so a 402 lands on the video shots and not on the voice-over that the render needs. If you submit the shots first, a thin wallet could pay for shots and then fail on the voice, leaving footage with no audio spine.

A good order is the steps that every version of the project needs (voice, music), then the stills, then the shots from the most important to the least, then the render. A 402 on a late, optional shot then costs you polish, not the whole cut.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume