MiniMax Hailuo 02 API
MiniMax high-resolution text-to-video and image-to-video model.
MiniMax Hailuo 02 is a video generation model from MiniMax, available on OttoPort's OpenAI-compatible API as the model ID hailuo-02 at $0.07 / second as of 2026-10-14.
Provider
MiniMax
Price
$0.07 / second
Model ID
hailuo-02
Type
video generation model
Create with MiniMax Hailuo 02
videoYour result appears here
Start with the example prompt or make it your own. Your OttoPort account is used securely for generation.
MiniMax Hailuo 02 API pricing
What OttoPort bills for MiniMax Hailuo 02, and what that works out to per unit. Rates are read from the same catalog the gateway meters against, and were current on 2026-10-14.
| Per second | $0.07 | |
|---|---|---|
| 5-second clip | $0.35 | |
| 8-second clip | $0.56 | |
| Seconds per $10 | 142 | of generated video |
No subscription and no minimum — OttoPort bills prepaid credits against usage. See the full rate card.
Call MiniMax Hailuo 02 in three lines
Send "model": "hailuo-02" to POST https://ottoport.ai/api/v1/videos/generations with an OttoPort key. No MiniMax account, no waitlist, no separate SDK.
curl https://ottoport.ai/api/v1/videos/generations \
-H "Authorization: Bearer $OTTOPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "hailuo-02",
"prompt": "cinematic product reveal, slow dolly, black background",
"duration": 5,
"aspect_ratio": "16:9"
}'import requests
job = requests.post(
"https://ottoport.ai/api/v1/videos/generations",
headers={"Authorization": "Bearer " + API_KEY},
json={
"model": "hailuo-02",
"prompt": "cinematic product reveal, slow dolly, black background",
"duration": 5,
"aspect_ratio": "16:9",
},
).json()
# Video is a job: poll it, or pass webhook_url and be told.
print(job["id"], job["status"])const res = await fetch("https://ottoport.ai/api/v1/videos/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "hailuo-02",
prompt: "cinematic product reveal, slow dolly, black background",
duration: 5,
aspect_ratio: "16:9",
}),
});
// Video is a job: poll it, or pass webhook_url and be told.
const job = await res.json();
console.log(job.id, job.status);Before you start
- 1. Create a key at /api-keys.
- 2. Top up credits — the smallest pack is $25.
- 3. Paste the request. It returns a job ID; poll it or pass a webhook_url.
Full reference at /docs, or drive it from an agent with the MCP server and CLI.
Request parameters
The body POST https://ottoport.ai/api/v1/videos/generations accepts for MiniMax Hailuo 02.
| Field | Type | Required | Notes |
|---|---|---|---|
| model | string | Yes | Always hailuo-02 for MiniMax Hailuo 02. |
| prompt | string | Yes | Subject, action, and camera movement. |
| duration | integer | No | Seconds of output. This is the billed unit. |
| resolution | string | No | One of: 480p, 720p, 1080p. Tiers above this model's base rate bill at a multiplier. |
| aspect_ratio | string | No | e.g. 16:9 or 9:16. |
| image_url | string | No | The first frame, for image-to-video. |
| last_frame_url | string | No | The closing frame. With image_url, this is first-and-last-frame generation. |
| webhook_url | string | No | Called when the job settles, so you need not poll. |
| webhook_secret | string | No | Signs the webhook so you can verify it came from OttoPort. |
MiniMax Hailuo 02 direct vs through OttoPort
MiniMax Hailuo 02 is the same model either way — what changes is how many accounts, keys, and integrations you carry to reach it.
| MiniMax direct | Via OttoPort | |
|---|---|---|
| Accounts and keys | A MiniMax account, plus one more for every other model you add | One OttoPort account and one key for the whole catalog |
| Request shape | MiniMax's own SDK and response format | OpenAI-compatible — point baseURL at OttoPort and change the model string |
| Switching models | A new integration per provider | Replace hailuo-02 with any other model ID in the catalog |
| Billing | A separate invoice and contract per provider | Prepaid credits, no subscription, one usage ledger |
| Provider outages | Your call fails | Configured backup routes are tried in order on provider failure |
Describe the subject and action.
Add a camera movement.
Specify your output format.
MiniMax Hailuo 02 API questions
Cost, keys, and model IDs for MiniMax Hailuo 02 on OttoPort.
How much does the MiniMax Hailuo 02 API cost?
On OttoPort, MiniMax Hailuo 02 costs $0.07 / second as of 2026-10-14. For scale, 5-second clip: $0.35. Billing is prepaid usage with no subscription and no minimum, and the current rate is always published at ottoport.ai/pricing.
How do I get a MiniMax Hailuo 02 API key?
You do not need a MiniMax key. Create an OttoPort account, generate a key at ottoport.ai/api-keys, and send it as "Authorization: Bearer <key>" to POST https://ottoport.ai/api/v1/videos/generations with "model": "hailuo-02". The same key reaches every other model in the catalog.
What is the model ID for MiniMax Hailuo 02?
The OttoPort model ID for MiniMax Hailuo 02 is hailuo-02. Pass it as the model field on POST https://ottoport.ai/api/v1/videos/generations, or list it programmatically from GET https://ottoport.ai/api/v1/models.
Is MiniMax Hailuo 02 generation synchronous?
No. POST https://ottoport.ai/api/v1/videos/generations returns a job ID immediately. Poll GET https://ottoport.ai/api/v1/videos/generations/{id} for status, or pass webhook_url and webhook_secret and OttoPort will call you when the job settles. You are billed per second of output, so a failed job costs nothing.
Do I need a MiniMax account to use MiniMax Hailuo 02?
No. OttoPort connects to MiniMax on your behalf, so one OttoPort account covers MiniMax Hailuo 02 and every other model in the catalog — no per-provider contracts, keys, or invoices.
Other video generation models on the same API
Same endpoint, same key — swapping model is a one-string change from hailuo-02.
Gemini Omni 1.1 Flash API
$0.138 / second
Gemini Omni Flash API
$0.156 / second
Wan 3.0 Text to Video API
Alibaba
$0.20 / second
FLUX 3 API
Black Forest Labs
$0.213 / second
Seedance 2.5 API
ByteDance
$0.35 / second
MiniMax H3 API
MiniMax
$0.163 / second
Browse the full catalog — every model with its provider and per-unit price.