Skip to main content
POST
Generate video with Wan 3.0

Authorizations

Authorization
string
header
required

API key as a bearer token: Authorization: Bearer bpx_live_xxx

Body

application/json
prompt
string
required

Text description of the video, or the edit instruction when reference videos are supplied. In reference mode, address assets by order: "Image 1", "Video 1", "Audio 1".

aspect_ratio
enum<string>
default:16:9

Aspect ratio for text-to-video. With any image/video/audio input the frame adapts to the inputs and this is ignored.

Available options:
16:9,
9:16,
1:1,
4:3,
3:4
end_image
string

Optional last frame, used together with image (the first frame) to interpolate the video between the two frames. Same input forms as image.

generate_audio
boolean
default:true

Generate audio with the video (default true; no price impact).

image
string

Optional first frame for image-to-video. Provide a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Omit for text-to-video. Can't be combined with reference media.

length_seconds
integer
default:5

Output video length in seconds (2-30). With reference videos, input duration + output length must not exceed 30 seconds.

Required range: 2 <= x <= 30
reference_audios
string[]

Optional reference audio clips (up to 5; each 2-15s, 15s combined; WAV/MP3) that guide sound/voice. Free. Each item is a public audio URL or an uploaded-file URL from POST /v1/uploads. Can't be combined with image/end_image.

Maximum array length: 5
reference_images
string[]

Optional reference images (up to 10, free) that guide identity/style/scene in reference-to-video mode. Each item is a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Can't be combined with image/end_image.

Maximum array length: 10
reference_videos
string[]

Optional reference video clips (up to 5; each 2-15s, 15s combined; MP4/MOV, ≤50MB each) for editing, effect/camera replication, and extension. Each item is a public video URL or an uploaded-file URL from POST /v1/uploads (videos are passed by URL, not inlined). Free — only OUTPUT seconds are billed — but input video duration + length_seconds must not exceed 30. Can't be combined with image/end_image.

Maximum array length: 5
resolution
enum<string>
default:720p

Output resolution. Pricing varies by resolution — see resolution_pricing in GET /v1/models.

Available options:
480p,
720p,
1080p
seed
integer

Seed for reproducible generation. Omit for random.

Response

Job accepted.

id
string

Opaque job id — use it to poll status.

message
string
model
string
status
enum<string>

Lifecycle state. succeeded/failed/timeout are terminal.

Available options:
pending,
starting,
processing,
completing,
succeeded,
failed,
timeout