GuideVideo GenerationHailuo

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)

ParameterTypeRequiredDescription
modelstringYesModel name. Options: MiniMax-Hailuo-2.3, MiniMax-Hailuo-02, T2V-01-Director, T2V-01.
promptstringYesText description of the video (max 2000 characters). Supports camera control via directives such as [Truck left], [Push in], [Pan left].
durationintegerNoVideo duration in seconds. Default 6.
metadataobjectNoTask configuration metadata.
└─ prompt_optimizerbooleanNoWhether to automatically optimize the prompt (default true).
└─ resolutionstringNoVideo resolution. Options: 720P, 768P, 1080P.
└─ callback_urlstringNoCallback URL for asynchronous notifications.
└─ aigc_watermarkbooleanNoWhether 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)

FieldTypeDescription
idstringTask ID.
task_idstringTask ID (same as above).
statusstringInitial status, usually queued or processing.
modelstringModel used.
progressintegerGeneration progress (0-100).
created_atintegerTask 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

  1. 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 with task_id to get the final video link.
  2. Callback verification: After configuring callback_url, MiniMax sends a POST request; you must echo back the provided challenge value within 3 seconds to complete verification.
  3. Resolution limits: The MiniMax-Hailuo-2.3 and 02 models only support 768P for 10s videos.

On this page