Billed on one dimension — resolution unit price × billed duration in seconds.
Resolution
Unit price
480p
$0.068 / second
720p
$0.140 / second
1080p (default)
$0.280 / second
Both the input video and the output video are billed, by video seconds:
billed duration = input video duration + output video duration
Input video duration — the actual duration, in seconds, of the video supplied in reference_videos; a request with no video input contributes 0 seconds here
Output video duration — the duration, in seconds, of the video that was successfully generated
A failed task is not billed
audio: false does not reduce the price
Playground Setup
Beta
Analyzing model...
Output
Beta
Waiting for Input
README for Wan 3.0 Video Prime
Overview
Generate videos with the W3.0-Prime all-in-one model (w3.0-video-prime) — the faster tier of w3.0-video. A single generation endpoint covers three capability sets — the media fields you send decide which one runs:
Media fields sent
Capability
none (prompt only)
Text-to-video
first_frame and/or last_frame
Image-to-video (keyframe mode)
reference_images / reference_videos / reference_audios / file / link
Reference-to-video (reference mode)
Keyframe mode and reference mode are mutually exclusive — a single request cannot mix fields from both sides.
Key Features
Text-to-video, keyframe-driven image-to-video, and multi-modal reference-to-video in one endpoint
Three resolutions (480p / 720p / 1080p), case-insensitive
Six aspect ratios plus adaptive, which derives the ratio from intent and input media
2–30 second duration, or -1 for smart duration picked by the model
Audio output on by default — pricing is identical whether audio is on or off
Image inputs accept both URL and Base64; video / audio inputs are URL only
Reproducible generation with seed
Prompt rewriting on by default — set prompt_extend: false to stay close to the literal prompt text
Prompt Reference Syntax
In reference mode the prompt may refer to inputs by index — "Image 1" or "Video 1". Images, videos and audios are counted separately per field, in array order: the first item of reference_images is "Image 1", the first item of reference_videos is "Video 1".
Image Input Formats
first_frame, last_frame and every item of reference_images accept three shapes, and the three may be mixed within one reference_images array:
A public HTTP/HTTPS URL
A data URI — data:image/png;base64,iVBORw0KGgo...
A bare Base64 string with no prefix
reference_videos and reference_audios are URL only — Base64 is not accepted there, because a 100MB video would inflate the request body to roughly 133MB.
Output Ownership
All content generated through this API belongs entirely to the user. MuleRouter claims no ownership rights over any outputs.
Example Requests
Text-to-Video
{
"prompt": "A kitten runs across a rooftop under the moonlight, city neon flickering in the distance, cinematic quality, smooth camera movement.",
"resolution": "1080p",
"ratio": "16:9",
"duration": 5
}
First-Frame Image-to-Video
{
"prompt": "A graffiti youth comes alive from a concrete wall and performs a fast-paced rap under a lone street lamp at night.",
"first_frame": "https://example.com/rap.png",
"resolution": "720p",
"duration": 5
}
First and Last Frame
{
"prompt": "A young girl gradually shifts from a smile to laughter, the camera slowly pushes in, background light warms from cool to warm tones.",
"first_frame": "https://example.com/first.png",
"last_frame": "https://example.com/last.jpg",
"resolution": "1080p",
"ratio": "16:9",
"duration": 5
}
First Frame via Base64
{
"prompt": "The scene comes alive, gentle camera push-in",
"first_frame": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"resolution": "720p",
"duration": 5
}
Reference-to-Video (Multi-Subject)
{
"prompt": "Video 1 holds Image 3, plays a soothing country folk song on the chair from Image 4, and says, 'The sunshine is so nice today.' Image 1, holding Image 2, walks past Video 1 and places Image 2 on the table.",
"reference_images": [
"https://example.com/girl.jpg",
"https://example.com/object2.png",
"https://example.com/object3.png",
"https://example.com/chair4.png"
],
"reference_videos": ["https://example.com/role.mp4"],
"resolution": "720p",
"ratio": "adaptive",
"duration": 10
}
Smart Duration with Silent Output
{
"prompt": "Cinematic drone shot over a snowy mountain range",
"duration": -1,
"audio": false,
"seed": 42
}
Literal Prompt (Rewriting Disabled)
{
"prompt": "A golden retriever running through a field of sunflowers at sunset, cinematic lighting, camera slowly pushes in, warm rim light on the fur",
"resolution": "1080p",
"ratio": "16:9",
"duration": 5,
"prompt_extend": false
}
File and Link Inputs
Both fields are optional single HTTP/HTTPS URL strings and belong to reference mode. They cannot be combined with first_frame or last_frame, and file and link cannot be sent together.
These combinations are mutually exclusive in the public contract and JSON Schema. The gateway does not synchronously reject combinations involving file or link; it forwards them to the upstream service, which reports incompatibility through the asynchronous task error.
File URL
file supports docx, doc, xlsx, xls, pptx, ppt, pdf, txt, key, pages, numbers, and md files up to 100MB. PDF, DOCX, DOC, PPTX, PPT, KEY, and PAGES files are limited to 50 pages.
{
"prompt": "Create a product video from this brief",
"file": "https://example.com/product-brief.pdf",
"resolution": "1080p",
"duration": 10
}
Link URL
link must point to a public web page that is accessible without authentication.
{
"prompt": "Create a news summary video from this article",
"link": "https://example.com/articles/product-launch",
"resolution": "1080p",
"duration": 10
}
Pricing
Billed on one dimension — resolution unit price × billed duration in seconds.
Resolution
Unit price
480p
$0.068 / second
720p
$0.140 / second
1080p (default)
$0.280 / second
Both the input video and the output video are billed, by video seconds:
billed duration = input video duration + output video duration
Input video duration — the actual duration, in seconds, of the video supplied in reference_videos; a request with no video input contributes 0 seconds here
Output video duration — the duration, in seconds, of the video that was successfully generated
A failed task is not billed
audio: false does not reduce the price
Parameters
file
Type: string
Reference file URL. HTTP/HTTPS only; at most one file. Supported formats: docx, doc, xlsx,
xls, pptx, ppt, pdf, txt, key, pages, numbers, md. Maximum size is 100MB. The upstream
specification limits PDF, DOCX, DOC, PPTX, PPT, KEY, and PAGES files to 50 pages.
Mutually exclusive with link and keyframe-mode fields.
link
Type: string
Public web page URL. HTTP/HTTPS only; the page must be accessible without authentication.
At most one link. Mutually exclusive with file and keyframe-mode fields.
seed
Type: integer · Default: null
Random seed [0, 2147483647]. null or omitted for an auto-generated seed.
audio
Type: boolean · Default: true
Whether the output video includes an audio track. Pricing is identical either way.
ratio
Type: Enum · Default: "adaptive"
Aspect ratio (case-insensitive). adaptive derives the ratio from intent and input media.
Possible values: 16:9, 4:3, 1:1, 3:4, 9:16, adaptive
prompt
Type: string · Default: null
Text prompt describing the desired video. Up to 20000 characters — over-length prompts are
not rejected, they are
passed through and truncated upstream. Required unless a keyframe or reference input is given.
duration
Type: Enum · Default: 5
Video duration in seconds, 2–30 inclusive, or -1 for smart duration
(upstream picks the length from intent / content / media). With video input, the combined
input + output duration must be ≤30s — validated upstream.
Last-frame image, strictly used as the last frame of the video. Same input formats and
upstream constraints as first_frame. Keyframe mode; cannot be combined with
reference-mode fields.
First-frame image, strictly used as the first frame of the video. Accepts a public
HTTP/HTTPS URL, a data:image/<type>;base64,... data URI, or a bare Base64
string. Keyframe mode; cannot be combined with reference-mode fields.
Upstream format requirements (validated upstream, not by this gateway):
JPEG/JPG/PNG (no alpha)/BMP/WEBP, side 240–8000px, ratio ≤8:1, ≤20MB.
prompt_extend
Type: boolean · Default: true
Whether upstream rewrites (expands) the prompt before generation. Enabled by default:
rewriting usually improves motion and cinematography on short prompts. Set to false to
keep generation close to the literal prompt text.
reference_audios
Type: list<string uri>
Reference audios, up to 5, total duration ≤15s. URL only — Base64 is not accepted here.
Reference mode; cannot be combined with keyframe fields.
Upstream format requirements: wav/mp3, each 1–15s, ≤15MB. This gateway checks only the
recognizable file extension (.wav / .mp3); extensionless URLs are passed through.
reference_images
Type: list<string>
Reference images, up to 10. Each item accepts a public HTTP/HTTPS URL, a
data:image/<type>;base64,... data URI, or a bare Base64 string; the three
shapes may be mixed within one array. Referenced in prompt as "Image 1", "Image 2", …
in array order. Reference mode; cannot be combined with keyframe fields.
Upstream format requirements: JPEG/JPG/PNG (no alpha)/BMP/WEBP, side 240–8000px,
ratio ≤8:1, ≤20MB.
reference_videos
Type: list<string uri>
Reference videos, up to 5, total duration ≤15s. URL only — Base64 is not accepted
here (a 100MB video would inflate the request body to ~133MB). Referenced in prompt
as "Video 1", "Video 2", … in array order. Reference mode; cannot be combined with
keyframe fields.
Upstream format requirements: mp4/mov, side 240–4096px, ratio ≤8:1, each 1–15s, ≤100MB.
This gateway checks only the recognizable file extension (.mp4 / .mov);
extensionless URLs such as signed links are passed through.
Input Requirements
Field
Formats
Size
Other
first_frame / last_frame / reference_images
JPEG, JPG, PNG (no alpha), BMP, WEBP
≤ 20MB
side 240–8000px, ratio ≤ 8:1
reference_videos
mp4, mov
≤ 100MB
side 240–4096px, ratio ≤ 8:1, each 1–15s and ≤ 15s total