Wan 3.0 input video plus output capped at 30 seconds: Sume plan
Alibaba caps Wan 3.0 input video plus output at 30 seconds. What that means for reference_video_urls and duration when you call wan-3.0 on Sume.

When you send a reference video to Wan 3.0, the seconds of that video count against the 30-second ceiling: Alibaba's API reference says input plus output must total 30 seconds or less, so a 10-second reference clip leaves 20 seconds for the new video. On Sume the catalog id is wan-3.0, which accepts 2 to 30 seconds, so the safe plan is to subtract your reference seconds from 30 before you pick duration.
This post separates what Alibaba states on its own page from what Sume's docs state. Alibaba's rule comes from the Wan3.0 Video Generation API Reference, read on 2026-10-02. Sume's side comes from Video generation and Video Router.
What exactly does Alibaba say about input and output seconds?
The reference describes two duration regimes. With no video input, duration is an integer from 2 to 30 seconds, default 5, and -1 asks the model to recommend a length. With video input, the total of input seconds and output seconds must be 30 or less.
Reference videos are limited separately: up to 5 clips, each 1 to 15 seconds, with a combined length of 15 seconds or less, at 16 fps or higher, 240 to 4096 pixels per side, up to 100 MB per clip. So there are two ceilings that apply at once, 15 seconds of reference footage and 30 seconds of input plus output.
| Case | Rule from Alibaba's page |
|---|---|
| No video input | duration 2 to 30 seconds, default 5 |
| With video input | input seconds + output seconds at most 30 |
| Reference video clips | at most 5 clips, 1 to 15 seconds each |
| Reference video total | 15 seconds or less combined |
| Smart duration | duration set to -1 |
What does Sume document for wan-3.0 durations?
Sume's docs say wan-3.0 accepts 2 to 30 seconds and that audio and video references are honored by Wan 3.0. They also tell you to read capabilities from GET /v1/video-router/models rather than assume one envelope for every model.
What the Sume pages I read do not state is the combined input-plus-output rule. I will not claim Sume enforces it, or that it does not. Treat Alibaba's rule as the upstream limit, plan to it, and let a failed job tell you more if you probe the edge. Sume's request table describes duration as an integer number of seconds and does not mention Alibaba's -1 smart value, so send an explicit integer.
How do I budget the output seconds before submitting?
Add up your reference clip seconds, subtract from 30, and cap duration at the smaller of that number and your creative target. The helper below does the arithmetic and submits through the Video Router with flat reference_video_urls, which is the shape that route documents. Use public HTTPS URLs only.
import os, requests
def max_output(ref_seconds):
if sum(ref_seconds) > 15 or len(ref_seconds) > 5:
raise ValueError("Alibaba: refs total <= 15 s, <= 5 clips")
return min(30, 30 - sum(ref_seconds))
refs = {"https://example.com/ref1.mp4": 10}
want = 24
duration = min(want, max_output(list(refs.values())))
r = requests.post(
"https://api.sume.com/v1/video-router/generate",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
"Idempotency-Key": "wan-ref-001"},
json={"model": "wan-3.0", "prompt": "Same street, dusk, slow push-in",
"reference_video_urls": list(refs), "duration": duration,
"resolution": "720p", "mode": "async"},
)
print(duration, r.status_code, r.json())What happens to the money if I get it wrong?
Sume reserves the cost on submit at provider list times 1.25 and reports the billable amount in usage.cost. A request that is refused up front reserves nothing for a video that never runs, but a request that is accepted and then fails upstream is a job outcome you read from the job, not a guess. Do not resubmit blindly: send an Idempotency-Key, and a replay returns the original job rather than starting a second paid one.
If you want a longer final video than the arithmetic allows, the honest options are a shorter reference clip, a shorter output that you extend with a second generation, or assembling clips on a timeline. Sume does not document a video-extension parameter for Wan 3.0, and Alibaba lists extension as a separate capability on its blog.
What should I check first when a Wan 3.0 reference job fails?
Run a catalog check before you submit for the per-model fields, then keep the combined-seconds rule in your own validator since it is not a catalog field.
- Reference clips: 5 or fewer, 15 seconds combined, 16 fps or higher.
- Input seconds plus
durationis 30 or less. - Every URL is a public HTTPS URL; Sume's troubleshooting notes say unreachable references are a common failure, and its error table lists
input_media_unreachable. - The model id is the bare catalog id
wan-3.0, not an org-prefixed one.
Sources
Related posts
More in Models
- An OpenRouter-compatible video API: sume/auto or a pinned model
Sume's POST /v1/videos follows OpenRouter's video generation API field for field. Let sume/auto pick the model, or pin a catalog id like seedance-2.5.
- Image generation API with reference images: POST /v1/images
Send a prompt plus public HTTPS reference images to Sume's POST /v1/images. Pin a catalog model or send sume/auto; the catalog lists each model's limits.
- Video 1.0 and Image 1.0 are retiring soon: move to sume/auto
Sume Video 1.0 and Image 1.0 are retiring soon and already run as aliases for the Auto path. New integrations call /v1/videos or /v1/images with sume/auto.
- Music generation API: the Sume Music Router with Lyria 3.5
Sume's Music Router turns a text prompt into a track via POST /v1/music-router/generate. sume/music-auto picks the engine, Lyria 3.5 today.
Written by Sume