Hailuo 03 icon
Coming soon Video by MiniMax

Hailuo 03 API

Generate cinematic AI video with MiniMax's Hailuo 03 — the next-generation successor to Hailuo 2.3 — through one unified API. A single REST endpoint, async jobs, and webhooks, with no separate MiniMax account to manage.

Integrate Hailuo 03 with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.

model: "hailuo-03"
Coming soon

What's special about Hailuo 03

Next-generation Hailuo motion

Hailuo 03 builds on the series that made complex human motion its signature, pushing body movement, dance, and fast action further with cleaner limb continuity and fewer artifacts than any previous Hailuo release.

Sharper physics and cinematic realism

Lighting direction, shadow transitions, and scene geometry stay stable through dynamic camera moves, with stronger physical realism than Hailuo 2.3 across collisions, fluids, and cloth.

Stronger prompt adherence

Multi-step actions, camera direction, and scene composition follow the prompt more faithfully, so complex shots land in fewer retries — and bracketed camera moves give you director-style control from plain text.

Text-to-video and image-to-video

Start from a text prompt, or supply a reference image as the first frame to animate a still — the same request shape as every other video model on Apiframe.

Wide stylization range

Beyond realism, the Hailuo family supports anime, illustration, ink-wash painting, game CG, and other distinct art styles with stable, vivid output.

One API, async jobs, webhooks

Submit a generation, poll the job, or receive a webhook when the clip is ready — behind the same endpoint, pricing model, and API key as the rest of the Apiframe catalog.

Made with Hailuo 03

A few outputs generated through the Hailuo 03 API on Apiframe.

Sample coming soon

Drone shot flying over a tropical coastline at sunrise, smooth cinematic motion

Sample coming soon

A vintage car driving through a rainy neon city at night, reflections on the asphalt

Sample coming soon

Time-lapse of clouds rolling over a mountain range in warm golden light

Overview

Endpoint
POST /v2/videos/generate
Model ID
hailuo-03
Params key
hailuoParams
Modality
Video
Provider
MiniMax
Avg. completion
~180s

Capabilities

Resolutions768p, 1080p
Durations6s, 10s
Image inputSupported
Avg. time~180s

Quick start

Send a single POST /v2/videos/generate request with your API key to generate with Hailuo 03. The call returns a jobId you can poll or receive via webhook.

curl -X POST https://api.apiframe.ai/v2/videos/generate \
  -H "X-API-Key: afk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
        "model": "hailuo-03",
        "hailuoParams": {
            "image": "https://example.com/input.jpg",
            "resolution": "768p",
            "prompt_optimizer": true
        }
    }'
import requests

response = requests.post(
    "https://api.apiframe.ai/v2/videos/generate",
    headers={
        "X-API-Key": "afk_your_api_key_here",
        "Content-Type": "application/json",
    },
    json={
        "prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
        "model": "hailuo-03",
        "hailuoParams": {
            "image": "https://example.com/input.jpg",
            "resolution": "768p",
            "prompt_optimizer": True
        }
    },
)
print(response.json())  # { "jobId": "...", "status": "QUEUED" }
const response = await fetch("https://api.apiframe.ai/v2/videos/generate", {
  method: "POST",
  headers: {
    "X-API-Key": "afk_your_api_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
    "model": "hailuo-03",
    "hailuoParams": {
      "image": "https://example.com/input.jpg",
      "resolution": "768p",
      "prompt_optimizer": true
    }
  }),
});
const { jobId } = await response.json();
console.log(jobId);

Response & job lifecycle

Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).

1. Submission response (202)

{
  "jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "status": "QUEUED"
}

2. Poll for the result

curl https://api.apiframe.ai/v2/jobs/JOB_ID \
  -H "X-API-Key: afk_your_api_key_here"
import requests, time

while True:
    job = requests.get(
        "https://api.apiframe.ai/v2/jobs/JOB_ID",
        headers={"X-API-Key": "afk_your_api_key_here"},
    ).json()
    if job["status"] in ("COMPLETED", "FAILED"):
        break
    time.sleep(2)
print(job["result"])
let job;
do {
  await new Promise((r) => setTimeout(r, 2000));
  job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
    headers: { "X-API-Key": "afk_your_api_key_here" },
  }).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);

Input schema

Request parameters accepted by the Hailuo 03 endpoint. Model-specific options are nested under the params object shown below.

Parameter Type Required Default Allowed / range Description
prompt string required Text description of what to generate.
model string required "hailuo-03" "hailuo-03" The model identifier for this endpoint.
hailuoParams.image string (URL) optional Use a still as the first frame.
hailuoParams.resolution string optional "768p" "768p", "1080p" Resolution
hailuoParams.prompt_optimizer boolean optional true Let Hailuo rewrite your prompt for better results.

Frequently Asked Questions

Common questions about the Hailuo 03 API.

What is Hailuo 03?

Hailuo 03 is MiniMax's next-generation video model and the successor to Hailuo 2.3, focused on stronger motion realism, physics, and prompt adherence for text-to-video and image-to-video.

When will it be available?

Hailuo 03 is announced but not yet launched on Apiframe. It will be available at this page and through the API the moment MiniMax releases it — no code changes needed on your side beyond setting the model id.

What inputs does it accept?

A text prompt for text-to-video, or a prompt plus a reference image used as the first frame for image-to-video, with an optional prompt-optimizer toggle.

How is it billed?

Per clip, based on resolution and duration, like the rest of the Hailuo family on Apiframe — you only pay for successful generations. Final pricing will be confirmed at launch.

How do I use it through the API?

Exactly like Hailuo 2.3: POST to /v2/videos/generate with model "hailuo-03", then poll the job or receive a webhook when the video is ready.

Still have questions?

Start building with the Hailuo 03 API

Get your API key and integrate Hailuo 03 in minutes — Pay-as-you-go.

Free credits to start
One API for every model
Webhooks, SDKs & idempotency
No provider account required

Questions? Join our Discord or contact sales.