MiniMax H3 Text-to-Video
MiniMax H3 Text-to-Video is MiniMax's next-generation AI video generation model. Powered by a unified Omni architecture, it accurately parses complex prompt text to directly generate up to 2K cinematic-grade videos up to 15 seconds long. It natively supports integrated audio-video generation (ambient audio, sound effects, and multilingual lip-sync) alongside exceptional motion smoothness, physical simulation, and camera control—ideal for commercial advertising, short dramas, and social media video creation.
MiniMax H3 Text-to-Video
MiniMax H3 Text-to-Video is MiniMax's next-generation AI video generation model. Powered by a unified Omni architecture, it accurately parses complex prompt text to directly generate up to 2K cinematic-grade videos up to 15 seconds long. It natively supports integrated audio-video generation (ambient audio, sound effects, and multilingual lip-sync) alongside exceptional motion smoothness, physical simulation, and camera control—ideal for commercial advertising, short dramas, and social media video creation.
Base URL
https://api.icreat.aiAuthentication
All API requests must be authenticated with an API Key. You can obtain an API Key from the console.
export ICREAT_API_KEY="your-api-key-here"HTTP Request Headers
import os
API_KEY = os.environ.get("ICREAT_API_KEY")
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + API_KEY,
}Protect your API Key
Never expose your API Key in client-side code or public repositories. Use environment variables or a backend proxy.
Code Examples
Image and video generation uses a three-step async flow: submit to get task_id, poll status, then fetch results when status is SUCCEEDED.
1. Submit Task
Send a generation request to the submit endpoint.
2. Poll Status
Poll with task_id. Response contains only status.
3. Get Result
Fetch output when the task succeeds.
Input Schema
Submit Task — Input
Total: 6 Required: 3 Optional: 3
An array of multimodal input content describing the information used to generate the video. Each element is differentiated by type (text / image_url / video_url / audio_url), and its purpose can be annotated with role. Each request must include a non-empty text item (the prompt is required).
The video resolution.
Duration of the generated video in seconds (integer).
Aspect ratio of the generated video. Defaults to adaptive (automatic — the most suitable aspect ratio is selected based on the input).
Callback notification URL for task status changes.
Whether to add an AIGC identification watermark to the generated video. Defaults to false.
Poll Status — Input
Total: 1 Required: 1 Optional: 0
Task ID from the submit endpoint.
Get Result — Input
Total: 1 Required: 1 Optional: 0
Task ID from the submit endpoint.
Output Schema
Submit Task — Output
Total: 1
Async task identifier.
Poll Status — Output
Total: 1
Current task status. Fetch results when SUCCEEDED.
Get Result — Output
Top-level array of resource objects.
Total: 3
Resource type; Video for this model.
Preview/access URL.
Download URL.
LLM Prompt
The Markdown below is an LLM-friendly prompt you can paste into AI assistants (e.g. Cursor, ChatGPT) to help them understand this model's API, call flow, and key parameters. Use Copy for AI or copy from the code block below.
# minimax/h3-video/text-to-video
> MiniMax H3 Text-to-Video is MiniMax's next-generation AI video generation model.
## Overview
Use the iCreat three-step async task API: submit a generation request, poll status, then fetch the video URL on success.
## API Info
- **Base URL**:`https://api.icreat.ai`
- **Submit endpoint (POST)**:`/v1/task/submit/minimax/h3-video/text-to-video`
- **Poll endpoint (POST)**:`/v1/task/query-status`
- **Get result endpoint (POST)**:`/v1/task/get-result`
- **Model ID**:`minimax/h3-video/text-to-video`
- **Auth**:`Authorization: Bearer ${ICREAT_API_KEY}`
## Call Flow
1. **Submit**: POST submit path with body per Input Notes; response `{ "task_id": "..." }`
2. **Poll**: POST `/v1/task/query-status` with `{ "task_id": "..." }`; response contains **only** `{ "status": "SUBMITTED|SUCCEEDED|FAILED" }`
3. **Get result**: when `status` is `SUCCEEDED`, POST `/v1/task/get-result`; top-level array; read `url` or `download_url` when `type` is `Video`
### Input Notes
- Request body centers on a multimodal `content` array plus resolution/duration params
- `resolution` (required): The video resolution.
- `duration` (required): Duration of the generated video in seconds (integer).
- `ratio` (optional): Aspect ratio of the generated video. Defaults to `adaptive` (automatic — the most suitable aspect ratio is selected based on the input).
- `callback_url` (optional): Callback notification URL for task status changes.
- `aigc_watermark` (optional): Whether to add an AIGC identification watermark to the generated video. Defaults to `false`.
### Output Notes
- Poll: read `status` only
- Result: top-level `[{ "type": "Video", "url": "...", "download_url": "..." }]`
## Notes
- Use the same `task_id` across all three steps; do not skip polling
- `FAILED` is terminal — check request parameters or reference media