MiniMax-H3 video generation API
Generate asynchronous MiniMax-H3 video tasks through APIMaster, poll their status, and download MP4 videos.
MiniMax-H3 video generation
Call MiniMax-H3 through APIMaster's OpenAI-compatible video API. Text-to-video requests run asynchronously.
Base URL:
https://apimaster.ai/v1ishttps://apimaster.ai/v1. Create MiniMax-H3 tasks withPOST https://apimaster.ai/v1/video/generations.
Endpoint compatibility and validation
Both POST https://apimaster.ai/v1/video/generations and POST https://apimaster.ai/v1/videos/generations are supported. For the same model, request parameters and billing rules are identical; each endpoint retains its existing creation response format. Existing clients can keep their current path.
MiniMax-H3 retains the singular example on this page; size and resolution are aliases, as are ratio and aspect_ratio. Unsupported specifications or conflicting aliases return HTTP 400 rather than silently selecting a higher resolution. Specify resolution, aspect ratio, and duration explicitly.
Create a video task
POST https://apimaster.ai/v1/video/generations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
model |
string | yes | Must be MiniMax-H3 |
prompt |
string | conditional | Description of the video |
duration |
integer | no | 4–15 seconds; defaults to 4 |
size |
string | no | 768P or 2K; defaults to 768P |
ratio |
string | no | Aspect ratio; defaults to 16:9 |
metadata |
object | no | Extra parameters; explicit content overrides prompt/images, and top-level V2 fields override metadata equivalents |
curl -s "https://apimaster.ai/v1/video/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "A calm ocean at sunrise, gentle waves, cinematic wide shot",
"duration": 4,
"size": "768P",
"ratio": "16:9"
}'
The response returns a task ID immediately:
{
"id": "task_xxxxxxxx",
"task_id": "task_xxxxxxxx",
"object": "video",
"model": "MiniMax-H3",
"status": "queued",
"progress": 0,
"created_at": 1786436206
}
Poll task status
GET https://apimaster.ai/v1/videos/{task_id}
curl -s "https://apimaster.ai/v1/videos/task_xxxxxxxx" \
-H "Authorization: Bearer YOUR_API_KEY"
Possible states are queued, in_progress, completed, and failed. A completed task includes the video URL:
{
"id": "task_xxxxxxxx",
"status": "completed",
"progress": 100,
"url": "https://apimaster.ai/v1/videos/task_xxxxxxxx/content"
}
Wait 10–20 seconds after submission, then poll every 3–5 seconds.
Download the video
GET https://apimaster.ai/v1/videos/{task_id}/content
curl -L "https://apimaster.ai/v1/videos/task_xxxxxxxx/content" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o output.mp4
Video URLs may expire. Download and store the MP4 promptly after completion.
Limits and errors
modelmust beMiniMax-H3.durationsupports 4–15 seconds.sizesupports768Pand2K.- A disabled or insufficient-balance channel returns a routing or upstream balance error; check the account balance and channel status first.
- Do not download a task unless its status is
completed.
Reference-to-video (r2v)
Send the official V2 content array to the APIMaster endpoint above. A non-empty text item is required; a top-level prompt is not required when content is supplied. reference_image guides the generated subject or style; it does not lock the first frame. Legacy images maps the first two images to first/last frames. Do not mix first/last frames with reference roles.
{
"model": "MiniMax-H3",
"content": [
{"type": "text", "text": "Use the character in Image 1 as the subject, walking through a garden."},
{"type": "image_url", "image_url": {"url": "https://YOUR_PUBLIC_IMAGE_URL/reference.jpg"}, "role": "reference_image"}
],
"resolution": "768P",
"duration": 4,
"ratio": "16:9"
}
Keep using POST https://apimaster.ai/v1/video/generations; /v1/v2/video_generation is not a supported path. This endpoint accepts the V2 body, while creation responses and polling retain the APIMaster task format shown above. Top-level content takes precedence over metadata.content; explicit content is not merged with images.
