Opennan

Hailuo 2.3

Live on the API
by MiniMaxVideohailuo-2-3

$0.03792/s$0.04667-18%

at 720pPrices checked Oct 15, 2026
Input → output
Text promptImageVideo
Lengths
6–10 s
Quality
720p · 1080p

Hailuo 2.3

MiniMax

from $0.03792/s · 18% below official

Input

68 / 4,000
Quality
Duration
Aspect ratio

-18% vs official

Output

Example
Example outputMade with this prompt

Hailuo 2.3 API prices

Every tier we sell, next to the model maker's official price.

All prices
Hailuo 2.3 prices by tier, in US dollars
TierOpennanOfficial
720p, Standard$0.03792/s$0.2275 for 6 s$0.04667/s18% below
1080p, Standard$0.065/s$0.39 for 6 s$0.08167/s20% below

Official is the model maker's own list price for the same tier. Where the maker publishes a price, we never sell above it, most tiers at least 10% below.

Call Hailuo 2.3 from your code

Everything for your first call is on this page: the endpoint, a key, the request and every parameter.

POSThttps://api.opennan.com/v1/videos/generations
  1. Get an API key

    Create a key in the console. It uses the same balance as the playground.

    Create a key
  2. Send your first request

    The same request the playground sends. Set OPENNAN_KEY to your key.

    curl https://api.opennan.com/v1/videos/generations \
      -H "Authorization: Bearer $OPENNAN_KEY" \
      -H "Content-Type: application/json" \
      -d '{"model":"hailuo-2-3","prompt":"Rain on a neon street at night, slow push-in","duration":6,"quality":"720p","aspect_ratio":"16:9"}'
    
    # Then poll until "status" is "succeeded" or "failed":
    curl https://api.opennan.com/v1/tasks/<task id> -H "Authorization: Bearer $OPENNAN_KEY"
  3. Poll the task

    The call answers right away with a task id. Ask for the task until it finishes:

    GEThttps://api.opennan.com/v1/tasks/{id}
    queued
    Waiting for a worker
    running
    Being made
    succeeded
    Done: outputs[].url holds the files
    failed
    Failed: you are not charged

Parameters

Built from the live catalog: every value listed here is one the API accepts.

Parameters
NameTypeAllowed valuesDefaultEffect on price
modelrequiredWhich model runs the call.stringhailuo-2-3——
promptoptionalWhat happens in the video. Required unless you send a start image.string———
imageoptionalStart image (https link). The video begins on it.URL———
durationoptionalLength of the video in seconds.integer6 · 106Longer costs more
qualityoptionalOutput resolution.string720p · 1080p720pHigher costs more
aspect_ratiooptionalFrame shape, for example 16:9 or 9:16.string16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9 · 9:2116:9—
callback_urloptionalWe send the finished task to this URL.URL———

Errors and how to fix them

  • 401Missing or wrong key

    Send the header Authorization: Bearer with a key from the console.

  • 402Balance too low

    Add credit in Billing, then send the same call again.

  • 400A value is not accepted

    Read error.message: it names the field. Use a value from the parameter table.

  • 429Too many requests

    Wait a few seconds and try again, waiting longer after each 429.

Add Opennan to your AI app

One install gives your AI every Opennan tool: video, images, chat, voice, music, sound effects, 3D, captions and dubbing. Pick your app and follow the steps.

MCP serverhttps://api.opennan.com/v1/mcp

Works in the Codex CLI, the Codex app and the Codex IDE extension: they share ~/.codex/config.toml. If the app or IDE does not see OPENNAN_KEY, use the config.toml option with your key in it. Codex asks before each tool call: approve it to go on.

  1. Get an API key

    Create a key in the console. It starts with sk- and uses the same balance as the website.

    Create a key
  2. Save your key as OPENNAN_KEY

    # macOS / Linux (zsh shown; bash: ~/.bashrc)
    echo 'export OPENNAN_KEY="sk-..."' >> ~/.zshrc
    source ~/.zshrc
    
    # Windows (PowerShell), then open a new terminal
    setx OPENNAN_KEY "sk-..."
  3. Install the Opennan plugin: the server plus a skill that teaches your AI to pick models, confirm prices and wait for results

    codex plugin marketplace add Opennan/opennan-ai-plugin
    codex plugin add opennan@opennan
  4. Or add only the server

    codex mcp add opennan --url https://api.opennan.com/v1/mcp --bearer-token-env-var OPENNAN_KEY
  5. Or add this to ~/.codex/config.toml

    [mcp_servers.opennan]
    url = "https://api.opennan.com/v1/mcp"
    http_headers = { Authorization = "Bearer sk-..." }
  6. Check that opennan is listed

    codex mcp list
  7. Restart Codex, then ask for anything

    “Make a 5 second video of rain on a neon street, a song to go with it and a poster image.”

Replace sk-... with your own key and keep it private: anyone who has it can spend your balance. Your app can list the tools before you add a key; making anything needs one.

This tool from your AI

Once Opennan is added, your AI calls this tool with arguments like these.

Tool
generate_video
Example arguments
{
  "model": "hailuo-2-3",
  "prompt": "Rain on a neon street at night, slow push-in",
  "duration": 6
}

Hailuo 2.3 API questions

How much does the Hailuo 2.3 API cost?

Hailuo 2.3 API on Opennan: $0.03792/s at 720p, 18% below MiniMax's official $0.04667/s. Prices are in US dollars per call, shown before you run, and every tier is in the price table.

How does that compare with the official price?

MiniMax lists $0.04667/s; Opennan charges $0.03792/s, 18% below. We only sell a tier below the maker's official price, most tiers at least 10% below.

What inputs does Hailuo 2.3 take?

Text prompt, Image.

Which options can a call set?

Lengths: 6, 10 seconds. Resolutions: 720p, 1080p. Aspect ratios: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21.

How is it billed?

Per video: the price depends on resolution, length and sound, and is shown before the call.

What happens if a generation fails?

A failed task is refunded in full. You pay only for results.

How do I call Hailuo 2.3 from an AI agent?

Add the MCP server https://api.opennan.com/v1/mcp with your API key as a bearer token, then call the generate_video tool with model "hailuo-2-3". Or send a POST to https://api.opennan.com/v1/videos/generations.

We only use the cookies the site needs, such as your language and a referral code. No ads. We count page visits with cookie-free analytics. See our Cookie Policy for details.