Wan 3.0 or MiniMax H3 for a 15-second ad: same 480p price

Wan 3.0 and MiniMax H3 are both $0.0625 a second at 480p on Sume, so a 15-second draft is $0.94 on either. They split on 1080p, ratios and audio.

5 min readSume
All posts

Wan 3.0 and MiniMax H3 both cost $0.0625 a second at 480p on Sume, so a 15-second draft is $0.9375 on either. The difference is above that: Wan reaches 1080p ($0.25 a second) and 30 seconds, with optional audio; H3 tops out at native 768p ($0.075 a second), stops at 15 seconds, always makes stereo audio, and takes 21:9.

Rates and limits are from the Video Router guide and Video Generation, read 2026-10-05. Both are billed at list times 1.25.

Side by side

Sume bills the provider list price times 1.25 and rounds the job up to the cent, so a one-second figure here is a rate, not a charge.

Wan 3.0 against MiniMax H3 on Sume (read 2026-10-05)
Specwan-3.0minimax-h3
Clip length2 to 30 s5 to 15 s
Resolutions480p, 720p, 1080p480p, 768p (2K and 4K are upscales)
Rate at 480p$0.0625$0.0625
Rate at the middle tier$0.125 at 720p$0.075 at 768p
Aspect ratios16:9, 4:3, 1:1, 3:4, 9:1621:9, 16:9, 4:3, 1:1, 3:4, 9:16
AudioYes, generate_audioStereo, always on
15-second clip at the middle tier$1.875$1.125

Which to pick

For a 15-second ad at the middle tier, H3 is $1.125 and Wan is $1.875. If a native 768p picture is enough and the ad is 5 to 15 seconds, H3 is the cheaper clip. If the plan includes 1080p, a clip under 5 seconds, or a 20 to 30 second cut, Wan is the only one of the two that can do it.

Run a 480p draft on both with the same prompt and compare. They cost the same, and the comparison tells you which motion style suits the product.

  • Need 21:9: H3.
  • Need to turn audio off: Wan.
  • Need 1080p or longer than 15 s: Wan.
  • Need the lowest per-second picture above 480p: H3.

Request

The same body works for both; change model and the middle-tier resolution.

import os, time, requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
payload = {
    "model": "minimax-h3",
    "prompt": "Product ad: a pair of running shoes on wet pavement at dawn, slow tracking shot",
    "duration": 15,
    "resolution": "480p",
    "aspect_ratio": "16:9",
}
job = requests.post("https://api.sume.com/v1/videos", headers=H, json=payload).json()
while True:
    time.sleep(30)
    s = requests.get(job["polling_url"], headers=H).json()
    if s["status"] in ("completed", "failed", "cancelled"):
        break
print(s["status"], s.get("unsigned_urls"), s.get("usage"))

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume