Skip to main content
POST
Generate video with Wan 2.7

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 video is supplied (for example "change the video to an 8-bit pixel style").

aspect_ratio
enum<string>
default:16:9

Aspect ratio. Ignored when a start image or an input video already sets the frame.

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

Optional driving-audio track (MP3/WAV/OGG) for the generated video. Provide a public audio URL or an uploaded-file URL from POST /v1/uploads (passed by URL, not inlined). Ignored when generate_audio is false.

end_image
string

Optional end frame, used together with image (the start 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 start 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 video.

length_seconds
enum<integer>
default:5

Video length in seconds. Ignored for video editing, which inherits the input clip's length.

Available options:
5,
10,
15
reference_images
string[]

Optional reference images (up to 4, free) used only with video — they guide the edit, for example supplying the person or style to apply to the clip. Each item is a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads.

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

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

Available options:
720p,
1080p
video
string

Optional input video to edit (2-15s, MP4/MOV, ≤100MB). Supplying it switches the request to video editing: the model applies prompt to this clip. Provide a public video URL or an uploaded-file URL from POST /v1/uploads (videos are passed by URL, not inlined). Billed on the INPUT duration at the full per-second rate in addition to the output — estimate via POST /v1/cost. Can't be combined with image/end_image.

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