Minimax Hailuo 02 Pro
Playground
Try it on WavespeedAI!Minimax Hailuo 02 Pro produces ultra-clear 1080P AI videos with responsive, physics-aware rendering for complex physics-driven scenes. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
minimax/hailuo-02/pro
Hailuo 02 Pro is the premium endpoint on MiniMax’s framework. It delivers crisper 1080p frames, stronger physics, and cleaner temporal coherence than the Standard tier, while supporting both T2V (text-only) and I2V (image-guided, optional end frame).
Why upgrade to Pro
- Sharper 1080p output with richer micro-detail and color depth.
- Stronger motion & physics — debris, cloth, water, collisions, handheld shake feel natural.
- Cleaner temporal continuity — reduced flicker/warping; smoother camera moves and transitions.
- Better prompt adherence — follows complex scene + camera directions more reliably.
- Image-guided control — lock composition/style with a start image; add an end_image for guided transitions.
Parameters
| Name | Description |
|---|---|
| prompt* | Describe subjects, lighting, motion, and camera (works for T2V and I2V). |
| image | (Optional) First frame (JPG/PNG) to anchor composition & style. |
| end_image | (Optional) Target frame to steer the ending look/pose. |
| enable_prompt_expansion | Auto-refines the prompt and runs safety checks. |
Pricing
Fixed output in 5s and just $0.48 per run !
How to use (super short)
- Prompt (cinematic; add camera + lighting + motion).
- (Optional) image (+ end_image) for I2V control.
- Run, review, tweak prompt/seed, re-run.
Example prompts
- Low, wide tracking shot through a neon-lit market in the rain; steam, reflections, handheld vibe, shallow DOF, cinematic grade.
- Orbit around a medieval knight on a cliff at sunrise; cloth and hair in wind, lens flare, slow push-in to visor.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/minimax/hailuo-02/pro" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"duration": 6,
"enable_prompt_expansion": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| image | string | No | - | The model generates video with the picture passed in as the first frame.Base64 encoded strings in data:image/jpeg; base64,{data} format for incoming images, or URLs accessible via the public network. The uploaded image needs to meet the following conditions: Format is JPG/JPEG/PNG; The aspect ratio is greater than 2:5 and less than 5:2; Short side pixels greater than 300px; The image file size cannot exceed 20MB. | |
| end_image | string | No | - | - | The model generates video with the picture passed in as the first frame.Base64 encoded strings in data:image/jpeg; base64,{data} format for incoming images, or URLs accessible via the public network. The uploaded image needs to meet the following conditions: Format is JPG/JPEG/PNG; The aspect ratio is greater than 2:5 and less than 5:2; Short side pixels greater than 300px; The image file size cannot exceed 20MB. |
| duration | integer | No | 6 | 6 | The duration of the generated media in seconds. |
| enable_prompt_expansion | boolean | No | false | - | The model automatically optimizes incoming prompts to enhance output quality. This also activates the safety checker, which ensures content safety by detecting and filtering potential risks. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |