Skip to main content
POST
Generate video with MiniMax H3

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.

aspect_ratio
enum<string>
default:16:9

Aspect ratio for text-to-video. Ignored (adaptive) when any image or reference input sets the frame.

Available options:
21:9,
16:9,
9:16,
1:1,
4:3,
3:4
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.

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 reference media.

length_seconds
integer
default:5

Output video length in seconds (4-15).

Required range: 4 <= x <= 15
reference_audios
string[]

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

Maximum array length: 3
reference_images
string[]

Optional reference images (up to 5) that guide identity/style 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: 5
reference_videos
string[]

Optional reference video clips (up to 3; each 2-15s, 15s combined; MP4/WebM, ≤30MB each) that guide motion/identity in reference-to-video mode. Each item is a public video URL or an uploaded-file URL from POST /v1/uploads (videos are passed by URL, not inlined). Billed at the model's per-second rate on the INPUT duration in addition to the output — estimate via POST /v1/cost. Can't be combined with image/end_image.

Maximum array length: 3

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