Minimax Hailuo 2.3 T2V Standard
Playground
Try it on WavespeedAI!Hailuo 2.3 is a text-to-video model creating physics-aware 768p videos with 2.5× efficiency and 85% complex instruction response rate. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Hailuo 2.3 Standard
Hailuo 2.3 Standard is the latest generation of AI video creation models, featuring advanced physics rendering and cinematic-grade scene transitions. Built for both creators and professionals, it combines high fidelity, reliability, and cost efficiency, outperforming many closed or premium video generation systems.
🎬 Why It Looks Great
- Flexible Duration Options — Generate 6-second or 10-second cinematic clips.
- Realistic Motion & Physics — Handles complex dynamics such as water flow, debris movement, and camera shake with physical consistency.
- Seamless Scene Transitions — Produces smooth, natural visual transitions without abrupt cuts.
- Reliable Consistency — Reproducible results across identical prompts for precise creative control.
- Professional Quality, Affordable Price — Achieve production-level results at a fraction of competitors’ cost.
⚙️ Limits and Performance
- Output resolution: fixed at 768p
- Maximum clip length per job: 10 seconds
- Duration options: 6 s or 10 s
- Processing time: approximately 30 – 90 seconds per clip (depending on scene complexity and queue load)
💰 Pricing
| Duration | Cost per Job | Max Resolution |
|---|---|---|
| 6 seconds | $0.23 | 768p |
| 10 seconds | $0.56 | 768p |
🧾 Billing Rules
- Flat-rate billing per clip (6 s or 10 s).
- No prorated pricing — shorter clips are charged at the full duration tier.
- Total cost = number of clips × rate.
🚀 How to Use
- Write a prompt describing the desired scene, lighting, motion, or camera movement.
- Choose your duration (6 s or 10 s).
- Submit the job and wait for processing.
- Download your completed video once ready.
🎥 Pro Tips for Best Quality
- Craft cinematic prompts that specify camera angles, lighting style, and mood.
- Use dynamic verbs (e.g., zoom in, pan left, fly over) to introduce camera motion.
- Start with 6-second drafts to experiment quickly before producing longer versions.
- Combine multiple short clips to create narrative sequences.
- Pair your visuals with music or voiceovers for full storytelling impact.
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-2.3/t2v-standard" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"duration": 6,
"enable_prompt_expansion": true
}'
# 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. | |
| duration | integer | No | 6 | 6, 10 | The duration of the generated media in seconds. |
| enable_prompt_expansion | boolean | No | true | - | 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 |