Skip to main content
minimax avatar

MiniMax Hailuo-02 Standard Text-to-Video API

minimax/hailuo-02/standard/text-to-video

Generate a short, cinematic 768p video from a text prompt with smooth, lifelike motion and strong prompt adherence.

0.045 per second of output video

Model Input

Input

Text description of the video to generate.

Video duration in seconds.

Whether to use the model's prompt optimizer.

You need to be logged in to run this model and view results.
Log in

Model Output

Output

Loading
Generated in 374.775 seconds
Logs (1 lines)

Model Example Requests

Examples

Example output 1Example output 2

MiniMax Hailuo-02 Standard Text-to-Video API

MiniMax Hailuo-02 Standard Text-to-Video is a text-to-video AI model by minimax. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.045 per second of video.

POST https://queue.modelrunner.run/minimax/hailuo-02/standard/text-to-video

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/minimax/hailuo-02/standard/text-to-video \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A lone lighthouse on a rocky cliff sweeping its beam through drifting sea fog at night, waves crashing below, cinemat…",
    "duration": "6",
    "prompt_optimizer": true,
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/minimax/hailuo-02/standard/text-to-video/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/minimax/hailuo-02/standard/text-to-video/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("minimax/hailuo-02/standard/text-to-video", {
  input: {
    "prompt": "A lone lighthouse on a rocky cliff sweeping its beam through drifting sea fog at night, waves crashing below, cinemat…",
    "duration": "6",
    "prompt_optimizer": true
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/minimax/hailuo-02/standard/text-to-video",
    headers=headers,
    json={
      "prompt": "A lone lighthouse on a rocky cliff sweeping its beam through drifting sea fog at night, waves crashing below, cinemat…",
      "duration": "6",
      "prompt_optimizer": true
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

NameTypeRequiredDescription
promptstringyesText description of the video to generate.
durationenumnoVideo duration in seconds. Default: "6".
prompt_optimizerbooleannoWhether to use the model's prompt optimizer. Default: true.

Machine-readable: OpenAPI schema · llms.txt

Use MiniMax Hailuo-02 Standard Text-to-Video from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and MiniMax Hailuo-02 Standard Text-to-Video becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint minimax/hailuo-02/standard/text-to-video.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run minimax/hailuo-02/standard/text-to-video on ModelRunner to generate video”. MCP setup guide.

Model Details

Model Details

MiniMax Hailuo-02 Standard turns a written prompt into a short, cinematic 768p clip with smooth, lifelike motion and strong adherence to what you describe. It is tuned for fast, high-quality text-to-video where the subject, action, and scene in your prompt show up clearly on screen. Choose a 6-second or 10-second clip; resolution is fixed at 768p, so there is no separate size or aspect-ratio control.

## Best for - Turning a single descriptive prompt into a polished establishing or hero shot - Cinematic b-roll with natural camera and subject motion from text alone - Quick concepting and storyboarding where you iterate on a prompt to dial in the action - Short social clips and atmospheric scene-setting without any source image

## Choose another model when - You want to animate an existing photo or starting frame rather than generate from text alone — use an image-to-video model - You need a single still image, not motion — use a text-to-image model - You need clips longer than 10 seconds or frame-by-frame timeline control — use a dedicated long-form video tool - You need to choose the output resolution or aspect ratio — this tier is fixed at 768p

## Tips - Describe the subject, the action, and the setting in one coherent sentence; concrete motion verbs ("slowly pans", "rushes forward") translate well to on-screen movement - Leave `prompt_optimizer` on (the default) to let the model expand and refine a short prompt; turn it off when you want the prompt rendered exactly as written - Use `duration` to pick clip length — `"6"` for a quick beat, `"10"` for more developed action

To run via the ModelRunner JavaScript client: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("minimax/hailuo-02/standard/text-to-video", { input: { prompt: "A serene mountain lake reflecting clouds at golden hour, gentle ripples on the water", duration: "6", }, }); ```