120-second AI video API: four 30 s jobs on Wan 3.0 and their cost

A two-minute AI video on Sume is four 30-second jobs. Wan 3.0 totals $7.52 at 480p, $15.00 at 720p and $30.00 at 1080p. Plan the scenes and cap the spend.

5 min readSume
All posts

A 120-second AI video on Sume is four 30-second jobs. On Wan 3.0 the four jobs cost $7.52 at 480p, $15.00 at 720p and $30.00 at 1080p. Seedance 2.5 can make the same four 30-second jobs, but at 720p they are about $69.36.

Every job is a separate request, so a two-minute piece is a four-scene plan joined in an editor.

What does two minutes cost?

Sume bills the provider list times 1.25 and rounds each job up to the cent.

120 seconds as four 30 s jobs on Sume, billed, read 2026-10-04
ModelTierPer 30 s jobFour jobs
wan-3.0480p$1.88$7.52
wan-3.0720p$3.75$15.00
wan-3.01080p$7.50$30.00
seedance-2.5720p$17.34$69.36

Is it worth generating two minutes of video at all?

Often a two-minute piece is mostly cutaways. If only 40 seconds of it needs motion, generate that and cover the rest with stills and voice-over. A 30-second job at 720p is $3.75 and a 5-second one is $0.63, so shorter clips make the budget much easier to hold.

How do you plan four scenes?

Give each 30-second job one location and one action, and change location at each seam. Use the same input_references for characters, and fix aspect ratio and resolution across the set. If a scene fails, replace only that job: a retake of one 30-second scene at 720p costs $3.75, not $15.00.

  • Draft every scene at 5 seconds and 480p first: $0.32 each, $1.28 for four.
  • Store the approved clip URL for each scene as you go.
  • Use one idempotency key per scene and version.

What does the request loop look like?

Four jobs, keys from the environment.

import os, requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
scenes = ["Dawn in the mountains", "A village market wakes",
          "The river at midday", "Lanterns at night"]
for i, scene in enumerate(scenes, 1):
    r = requests.post(
        "https://api.sume.com/v1/videos",
        headers={**H, "Idempotency-Key": f"travel-120-{i}-v1"},
        json={"model": "wan-3.0", "prompt": scene, "duration": 30,
              "resolution": "720p", "aspect_ratio": "16:9"},
    )
    r.raise_for_status()
    print(i, r.json()["id"])

How do you cap the spend?

Sume reserves the billed price from your workspace balance when you submit each job. Check the balance before a loop, and read usage.cost on the first completed scene to confirm the rate before you submit the other three.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume