MiniMax H3 Image-to-Video


MiniMax H3 Image-to-Video is MiniMax's next-generation multimodal AI video model. Supporting first-frame driving and first-to-last frame transitions, it generates up to 2K cinematic HD videos directly, with durations ranging from 5 to 15 seconds. Built on a unified Omni architecture, it natively supports integrated audio-video generation (sound effects, ambient audio, and multilingual lip-sync) alongside exceptional camera control, physics simulation, and subject consistency—ideal for e-commerce, commercial ads, and short drama production.

MiniMax H3 Image-to-Video

MiniMax H3 Image-to-Video is MiniMax's next-generation multimodal AI video model. Supporting first-frame driving and first-to-last frame transitions, it generates up to 2K cinematic HD videos directly, with durations ranging from 5 to 15 seconds. Built on a unified Omni architecture, it natively supports integrated audio-video generation (sound effects, ambient audio, and multilingual lip-sync) alongside exceptional camera control, physics simulation, and subject consistency—ideal for e-commerce, commercial ads, and short drama production.

Base URL

https://api.icreat.ai

Authentication

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 two-step async flow: submit a task to get task_id, then poll via query task result; the response includes status and result ([] while processing; on SUCCEEDED, result holds resources and costUSD is present). The examples below use the same task_id across both steps.

1. Submit Task

Send a generation request to the submit endpoint.

POST/v1/task/submit/minimax/h3-video/image-to-video

2. Query Task Result (Poll)

Use the task_id from submit to poll progress (repeat until terminal). The response includes status and result: result is [] while processing; on SUCCEEDED, result holds resources and costUSD is included; FAILED means the task failed.

POST/v1/task/result

Input Schema

Submit Task — Input

Total: 6 Required: 3 Optional: 3

contentobject[]required

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).

resolutionstringrequired

The video resolution.

durationintegerrequired

Duration of the generated video in seconds (integer).

ratiostring

Aspect ratio of the generated video. Defaults to adaptive (automatic — the most suitable aspect ratio is selected based on the input).

callback_urlstring

Callback notification URL for task status changes.

aigc_watermarkboolean

Whether to add an AIGC identification watermark to the generated video. Defaults to false.

Query Task Result — Input

Total: 1 Required: 1 Optional: 0

task_idstringrequired

The task ID returned from the submit endpoint.

Output Schema

Submit Task — Output

Total: 1

task_idstring

Async task identifier.

Query Task Result — Output

Total: variable

statusstring

Current task status. result is usually [] until success; on SUCCEEDED, result holds resources and costUSD is present.

SUBMITTEDSUCCEEDEDFAILED
resultarray[object]

Generated resources. Empty array while processing or on failure; array of objects on success.

costUSDnumber

Task cost in USD. Present only when status is SUCCEEDED.

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/image-to-video

> MiniMax H3 Image-to-Video is MiniMax's next-generation multimodal AI video model.

## Overview

Use the iCreat two-step async task API: submit a generation request, then poll the query task result endpoint; on success read resources from `result` (includes `costUSD`).

## API Info

- **Base URL**:`https://api.icreat.ai`
- **Submit endpoint (POST)**:`/v1/task/submit/minimax/h3-video/image-to-video`
- **Query result endpoint (POST)**:`/v1/task/result`
- **Model ID**:`minimax/h3-video/image-to-video`
- **Auth**:`Authorization: Bearer ${ICREAT_API_KEY}`

## Call Flow

1. **Submit**: POST submit path with body per Input Notes; response `{ "task_id": "..." }`
2. **Query result**: POST `/v1/task/result` with `{ "task_id": "..." }`; response includes `status` and `result` (`[]` while processing); on `SUCCEEDED`, `result` holds resources and `costUSD` is present; 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`; `result` is `[]` while processing
- Success: `result` is `[{ "type": "Video", "url": "...", "download_url": "..." }]` plus `costUSD`

## Notes

- Use the same `task_id` across both steps; `result` is `[]` while processing — keep polling
- `FAILED` is terminal — check request parameters or reference media