Back to Guides

Hailuo 2.3 API Guide: Features, Pricing & Code

Hailuo 2.3 explained: motion realism, micro-expressions, real pricing, and working code to start generating today.

Hailuo 2.3 API Guide: Features, Pricing & Code

MiniMax released Hailuo 2.3 on October 28, 2025, as the successor to Hailuo 02, and the upgrade is squarely about motion. Where earlier models could stumble on complex human movement, dance, or subtle facial performance, Hailuo 2.3 is built to handle exactly that, with cleaner limb continuity, more natural micro-expressions, and stronger physics under dynamic camera moves. It's live on Apiframe now, one key, one endpoint, the same billing and concurrency you're already using for every other model on the platform.

This guide covers what's actually new, then walks through generating with it, including real pricing you can plan a budget around.

What's New in Hailuo 2.3

Best-in-class human motion. Complex body movement and dance render with more fluidity and cleaner limb continuity, avoiding the phantom limb and joint-snapping artifacts that show up in many models during fast motion.

Expressive micro-expressions. Small smiles, blinks, and emotional shifts come through naturally, which suits close-up storytelling and character-driven scenes where a stiff face breaks the illusion.

Strong physics and cinematic realism. Lighting direction, shadow transitions, and color tone hold up under complex lighting and dynamic camera moves, with scene geometry staying stable rather than drifting.

Wide stylization range. Beyond photorealism, Hailuo 2.3 handles anime, illustration, ink-wash painting, and game CG with stable, vivid output, not just a realism-only model.

Camera control and consistency. Tracking shots and dynamic camera moves keep consistent parallax, so subjects and backgrounds stay stable across the whole clip instead of warping.

Identity preservation. Faces, brand objects, and on-screen logos stay sharp through motion, making them useful for anything product or branding-related, where a blurry logo mid-clip is a real problem.

Getting Started on Apiframe

Hailuo 2.3 runs through the same API key and billing as every other model on Apiframe, Kling, Veo, Seedance, and the rest, so it's not a separate integration; it's one more model on the integration you may already have. Requests are asynchronous: submit a job, then poll for the result or receive it via webhook. No MiniMax account required.

If you're starting from scratch, sign up for free credits, grab an API key, and you’ll be generating within minutes. Full parameter reference lives in the Hailuo 2.3 docs, or try it directly in Apiframe Studio without writing any code first.

Full Code Walkthrough

1. Text-to-video

bash
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": "cinematic aerial shot of a medieval castle at dawn with mist rolling through the valleys",
    "model": "hailuo-2.3",
    "hailuoParams": {
      "duration": 10,
      "resolution": "768p"
    }
  }'

The same call in Python:

python
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": "cinematic aerial shot of a medieval castle at dawn with mist rolling through the valleys",
        "model": "hailuo-2.3",
        "hailuoParams": {
            "duration": 10,
            "resolution": "768p",
        },
    },
)
print(response.json())  # { "jobId": "...", "status": "QUEUED" }

2. Image-to-video

Add an image URL to animate a still instead of generating from scratch:

python
response = requests.post(
    "https://api.apiframe.ai/v2/videos/generate",
    headers={"X-API-Key": "afk_your_api_key_here"},
    json={
        "prompt": "a dancer performing a graceful spin, studio lighting",
        "model": "hailuo-2.3",
        "hailuoParams": {
            "image": "https://example.com/dancer.jpg",
            "duration": 6,
            "resolution": "1080p",
            "prompt_optimizer": True,
        },
    },
)

Available hailuoParams fields: duration (6 or 10 seconds, default 6), resolution (768p or 1080p, default 768p), image (URL for image-to-video), and prompt_optimizer (lets Hailuo rewrite your prompt for better results). One real constraint to know before you build: 1080p doesn't support 10-second clips, if you need the full 10 seconds, stay at 768p.

3. Poll for the result

The submission returns a 202 with a jobId. Poll GET /v2/jobs/{id} until the status is COMPLETED, or supply a webhook_url instead:

python
import time

while True:
    job = requests.get(
        f"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(5)

print(job["result"])  # { "videoUrl": "https://cdn2.apiframe.ai/videos/..." }

Average completion time is around 180 seconds, worth using webhooks over polling for anything running in production.

Pricing

Hailuo 2.3 bills a flat credit cost per generation, based on resolution and duration:

VariantCreditsApprox. USD
768p, 6s48$0.48
768p, 10s96$0.96
1080p, 6s84$0.84

At the documented $0.01-per-credit rate, a 6-second 768p clip runs about $0.48, a full 10-second 768p clip about $0.96, and a 6-second 1080p clip about $0.84. Plan choice affects more than the per-generation rate, it also sets your concurrency ceiling and monthly credit grant. The pricing page has the full breakdown, from the free tier up through Enterprise.

A cheaper, faster sibling model, hailuo-2.3-fast, is also available for drafts and iteration, roughly a third less per generation with faster turnaround. The full breakdown of when to use which Hailuo model on Apiframe, including Hailuo 02, is covered in Hailuo Versions Explained.

Use Cases

Dance and movement content. Hailuo 2.3's motion handling makes it a solid fit for choreography, sports, and any clip with fast, complex body movement that tends to break lesser models.

Character-driven storytelling. Micro-expression fidelity supports close-up dialogue and reaction shots where subtle facial performance carries the scene.

Stylized content. Anime, illustration, and ink-wash styles come out stable and vivid, not just the realism most video models default to.

Product and branded content. Identity and logo preservation through motion keeps product names and packaging legible through camera moves, pair it with Kling 3.0 if you want to compare cinematic styles on the same project.

FAQ

What is Hailuo 2.3?

MiniMax's video generation model, released October 28, 2025, as the successor to Hailuo 02, focused on realistic human motion, micro-expressions, and physics.

What's different between Hailuo 2.3 and Hailuo 02?

Hailuo 2.3 improves motion fluidity, facial micro-expressions, physics realism, and stylization range over Hailuo 02. Full comparison in Hailuo Versions Explained.

Does Hailuo 2.3 support image-to-video?

Yes, via the image parameter. Text-to-video and image-to-video both use the same endpoint and model ID.

What resolutions and durations does it support?

768p or 1080p, and 6 or 10-second clips, with one constraint: 1080p doesn't support 10-second duration.

How much does the Hailuo 2.3 API cost?

48 credits ($0.48) for a 6-second 768p clip, 96 credits ($0.96) for 10 seconds at 768p, and 84 credits ($0.84) for a 6-second 1080p clip, on Apiframe's pay-as-you-go pricing.

Do I need a MiniMax account?

No. Apiframe manages access on your behalf, with the same key and billing as every other model on the platform.

Get your API key and start with free credits, or go straight to the Hailuo 2.3 model page for the full spec and live docs.

Ready to start building?

Get your API key and start generating AI content in minutes.