Wan3.0 Reference-to-Video
- Reference images / reference videos / reference audio / files / web pages serve as material; the model interprets the intent automatically and generates the video
- Refer to the material in the prompt as “Image 1”, “Video 1” and “Audio 1”; the three material types are counted independently
promptand reference material: at least one of the two must be supplied- First and last frames are not accepted (
image_start/image_end): reference material and first-and-last frames are mutually exclusive. To strictly control where the picture starts and ends, use Wan3.0 Image-to-Video instead - 🔴 Reference videos count toward billing, reference images / reference audio / files / web pages are not billed
- Asynchronous processing mode, use the returned task ID to query status
- Generated video links are valid for 24 hours, please save them promptly
Billing
- Billing formula: billed duration = input video duration + output video duration, billed per second
- Resolution multiplier:
480p= 1x (baseline),720p= 2x,1080p= 4x - Reference images, reference audio, reference files and web page links are not billed
- When
durationis-1(smart duration), credits are pre-authorized at the30-second cap; once the task succeeds it is settled against the actual output duration and the difference is refunded automatically - Turning the
audiotrack on or off costs the same - Failed tasks are not billed, the frozen credits are refunded in full
Authorizations
##All endpoints require Bearer Token authentication##
Get API Key:
Visit the API Key Management Page to obtain your API Key
Add to request header:
Body
Model name, fixed to wan3.0-reference-video
wan3.0-reference-video "wan3.0-reference-video"
Text prompt for video generation. Chinese and English are supported, each Chinese character / letter counts as 1 character, maximum length 20000 characters; anything beyond that is truncated automatically (no error)
Material reference rules:
- Use "Image 1", "Image 2" to refer to the images at the matching positions in
image_urls(1-based) - Use "Video 1", "Video 2" to refer to the videos at the matching positions in
video_urls - Use "Audio 1", "Audio 2" to refer to the audio at the matching positions in
audio_urls - Images, videos and audio are counted independently, so "Image 1" and "Video 1" can both exist
- In English prompts write "Image 1", "Video 1", "Audio 1" (capitalised, with a space between the word and the number)
"The character in Video 1 holds Image 3 and plays a soft country folk tune on the chair in Image 4, saying: “What lovely sunshine today.”"
Array of reference image URLs, up to 10 images. They can supply subjects (people / animals / objects) or scene backgrounds; when a subject is included, each image should contain a single character
The array order matches "Image 1, Image 2, ..." in the prompt.
Image limits:
- Formats: JPEG, JPG, PNG (transparency not supported), BMP, WEBP
- Resolution: width and height in
[240, 8000]pixels - Aspect ratio: 1:8 ~ 8:1
- File size: up to
20MB
10Array of reference video URLs, up to 5 clips. The array order matches "Video 1, Video 2, ..." in the prompt
Duration limits:
1 ~ 15seconds per clip- 15 seconds in total at most
- Total reference video duration + output video duration must not exceed 30 seconds
🔴 Reference videos count toward billing: billed duration = input video duration + output video duration. Reference images, reference audio, files and web pages are not billed
Video limits:
- Formats: mp4, mov
- Resolution: width and height in
[240, 4096]pixels - Aspect ratio: 1:8 ~ 8:1
- Size per file: up to
100MB
5Array of reference audio URLs, up to 5 clips. The array order matches "Audio 1, Audio 2, ..." in the prompt
⚠️ Different semantics from Wan2.7: in Wan2.7, audio_urls carried a voice bound to a specific reference image / reference video; in Wan3.0 reference audio is standalone material referred to directly from the prompt as "Audio 1", and the model_params.voice_bindings voice-binding protocol is not supported. Rewrite accordingly when migrating from Wan2.7.
Duration limits:
1 ~ 15seconds per clip, 15 seconds in total at most- Reference audio is not billed
Audio limits:
- Formats: wav, mp3
- File size: up to
15MB
5Model extension parameters. file_url and link_url are mutually exclusive, pick one of the two
Duration of the generated video in seconds, defaults to 5
Accepted values:
- Any integer between
2and30 -1: smart duration, the model decides the output length from the prompt and the input material
How smart duration is billed: the output length cannot be known at submission time, so credits are pre-authorized at the 30-second cap; once the task succeeds it is settled against the actual output duration and the excess hold is released automatically. If your balance cannot cover the capped hold, pass an explicit number of seconds instead.
Extra constraint when reference videos are supplied:
- Total reference video duration + output video duration must not exceed 30 seconds
- Example: with 10 seconds of reference video in total,
durationcan be at most 20
5
Video resolution, defaults to 720p
Options:
480p: lower definition, lowest price (billing baseline)720p: standard definition, this is the default, 2x the price of480p1080p: high definition, 4x the price of480p
480p, 720p, 1080p "720p"
Video aspect ratio, defaults to adaptive
Options:
adaptive: adaptive, the model recommends a suitable aspect ratio based on the input material's ratio and the intent of the prompt, this is the default16:9(landscape),9:16(portrait),1:1(square),4:3,3:4
adaptive, 16:9, 9:16, 1:1, 4:3, 3:4 "16:9"
Whether the output video contains an audio track, defaults to true
Options:
true: the output video contains sound (voices, sound effects, background music), this is the defaultfalse: silent video output
Sound on and sound off cost the same, there is no extra charge.
true
Random seed, used to reproduce generation results, random by default
Notes:
- Range:
0~2147483647 - Fixing the seed reduces variation when iterating on prompts and improves reproducibility
0 <= x <= 214748364742
HTTPS callback URL for task completion
Callback timing:
- Triggered when the task is completed, failed, or cancelled
- Sent after billing confirmation is complete
Security restrictions:
- Only HTTPS protocol is supported
- Callbacks to private IP addresses are prohibited (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- URL length must not exceed
2048characters
Callback mechanism:
- Timeout:
10seconds - Up to
3retries after failure (at1/2/4seconds after failure respectively) - Callback response body format is consistent with the task query endpoint response format
- A 2xx status code is considered successful; other status codes trigger retries
"https://your-domain.com/webhooks/video-task-completed"
Response
Video generation task created successfully
Task creation timestamp
1761313744
Task ID
"task-unified-1774857405-abc123"
Actual model name used
"wan3.0-reference-video"
Specific task type
video.generation.task Task progress percentage (0-100)
0 <= x <= 1000
Task status
pending, processing, completed, failed "pending"
Video task details
Task output type
text, image, audio, video "video"
Usage and billing information