Which Sume video models take 30 seconds? Filter /v1/videos/models
Seedance 2.5 and Wan 3.0 list 30 s in supported_durations. A 12-line Python script reads GET /v1/videos/models and prints every id that accepts your length.

Ask the catalog, not a blog post
Model limits change faster than documentation. Sume's video API exposes them at GET /v1/videos/models: each entry carries supported_durations (whole seconds), supported_resolutions, supported_aspect_ratios and the reference types it accepts. Read that list at runtime and a new 30-second model appears in your picker without a deploy.
As of the docs I read on 2026-10-05, several families reach 30 seconds while most stop at 15.
Duration limits in the docs (read 2026-10-05)
| Model id | Duration in seconds | Note |
|---|---|---|
| seedance-2.5 | 4 to 30 | 480p, 720p, 1080p |
| wan-3.0 | 2 to 30 | Audio and video references |
| h3-max-recast | 5 to 30 | One source video plus 1 to 4 person photos |
| minimax-h3 | 5 to 15 | Native 480p and 768p |
| gemini-omni-flash-1.1 | 3 to 10 | Native synced audio |
The script
It needs only the standard library. Pass the length you want as the first argument, for example python3 pick.py 30.
import json, os, sys, urllib.request
want = int(sys.argv[1]) if len(sys.argv) > 1 else 30
req = urllib.request.Request(
"https://api.sume.com/v1/videos/models",
headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"]},
)
with urllib.request.urlopen(req, timeout=30) as r:
models = json.load(r)["data"]
for m in models:
if want in (m.get("supported_durations") or []):
print(m["id"], m.get("supported_resolutions"))Then what
Once you pick an id, send it as model on POST /v1/videos with duration, and submit with an Idempotency-Key. A 30-second job is not a 30-second wait: the response carries a polling_url and you poll until completed. Some models are in the catalog only when their provider is configured (the docs say so for Motion Transfer), which is one more reason to filter live instead of hard-coding ids.
If your length is 31 seconds or more, no single job covers it. Plan two jobs and stitch them rather than asking one model for an unsupported value.
Sources
Related posts
More in Developers
- Which Sume video rows take video_url: Omni edit, Recast or Genjutsu
Three Sume rows take a source video_url: Gemini Omni edit ($0.125 a second at 720p), H3 Max Recast ($0.375 and up) and Genjutsu ($0.3975 and up). Pick by task.
- Which URL goes into video-captions after a trim: the new artf_
After video-trim, caption the new video_url from the trim result, not the source render. It is a new artifact on media.sume.com and a public HTTPS URL.
- Which video model takes 30 seconds? Filter the Sume catalog in Python
Ask GET /v1/videos/models which models accept duration 30 at 1080p instead of hard-coding ids. A short Python filter, and why Omni and Kling 3 drop out.
- Which video models accept 30 seconds on Sume: read the catalog first
Seedance 2.5, Wan 3.0, h3-max-recast and Genjutsu list 30 s on the Sume Video Router; MiniMax H3 stops at 15 s. Read the catalog before you set duration.
Written by Sume