A 7-second clip on six Sume video models: $0.525 to $4.0446
Per-second list prices times 7 s for six Sume video models, with each model's accepted duration range and a Python check that rejects out-of-range lengths.

A 7-second clip costs between $0.525 and $4.0446 across six Sume video models, depending on the model and resolution, and every one of the six accepts 7 seconds. Prices are linear in duration inside each model's valid range, so the estimate is seconds times the per-second price.
The arithmetic
Per-second prices below are Sume prices (provider list x 1.25) from the Sume catalog, read 2026-10-08 by the lead. Ranges come from the video docs. MiniMax H3 reports native 480p and 768p, so the table uses 768p for the two MiniMax rows and 720p elsewhere.
| Model | Accepted seconds | Resolution | Per second | 7 s total |
|---|---|---|---|---|
| seedance-2.5 | 4-30 | 720p | $0.5778 | 7 x 0.5778 = $4.0446 |
| seedance-2 | 4-15 | 720p | $0.378 | 7 x 0.378 = $2.646 |
| wan-3.0 | 2-30 | 720p | $0.125 | 7 x 0.125 = $0.875 |
| minimax-h3 | 5-15 | 768p | $0.075 | 7 x 0.075 = $0.525 |
| minimax-h3-max | 5-15 | 768p | $0.10 | 7 x 0.10 = $0.70 |
| gemini-omni-flash-1.1 | 3-10 | 720p | $0.125 | 7 x 0.125 = $0.875 |
Check the range before you submit
The docs tell you to read supported_durations from GET /v1/videos/models before you submit, because limits differ by model. The script below hard-codes the ranges from the table so it can run offline. In production, read them from the endpoint. It raises on a length the model would refuse, such as 12 seconds on Gemini Omni Flash 1.1, which tops out at 10.
# Sume per-second list prices at the resolution shown, read 2026-10-08.
MODELS = {
"seedance-2.5": ((4, 30), "720p", 0.5778),
"seedance-2": ((4, 15), "720p", 0.378),
"wan-3.0": ((2, 30), "720p", 0.125),
"minimax-h3": ((5, 15), "768p", 0.075),
"minimax-h3-max": ((5, 15), "768p", 0.10),
"gemini-omni-flash-1.1": ((3, 10), "720p", 0.125),
}
def estimate(model: str, seconds: int) -> float:
(low, high), _res, per_second = MODELS[model]
if not low <= seconds <= high:
raise ValueError(f"{model} accepts {low}-{high} s, not {seconds}")
return round(seconds * per_second, 4)
for name in MODELS:
print(name, MODELS[name][1], estimate(name, 7))
try:
estimate("gemini-omni-flash-1.1", 12)
except ValueError as err:
print(err)Billing at submit
At submit, Sume reserves provider list x 1.25 for the request, and usage.cost on the poll response is the Sume billable amount. The prices above already include the 1.25 factor, so the reserve for these defaults equals the estimate. Options that add cost, such as upscales on minimax-h3, add to it.
If the balance cannot cover the reserve, the submit fails with 402 insufficient_credits before any provider work starts.
Reading the table
The total is a floor for the default options at the listed resolution. A higher resolution costs more per second, and the reserve at submit is computed for the chosen options. Compare models at the same resolution, and note that MiniMax H3 offers 480p and 768p, not 720p.
Because billing is linear inside the accepted range, a 14-second clip costs twice the 7-second figure on any model that accepts both lengths.
Sources
Related posts
More in Developers
- A fresh UUID per retry is not an idempotency key (Node, Sume)
Create the Idempotency-Key once outside the retry loop, retry only 429, 502, 503 and 504, and stop on 4xx. A Node submit helper for Sume /v1/videos.
- Per-request timeout on Sume video polls: 15 s abort, then poll again
Give every poll GET its own 15 s AbortSignal.timeout so one hung read does not freeze a 30 s Wan or Seedance job loop. Reads per job per hour at 5, 10, 30 s.
- Agent Completion webhook retries: 10 attempts over about 3 hours
Sume tries an agent.run.terminal webhook up to 10 times. By the documented formula the nine waits add up to about 3 h 3 min, before jitter and Retry-After.
- AI video API billing units: per clip, per second, credits or tokens
Luma bills per generation, LTX per second, Runway and Vidu in credits, Google in tokens, MiniMax per second plus inputs, Sume in USD. Worked examples.
Written by Sume