Version: v1.0.0 | Last Updated: 2026-08-13 This platform fully supports the MiniMax Video Generation V2 (MiniMax-H3) official API. Requests and responses are transparently proxied, and all parameter semantics remain consistent with the official API.
content array (text / image / video / audio), support 768P / 2K native output and 4-15 second durations, and come with two companion capabilities: 768P-to-2K regeneration and H3-Context-IR prompt enhancement.| Capability | Documentation | Description |
|---|---|---|
| Video Generation | 01-Create-Video-Generation | Text-to-video, image-to-video (first / last / first+last frame), multimodal-reference-to-video |
| Video Regeneration | 02-Create-Video-Regeneration | Regenerate an H3 768P source video into 2K |
| H3-Context-IR | 03-Create-H3-Context-IR | Understand multimodal context and return a structured, enhanced prompt (no video is generated) |
Relationship to Hailuo V1: MiniMax-H3 uses a standalone V2 API (route prefix /hailuo/v2/*). Its request / response structures are completely different from the Hailuo V1 API (/hailuo/v1/*); do not mix them.
| Endpoint | Method | URL |
|---|---|---|
| Create Video Generation Task | POST | https://platform.dataeyes.ai/hailuo/v2/video_generation |
| Create Video Regeneration Task | POST | https://platform.dataeyes.ai/hailuo/v2/video_regeneration |
| Create H3-Context-IR Task | POST | https://platform.dataeyes.ai/hailuo/v2/h3_context_ir |
| Query Task | GET | https://platform.dataeyes.ai/hailuo/v2/query/video_generation/{task_id} |
| List Tasks | GET | https://platform.dataeyes.ai/hailuo/v2/query/video_generation |
| Cancel or Delete Task | DELETE | https://platform.dataeyes.ai/hailuo/v2/video_generation/{task_id} |
URL Pattern: Append the channel prefix /hailuoafter the platform domain, followed by the official V2 API path.
For example, the officialhttps://api.minimaxi.com/v2/video_generationmaps tohttps://platform.dataeyes.ai/hailuo/v2/video_generation.
Create Task (POST /hailuo/v2/video_generation | video_regeneration | h3_context_ir)
│ Returns task_id
▼
Query Task (GET /hailuo/v2/query/video_generation/{task_id}) ← Poll until succeeded
│ Returns content.url (video tasks) or content.prompt (Context-IR tasks)
▼
Download / persist the output (download URLs are time-limited — save promptly)Authorization header:Authorization: Bearer {API_KEY}{API_KEY} is the API key created in the DataEyes console.| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer {API_KEY} |
Content-Type | Yes | Must be application/json (for task creation endpoints) |
| Status | Description |
|---|---|
queued | Waiting in queue; can be cancelled |
running | Processing |
succeeded | Completed; output available in content |
failed | Failed; the error field contains the code and reason |
cancelled | Cancelled |
| Item | How it is billed |
|---|---|
| Video generation (768P / 2K, unit price by resolution) | Per second, based on usage.total_seconds (input reference video seconds + output seconds, same rate) |
| Video regeneration (always 2K) | Per second, based on the source video's actual duration (usage.total_seconds) |
| Extra input images | First 5 images per task are free; additional images are billed per image |
| H3-Context-IR | Per token: input billed on usage.prompt_tokens, output on usage.completion_tokens |
duration; regeneration uses a 5-second estimate). After the task succeeds, the fee is settled against the actual usage returned by the query endpoint — the difference is charged or refunded accordingly.For unit prices, please refer to the platform pricing page and your commercial agreement.
{
"type": "error",
"error": {
"type": "bad_request_error",
"message": "invalid params, content must include a non-empty text item (prompt is required) (2013)",
"http_code": "400"
},
"request_id": "021785229015510a2c883cf675b9804d"
}error.message is the internal error code. Common errors:| HTTP | error.type | Internal Code | Description |
|---|---|---|---|
| 400 | bad_request_error | 2013 | Invalid parameters (e.g. content missing a non-empty text item) |
| 401 | authorized_error | 1004 / 2049 | Authentication failed / invalid API key |
| 402 | insufficient_balance_error | 1008 | Insufficient balance or quota |
| 422 | unprocessable_entity_error | 1026 | Input contains sensitive content |
| 429 | rate_limit_error | 1002 | Rate limited; retry later |
| 500 | server_error | 1000 | Server error |