Create Text-to-Video Task
Hailuo text-to-video API guide: generate videos from text with MiniMax-Hailuo models, camera-motion directives, resolution options, and callback setup.
(Hailuo Video)
Generate high-quality videos from text descriptions with the Hailuo video models (MiniMax-Hailuo). Supports precise camera control via the [directive] syntax.
Quick Start
Video generation is asynchronous. The whole flow takes three steps:
1. Submit the task → get a task_id
2. Poll the status → wait for status to become completed and return a public URL📌 Basics
- Endpoint:
POST /v1/video/generations - Authentication:
Bearer Token(Authorization: Bearer {{YOUR_API_KEY}}) - Content type:
application/json
📥 Request Parameters (Request Body)
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Model name. Options: MiniMax-Hailuo-2.3, MiniMax-Hailuo-02, T2V-01-Director, T2V-01. |
| prompt | string | Yes | Text description of the video (max 2000 characters). Supports camera control via directives such as [Truck left], [Push in], [Pan left]. |
| duration | integer | No | Video duration in seconds. Default 6. |
| metadata | object | No | Task configuration metadata. |
| └─ prompt_optimizer | boolean | No | Whether to automatically optimize the prompt (default true). |
| └─ resolution | string | No | Video resolution. Options: 720P, 768P, 1080P. |
| └─ callback_url | string | No | Callback URL for asynchronous notifications. |
| └─ aigc_watermark | boolean | No | Whether to add a watermark (default false). |
🎥 Camera Directives in Detail
Use the [directive] format in the prompt for precise camera control. Directives can be combined (e.g. [Pan left, Pedestal up]).
- Trucking/Pedestal:
[Truck left],[Truck right],[Pedestal up],[Pedestal down] - Pan/Tilt:
[Pan left],[Pan right],[Tilt up],[Tilt down] - Depth:
[Push in],[Pull out],[Zoom in],[Zoom out] - Special:
[Shake],[Tracking shot],[Static shot]
📤 Response
Status code: 200 OK (task created)
| Field | Type | Description |
|---|---|---|
| id | string | Task ID. |
| task_id | string | Task ID (same as above). |
| status | string | Initial status, usually queued or processing. |
| model | string | Model used. |
| progress | integer | Generation progress (0-100). |
| created_at | integer | Task creation timestamp. |
📝 Request Example
{
"model": "MiniMax-Hailuo-2.3",
"prompt": "A kitten running through the forest, [Push in], then [Pan left]",
"duration": 6,
"metadata": {
"prompt_optimizer": true,
"resolution": "1080P",
"callback_url": "https://your-server.com/callback"
}
}💡 Developer Tips
- Asynchronous flow: This endpoint is asynchronous — a successful call only means the task was created. Receive push notifications via
callback_url, or use the query endpoint withtask_idto get the final video link. - Callback verification: After configuring
callback_url, MiniMax sends a POST request; you must echo back the providedchallengevalue within 3 seconds to complete verification. - Resolution limits: The
MiniMax-Hailuo-2.3and02models only support768Pfor 10s videos.
Get Video Generation Task Status
Query Hailuo video task status by task_id: poll progress, state, and the final video download URL, with response fields, cURL example, and status codes.
Create Video Generation Task
Veo image-to-video API guide: generate video from a first-frame image and prompt using veo-3.1 and veo-3.0 models, with duration, resolution, and image specs.