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.

4 min readSume
All posts

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.

7-second clip, default options, USD (Sume catalog read 2026-10-08, docs read 2026-10-09)
ModelAccepted secondsResolutionPer second7 s total
seedance-2.54-30720p$0.57787 x 0.5778 = $4.0446
seedance-24-15720p$0.3787 x 0.378 = $2.646
wan-3.02-30720p$0.1257 x 0.125 = $0.875
minimax-h35-15768p$0.0757 x 0.075 = $0.525
minimax-h3-max5-15768p$0.107 x 0.10 = $0.70
gemini-omni-flash-1.13-10720p$0.1257 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

All Developers posts

Written by Sume