Wan3.0 Image-to-Video
- Pass
image_startto strictly set the video’s first frame; addimage_endto strictly set the last frame as well - Reference material is not accepted (reference videos / reference audio / files / web pages): first-and-last frames and reference material are mutually exclusive. For mixed references, use Wan3.0 Reference-to-Video instead
- At most 2 images (first frame + last frame). For 3 or more reference images, use Reference-to-Video
- 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-image-to-video
wan3.0-image-to-video "wan3.0-image-to-video"
First-frame image URL, used strictly as the first frame of the generated video. Required
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
"https://example.com/first_frame.jpg"
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)
Use it to describe the action, camera movement and visual changes expected between the first frame (or the first and last frames).
"A young girl's smile gradually turns into a big laugh, the camera slowly pushes in, and the background light shifts from cool tones to warm tones."
Last-frame image URL, used strictly as the last frame of the generated video. Optional
Constraint: must be used together with image_start, passing the last frame alone is not supported.
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
"https://example.com/last_frame.jpg"
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.
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-image-to-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