Wan 3.0
Configurable fields, supported values, examples, and pricing for wan-3.0.
Wan 3.0 is currently in official invite-only testing. Availability for your account is determined by the model list API.
Model ID
wan-3.0
Use this public model ID in every request. Do not send an internal model name or provider prefix.
Capabilities
| Capability | Supported value |
|---|---|
| Text-to-video | Yes |
| Image-to-video | Yes |
| Multi-image / reference video | Yes |
| Start/end frames | Yes |
| Motion transfer | No |
| Audio input | Yes |
| Generated audio | Yes; enabled by default |
| Prompt enhancement | extra_body.prompt_extend; enabled by default |
| Resolution | 480p, 720p, 1080p; default 1080p |
| Aspect ratio | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16; default adaptive |
Duration (seconds) | Any integer from 2 to 30, or -1 for automatic; default 5 |
| Frame rate | Fixed at 30 fps |
adaptive lets the model select an aspect ratio from the prompt and reference assets. For production integrations, set resolution, aspect_ratio, and seconds explicitly so future default changes do not affect output.
Configurable fields
| Field | Required | Notes |
|---|---|---|
model | Yes | Must be wan-3.0. |
prompt | Yes | Describe the content, subject, action, camera movement, and sound in Chinese or English. Maximum 20000 characters; upstream truncates excess text. |
seconds | No | Without video input: integer from 2 to 30, or -1 to let the model decide. Defaults to 5. With video input, input and output durations combined cannot exceed 30 seconds. |
input_reference | No | First-frame image URL. Use only one of this field, image, or extra_body.first_frame_url. |
image | No | Alias for a first-frame image URL. New integrations may consistently use input_reference. |
size | No | Legacy compatibility field. Prefer extra_body.resolution and extra_body.aspect_ratio. |
extra_body.resolution | No | 480p, 720p, or 1080p. Defaults to 1080p. |
extra_body.aspect_ratio | No | adaptive, 16:9, 4:3, 1:1, 3:4, or 9:16. Defaults to adaptive. |
extra_body.audio | No | Generate audio when true, or a silent video when false. Defaults to true. |
extra_body.media | No | Complete media array. Each item contains type and url; see the limits below. |
extra_body.first_frame_url | No | First-frame image URL. Use only one of the three first-frame fields. |
extra_body.last_frame_url | Conditional | Last-frame image URL; a first-frame field is also required. |
extra_body.reference_image_urls | No | Up to 10 image URLs for subject, scene, or style reference. These do not define the first frame. |
extra_body.reference_video_urls | No | Up to 5 video URLs for action, camera, or overall video reference; 15 seconds total. |
extra_body.audio_url | No | One reference audio URL for sound or audiovisual synchronization. Keep audio enabled when using it. |
extra_body.reference_audio_urls | No | Up to 5 reference audio URLs; 15 seconds total. |
extra_body.seed | No | Integer random seed from 0 to 2147483647. |
extra_body.prompt_extend | No | Enable prompt enhancement. Boolean; defaults to true and may increase latency. |
extra_body.watermark | No | Add a watermark when true. Defaults to false. |
Only send the public extension fields listed above. Reference assets must be URLs that the service can access, not local paths, authenticated page URLs, or expired signed URLs.
Media types and limits
media[].type | Count / duration | Format and size |
|---|---|---|
first_frame | Up to 1 image | JPEG, JPG, PNG without alpha, BMP, or WEBP; each side 240-8000 px; ratio at most 8:1; up to 20 MB |
last_frame | Up to 1 image; requires first_frame | Same image limits as first_frame |
reference_image | Up to 10 images | Same image limits as first_frame |
reference_video | Up to 5 clips; each 1-15 seconds and 15 seconds total | MP4 or MOV; each side 240-4096 px; ratio at most 8:1; up to 100 MB each |
reference_audio | Up to 5 clips; each 1-15 seconds and 15 seconds total | WAV or MP3; up to 15 MB each |
file | Up to 1; cannot be combined with link | DOCX, DOC, XLSX, XLS, PPTX, PPT, PDF, TXT, KEY, PAGES, NUMBERS, or MD; up to 100 MB and 50 pages where applicable |
link | Up to 1; cannot be combined with file | Public HTTP/HTTPS page that does not require sign-in |
Reference images, videos, audio, files, and links cannot be combined with first_frame or last_frame in the same request. Images may use HTTP/HTTPS URLs, temporary Alibaba Cloud OSS URLs, or data:{MIME_type};base64,{base64_data}. Other media must use a service-accessible URL.
Prompt enhancement
Use extra_body.prompt_extend to control the officially documented prompt enhancement behavior. Do not send prompt_enhance, enhance_prompt, prompt_optimization, enable_thinking, think_level, thinking_level, or reasoning_effort; these fields are not part of the stable Wan 3.0 API contract.
Generation modes
| Mode | Reference assets |
|---|---|
| Text-to-video | Do not send reference assets. |
| First-frame image-to-video | Send one of input_reference, image, or extra_body.first_frame_url. |
| Start/end-frame video | Send a first-frame field and extra_body.last_frame_url. |
| Multi-image reference | Send extra_body.reference_image_urls. |
| Reference-video generation | Send extra_body.reference_video_urls. |
| Reference-audio generation | Send extra_body.audio_url; it can be combined with image or video references. |
| File reference | Add one media item with type: "file". |
| Web-page reference | Add one media item with type: "link"; the page must be publicly accessible. |
First-frame images and reference images have different semantics. A first-frame field constrains the opening frame; reference_image_urls provides content guidance only. Do not pass an image array to input_reference for multi-image reference generation.
Text-to-video example
curl -X POST 'https://silkdock.ai/v1/videos/generations' \
-H 'Authorization: Bearer $SILKDOCK_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "wan-3.0",
"prompt": "A vintage convertible follows a coastal road at dawn as the camera descends slowly, with ocean waves and wind",
"seconds": 10,
"extra_body": {
"resolution": "1080p",
"aspect_ratio": "16:9",
"audio": true,
"prompt_extend": true
}
}'First-frame example
{
"model": "wan-3.0",
"prompt": "The subject turns and runs forward as the camera pulls back smoothly; preserve the subject's appearance",
"input_reference": "https://example.com/start.png",
"seconds": 8,
"extra_body": {
"resolution": "1080p",
"aspect_ratio": "16:9",
"audio": true
}
}Start/end-frame example
{
"model": "wan-3.0",
"prompt": "Transition naturally from daylight to a city at night while the camera slowly moves forward",
"seconds": 10,
"extra_body": {
"resolution": "1080p",
"aspect_ratio": "16:9",
"first_frame_url": "https://example.com/day.png",
"last_frame_url": "https://example.com/night.png",
"audio": true
}
}Multimodal reference example
{
"model": "wan-3.0",
"prompt": "Use the reference subject and setting, follow the reference video's camera rhythm, and create a cinematic short with ambient sound",
"seconds": 15,
"extra_body": {
"resolution": "1080p",
"aspect_ratio": "16:9",
"reference_image_urls": [
"https://example.com/character.png",
"https://example.com/location.png"
],
"reference_video_urls": [
"https://example.com/camera-motion.mp4"
],
"audio_url": "https://example.com/ambient.wav",
"audio": true
}
}Pricing
Wan 3.0 is billed by the actual generated duration: resolution price/second * generated seconds. The rates below use the Alibaba Cloud international Singapore-region standard price, not a converted mainland-China RMB price.
| Resolution | USD/second | 10-second example |
|---|---|---|
480p | $0.050000 | $0.50 |
720p | $0.100000 | $1.00 |
1080p | $0.200000 | $2.00 |
The rate is the same for audio: true and audio: false. When seconds is -1, billing uses the video's actual generated duration.
Check and download a task
Creating a video returns a task ID. Poll the status endpoint until the task is completed or failed:
curl 'https://silkdock.ai/v1/videos/<VIDEO_ID>' \
-H 'Authorization: Bearer $SILKDOCK_API_KEY'Download content only after completion:
curl -L 'https://silkdock.ai/v1/videos/<VIDEO_ID>/content' \
-H 'Authorization: Bearer $SILKDOCK_API_KEY' \
-o result.mp4Poll every 3-5 seconds in production and set an application-level timeout. Stop polling on failed and record the task ID and error details.
Integration constraints
- Use the documented lowercase values, such as
1080pandadaptive. - Do not send
last_frame_urlwithout a first-frame field. - Do not send
audio_urlwhenaudioisfalse. - Undocumented extension fields, reference-asset count limits, formats, and file sizes are not part of the stable public contract.
- A
403usually means the account does not have access,400indicates invalid parameters or assets, and429indicates a rate or quota limit.
See the official Wan 3.0 API reference and international model and pricing page. Parameter names and defaults follow the API reference; prices follow the international page.
Last updated on