MiniMax
MiniMax H3
minimax-h3
A unified multimodal video model that handles text, images, video, and audio within a single context, supporting text-to-video, image-to-video, reference-to-video, and instruction-based editing, and can generate synchronized audio
Try minimax-h3
Input
Showcases
View all showcasesOutput
videoPricing
minimax-h3 per second
| Unit Price | $0.1189 |
|---|
Positioning Overview
MiniMax H3 is a general-purpose video generation model released by MiniMax. It processes text, images, video, and audio simultaneously within a unified context, supports text-to-video, image-to-video, first-and-last-frame control, and multimodal reference-to-video generation, and can output native 2K video. Accessed through the unified HiAPI.ai interface, it is suited to developers who need to accomplish storyboard prototyping, asset animation, and character-style-consistent short videos with a single model, and is especially suitable for teams that need to cover multiple generation modes within a unified workflow.
Core Highlights
- Unified context carries multimodal inputs — text, image, video, and audio references can be combined within the same model, reducing the cost of switching to specialized models for different tasks.
- Native 2K output — currently generates only at native 2K resolution, with aspect ratios covering 21:9 to 9:16 and adaptive, meeting the needs of both landscape and portrait delivery.
- First-and-last-frame control for shot transitions — given a first-frame and a last-frame image, it can control the transition between the two images, making it convenient to produce transitions and before-and-after comparison shots.
- Multimodal references maintain consistency — supports up to 5 reference images, 3 reference videos, and 3 reference audio clips, used to continue character, style, and rhythm.
Capability Description
Text-to-video: generate a video with a whole-second duration of 4–15 seconds from a text prompt alone, with aspect ratio options of 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, or adaptive, defaulting to 16:9.
Image-to-video and first-and-last-frame control: generate a video using a publicly accessible image as the first frame, or provide both a first frame and a last frame to control the transition; frame control and reference media fields are mutually exclusive, so the route must be determined in advance when selecting options.
Multimodal reference-to-video generation: accepts up to 5 reference images, 3 reference videos of 2–15 seconds each, and up to 3 reference audio clips with a total length not exceeding 15 seconds; audio cannot be used alone and must be paired with at least one image or one video.
Optional AIGC watermark: the watermark parameter determines whether the output video carries an AIGC watermark, and it is not added by default, making it easy to switch according to the compliance requirements of publishing channels.
Applicable Scenarios
- Advertising teams quickly prototype storyboards with text prompts — generate 4–15 second clips from multi-shot prompts as storyboard preview assets for creative review and client proposals.
- E-commerce design teams animate product images into short videos — use product images or illustrations as the first frame to generate 2K videos, directly usable for product detail pages and feed advertising assets.
- Content creators make transitions with first and last frames — control the transition by providing two images, front and back, and produce transition shots for short-video editing or before-and-after comparison demonstrations.
- Multimodal reference generation for character-consistent short videos — combine character images, style videos, and reference audio to generate style-consistent clips for batch production of serialized content.
Limitations and Selection Advice
The maximum duration per generation is 15 seconds; longer content needs to be generated in segments and then spliced together. First-and-last-frame control and reference media fields cannot be mixed; in reference mode, image, video, and audio inputs must be organized according to the rules, and there is a certain threshold for organizing prompts; reference audio cannot be used alone. If the task requires continuous long shots exceeding 15 seconds, resolution tiers below 2K, or a simpler pure-text generation workflow, other routes or models should be evaluated.
What's new
View changelog →- New model New model: minimax-h3
Frequently asked questions
View all FAQs →-
What type of video model is MiniMax H3?
It is prompt-led and can also use endpoint frames or image, video, and audio references according to the active contract.
-
Which output settings does MiniMax H3 support?
4-15 seconds, 2K, and 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive.
-
Can it generate sound or use audio references?
Optional image, video, and audio references; generated audio
-
How is MiniMax H3 billed?
Billing follows output duration and the live tier. Resolution, mode, or audio differences are reflected by the page price and task record.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: minimax-h3
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for minimax-h3 and route default — see the parameter table below.
promptstringRequiredminLength 1maxLength 7000Prompt describing the video content; required for all generation modes, maximum length 7000 characters.
durationintegerOptionalDefault: 5min 4max 15Duration of the generated video in integer seconds; defaults to 5 seconds.
watermarkbooleanOptionalDefault: falseWhether to add an AIGC watermark to the generated video; boolean, defaults to false.
audio_urlsarrayOptionalmaxItems 3Array of reference audio URLs, up to three clips with a total duration not exceeding 15 seconds; audio cannot be used alone and must be accompanied by at least one reference image or reference video.
Array [ string ]
image_urlsarrayOptionalmaxItems 5Array of reference image URLs for multimodal reference-to-video generation; HiAPI accepts up to five images; cannot be used together with first/last frame control.
Array [ string ]
resolutionstringOptionalDefault: "2K"Output resolution; MiniMax H3 currently supports only native 2K generation, defaulting to 2K.
2Kvideo_urlsarrayOptionalmaxItems 3Array of reference video URLs for multimodal reference-to-video generation, up to three clips, each 2-15 seconds with a total duration not exceeding 15 seconds.
Array [ string ]
aspect_ratiostringOptionalDefault: "16:9"Output aspect ratio, defaults to 16:9; text-to-video defaults to 16:9, first/last frame guided video follows the input image, and reference mode may use adaptive.
21:916:94:31:13:49:16adaptivelast_frame_imagestringOptionalPublic image URL to use as the last frame; first_frame_image must also be provided.
first_frame_imagestringOptionalPublic image URL to use as the first frame; first/last frame control cannot be used together with reference media fields, and is required when last_frame_image is provided.
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"input": {
"prompt": "…",
"duration": 5,
"watermark": false,
"resolution": "2K",
"aspect_ratio": "16:9"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "minimax-h3",
input: {
"prompt": "…",
"duration": 5,
"watermark": false,
"resolution": "2K",
"aspect_ratio": "16:9"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "minimax-h3",
"input": {
"prompt": "…",
"duration": 5,
"watermark": False,
"resolution": "2K",
"aspect_ratio": "16:9"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Vidu Q4 Preview Vidu $0.051 /second -
Kling 4.0 Kuaishou $0.330 /second -
Gemini Omni Google -- -
HeyGen Avatar IV HeyGen $0.150 /second -
Wan 3.0 Video Alibaba $0.040 /second -
Veo 3.1 Fast Google $0.170 /second -
Creatify Boreal Creatify $0.015 /second -
HappyHorse 1.1 Alibaba $0.160 /second -
Hailuo 2.3 MiniMax $0.270 /video -
Grok Imagine 1.5 xAI $0.011 /second -
Grok Imagine 1.5 Lite xAI $0.029 /second -
Veo 3.1 Lite Google $0.060 /second


