Frame Budget — field notesField notes on the Wan 3.0 video API — sourced, dated, and corrected in public.

Wan 2.7 to Wan 3.0 — the diff card

Wan 2.7 to Wan 3.0 — the diff card

A one-page diff for anyone who already built against the previous generation. Only the rows that changed, and only the ones that change code or cost. Every figure here is a published constraint of the model, not a property of any interface built on it.

The rows that moved

Field Wan 2.7 Wan 3.0 Why it matters to an implementation
Resolution floor 720P 480P A draft costs a quarter of a final. Validators that reject 480P block the cheapest path.
Resolution ceiling 1080P 1080P Unchanged. There is no 4K tier in either generation.
Default resolution when omitted 1080P An omitted field selects the most expensive option, at 4× the 480P rate.
Frame rate 30 fps 30 fps Unchanged. Not 24. Timelines built at 24 will conform.
Widest ratio 16:9 16:9 Unchanged. There is no 21:9.
Single-generation length shorter 2–30 whole seconds Thirty seconds arrives as one continuous pass, not six clips stitched.
Video input counted against length input + output ≤ 30 s Over the ceiling the request is refused, not trimmed.
Video input billed billed at your output rate Reference video costs its own seconds on top of the output seconds.
Reference set smaller 10 images / 5 clips / 5 audio Cited by number inside the prompt: "Image 1", "Video 1".
Reference images cost free Ten images are free; one 15-second reference clip is the most expensive input you can attach.
Audio separate same pass as picture Turning audio off does not reduce the price. There is no second pass to skip.
Audio stems not returned Changing one sound means regenerating the pass.
Document input none PPT / PDF / sheet / Markdown / URL, ≤ 50 pages, ≤ 100 MB A capability the previous generation did not have at all.
Prompt ceiling shorter 20,000 characters Long enough to carry a shot list and the sound design in one prompt.
Weights Wan 2.2 was the last open flagship closed No published weights, no local deployment, no ComfyUI node.

The two families, and why they are exclusive

Wan 3.0's inputs fall into two groups, and a request may use one or the other, never both:

Sending both is rejected. The useful move is to block that combination client-side rather than let a user wait out a server-side failure.

The arithmetic worth memorising

billed_seconds = input_video_seconds + output_seconds
input_video_seconds + output_seconds <= 30

Both lines follow from published constraints. Together they mean an extension call costs about thirty billed seconds however you use it — the only variable is how many of those thirty come back as new footage. Feed in three seconds rather than twenty and the same bill buys nine times the new material.

Two states that are not the same state

A generation that failed and a result that expired have different causes and different fixes, and both are refunded in credits automatically with no ticket.

Expiry is the one people miss: an upstream result URL stops working twenty-four hours after the job finishes. Anything that hands a user that link directly will hand them a dead link tomorrow. Copy the finished file to your own storage on completion.

What did not change, despite what you may read

Sources

Every row above traces to the model vendor's own parameter documentation. The full specification table with the source link and check date on each row is published separately, and wan-3.run will run a request against the real model in a browser if you want to confirm the shape yourself — the first clip is free and prints the model ID it ran.

wan-3.run is an independent third-party interface built on Wan 3.0. It is not affiliated with, endorsed by, or sponsored by Alibaba Group or Alibaba Cloud.