Skip to main content
POST

Authorization

string
required
All endpoints require Bearer Token authenticationGet your API Key from the API Key Management Page:

Generation Modes

Model name is fixed to wan3.0-video. Modes are selected by request fields:

Request Parameters

Basics

string
required
Fixed value: wan3.0-video
string
Text description. Required unless media fields are provided (at least one of prompt or media).
  • Max 20,000 characters; overflow is truncated automatically (no error)
  • In reference mode, use “图N / 视频N / 音频N” to address assets; indices follow order within each media type
string
default:"1080P"
Output resolution (case-insensitive)
  • 480P
  • 720P
  • 1080P (default, highest price)
Omitting resolution bills at 1080P. Pass 480P or 720P explicitly when cost matters.
string
default:"adaptive"
Aspect ratio. aspect_ratio is also accepted.
  • adaptive (default)
  • 16:9 / 4:3 / 1:1 / 3:4 / 9:16
integer
default:"5"
Duration in seconds, 2–30, default 5
duration: -1 (smart duration) is not supported. Pass an integer from 2 to 30.
With reference video input, total input video duration + output duration must be ≤ 30 seconds.
boolean
default:"true"
Whether the output includes an audio track. Default true. Price is the same with or without audio.
integer
Random seed in [0, 2147483647]
boolean
default:"false"
Whether to add a watermark. Default false
string
How bare image_urls are classified:
  • frame — first/last frame family
  • reference — reference family
If omitted, classification is automatic (see mutual exclusion rules).

Media inputs

string[]
Image URL array. Role assignment follows mutual exclusion rules.Public URL or Base64 (data:image/png;base64,...).
object[]
Images with explicit roles. Each item:
  • url: image address
  • role: first_frame / last_frame / reference_image (common aliases accepted)
string[]
Reference videos, up to 5 clips; each 1–15s, total ≤ 15s
string[]
Reference audio, up to 5 clips; each 1–15s, total ≤ 15s
string
Single reference audio (single-value form of audio_urls)
string
Reference document URL, at most 1. Cannot be combined with link_url.Formats include docx / doc / xlsx / xls / pptx / ppt / pdf / txt / key / pages / numbers / md, ≤100MB, ≤50 pages.
Public web page URL, at most 1. Login-free pages only. Cannot be combined with file_url.

Mutual Exclusion of Media Families

Media belongs to one of two families and must not be mixed (validated before submit → 400, no task, no charge):

How bare image_urls are assigned

  1. If generation_type is set → use it (frame / reference)
  2. Else if the request already has reference-family inputs (video_urls / audio_urls / audio_url / file_url / link_url) → treat as reference_image
  3. Else → frame family: first item first_frame, second last_frame (same as wan2.7)
Use image_with_roles when you need explicit control.

Media limits and formats

Request Examples

Text-to-video

First-frame video

First + last frame

Or with image_with_roles:

Multi-modal reference

With video_urls present, bare image_urls auto-classify as reference images; setting generation_type: "reference" is clearer.

File reference video

prompt may be omitted; generation is driven by the document:

Web page reference video

Billing

Per second × resolution (aligned with official list price). Audio on/off does not change price:
  • Default is 1080P (most expensive); pass 480P / 720P when cost-sensitive
  • Billable seconds = requested duration
  • audio: true/false does not affect price

Limits and Notes

Common Errors

All are sync 400 (no task, no charge):

Response

integer
Status code; 200 on success
array
Response data array
Query resultsVideo generation is async. Poll Get Task Status or GET /v1/videos/generations/{task_id}.Recommended interval 5–10 seconds; generation typically takes 1–5 minutes. On success, use URLs in result.videos.