模型指南

Hailuo API:Hailuo 2.3、Hailuo 02 和 MiniMax H3

MiniMax 销售两条视频产品线:以灵动的动作著称的 Hailuo 系列模型,以及带声音和 2K 输出的较新的 MiniMax H3。本指南介绍 Revana 上的所有版本、各自的每秒价格,以及如何调用。

一个 API 提供 Hailuo 和 MiniMax 视频模型

Hailuo 是 MiniMax 的视频模型系列,以充满活力的动作著称:动作场面、舞蹈和肢体运动。MiniMax 最新的视频模型 H3 以 MiniMax 之名销售。Revana 以同一种请求格式提供这两条产品线:

Hailuo 和 MiniMax 视频模型对比
模型模型 id功能分辨率时长起价线路
Hailuo 2.3hailuo-2.3文生视频、图生视频768p, 1080p6 秒或 10 秒$0.06 / s两条线路
Hailuo 2.3 Fasthailuo-2.3-fast图生视频768p, 1080p6 秒或 10 秒$0.04 / s一条线路
Hailuo 2.3 Standardhailuo-2.3-std图生视频768p, 1080p6 秒或 10 秒$0.04 / s一条线路
Hailuo 02hailuo-02文生视频、图生视频、首尾帧512p, 768p, 1080p5 秒或 10 秒$0.02 / s两条线路
Hailuo 02 Prohailuo-02-pro文生视频、图生视频1080p6 s$0.06 / s一条线路
MiniMax H3minimax-h3文生视频、图生视频、首尾帧、参考图,带声音768p, 2K4 到 15 秒$0.03 / s三条线路
MiniMax H3 Maxminimax-h3-max文生视频、图生视频、参考图480p, 768p, 1080p5 到 15 秒$0.05 / s一条线路

Hailuo 2.3 Fast 和 Standard 只能让你发送的图片动起来;如果只想根据提示词生成视频,请使用 Hailuo 2.3、Hailuo 02 或 MiniMax H3。

该用哪个

  • MiniMax H3 是最新也是最灵活的:视频最长 15 秒,声音随画面一起生成,最多九张参考图,2K 档每秒只要 $0.04。它始终会生成声音,所以请不要传 audio: false。
  • Hailuo 2.3 是运动密集镜头的首选,例如体育、舞蹈和特技,可以根据提示词或起始图片生成。
  • Hailuo 2.3 Fast 让静态图动起来,768p 下每秒 $0.04,是图生视频中价格很低的选择。
  • Hailuo 02 适合需要视频从一张图片开始、到另一张图片结束的情形,其 512p 档每秒 $0.02,是低成本测试图生视频创意的好办法。

我们不发布画质评分;请用同一条提示词在其中两个模型上渲染并比较。

Hailuo 和 MiniMax 价格(2026 年 10 月)

这些模型都按每秒输出计费。表格显示了各设置下的标价和一段典型视频的费用。

Hailuo 和 MiniMax 的每秒价格和每段价格
模型分辨率每秒6 秒视频10 秒视频
Hailuo 2.3768p$0.06$0.36$0.60
Hailuo 2.31080p$0.09$0.54仅 6 秒
Hailuo 2.3 Fast768p$0.04$0.24$0.40
Hailuo 2.3 Fast1080p$0.06$0.36仅 6 秒
Hailuo 02768p$0.045 s: $0.20$0.40
MiniMax H3768p$0.03$0.18$0.30
MiniMax H32K$0.04$0.24$0.40
MiniMax H3 Max1080p$0.16$0.96$1.60

并非每条线路都支持 Hailuo 模型 1080p 下的 10 秒视频,所以 1080p 下请按 6 秒来规划,10 秒的视频请用 768p。MiniMax H3 没有这样的缺口:两档设置下都支持 4 到 15 秒的任意时长。想了解它们与其他视频模型相比如何,请参阅最便宜的视频 API 指南。

生成一段 MiniMax H3 视频

发送 POST /v1/generations,然后每隔几秒轮询一次该生成任务,直到出现 succeeded 或 failed。这段 10 秒 2K 带声音的视频费用为 $0.40。

cURL
export REVANA_API_KEY="sr_live_..."

# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax-h3",
    "input": {
      "prompt": "A breakdancer spins on one hand in an empty car park at dusk, the camera circling low around him. Sneakers squeak on concrete, a beat echoes from a speaker.",
      "resolution": "2K",
      "duration": 10,
      "aspect_ratio": "16:9"
    },
    "max_cost_usd": 0.5
  }'

# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JC2V8K5T \
  -H "Authorization: Bearer $REVANA_API_KEY"
Python
import os
import time

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}

resp = requests.post(f"{API}/generations", headers=HEADERS, json={
    "model": "minimax-h3",
    "input": {
        "prompt": "A breakdancer spins on one hand in an empty car park at dusk, the camera circling low around him. Sneakers squeak on concrete, a beat echoes from a speaker.",
        "resolution": "2K",
        "duration": 10,
        "aspect_ratio": "16:9",
    },
    "max_cost_usd": 0.5,
})
resp.raise_for_status()
job = resp.json()

while job["status"] in ("queued", "running"):
    time.sleep(5)
    job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()

if job["status"] == "succeeded":
    print(job["output"]["urls"], job["cost_usd"])
else:
    print("Failed:", job["error"])
Node.js
// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
  Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
  "Content-Type": "application/json",
};

const res = await fetch(`${API}/generations`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    model: "minimax-h3",
    input: {
      prompt: "A breakdancer spins on one hand in an empty car park at dusk, the camera circling low around him. Sneakers squeak on concrete, a beat echoes from a speaker.",
      resolution: "2K",
      duration: 10,
      aspect_ratio: "16:9",
    },
    max_cost_usd: 0.5,
  }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();

while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 5000));
  job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}

if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);
响应
{
  "id": "gen_01JC2V8K5T",
  "model": "minimax-h3",
  "status": "succeeded",
  "output": {
    "urls": [
      "https://cdn.revana.si/g/gen_01JC2V8K5T/0.mp4"
    ],
    "duration_s": 10,
    "has_audio": true
  },
  "cost_usd": 0.4,
  "attempts": 1,
  "error": null,
  "created_at": "2026-10-28T10:14:02Z",
  "completed_at": "2026-10-28T10:15:31Z"
}

用 Hailuo 2.3 Fast 让图片动起来

图生视频时,在 image_url 中传入首帧并描述动作。这段 6 秒 768p 视频的费用为 $0.24:

请求体
{
  "model": "hailuo-2.3-fast",
  "input": {
    "prompt": "The dancer leaps and lands in a low crouch, her skirt swirling, the camera pushing in.",
    "image_url": "https://example.com/dancer.jpg",
    "resolution": "768p",
    "duration": 6
  },
  "max_cost_usd": 0.3
}

模型未列出的时长或分辨率会立刻被拒绝,并返回 422 invalid_input,错误信息会列出它支持的取值。被拒绝的请求和失败的任务都不会收费。

所有 Hailuo 和 MiniMax 模型都在模型页面上。逐个字段的详情见文档,额度包见价格页面;获取 API 密钥即可运行这些示例。

常见问题

Hailuo API 的价格是多少?

2026 年 10 月,Hailuo 2.3 在 768p 下每秒 $0.06,1080p 下 $0.09。Hailuo 2.3 Fast 在 768p 下为 $0.04。Hailuo 02 在 512p 下每秒 $0.02 起。

MiniMax H3 是什么?

MiniMax 最新的视频模型。它可以根据文本、起始图片、首尾帧或最多九张参考图,生成 4 到 15 秒带声音的视频,分辨率为 768p 或 2K,每秒 $0.03 起。

Hailuo 可以文生视频吗?

Hailuo 2.3、Hailuo 02 和 Hailuo 02 Pro 可以。Hailuo 2.3 Fast 和 Hailuo 2.3 Standard 只支持图生视频。

Hailuo 的视频最长可以多长?

Hailuo 2.3 生成 6 秒或 10 秒的视频,Hailuo 02 生成 5 秒或 10 秒的视频;1080p 下请按 6 秒来规划。MiniMax H3 为 4 到 15 秒。

MiniMax H3 会生成声音吗?

会,始终如此。声音随画面一起生成,价格不变,所以请不要传 audio 字段。

用一个密钥试用 Hailuo 和 MiniMax

一个 API 密钥即可使用所有 Hailuo 和 MiniMax 模型以及其他所有视频和图像模型。预付额度 $10 起,仅对已交付的视频收费。