
🎵 参考音频 可选
🌙 凌晨闲时(0–8 点)每个账号最多同时 5 个任务在排队/生成,做完一个才能再交一个
🖼️ 生成结果
👤 三视图示例 可直接下载使用
🖼️ 我的作品
所有生成历史,可重新下载或重提失败任务
💾 温馨提示:为节省云端存储空间,生成的作品最多保留 15 天,请及时下载保存,过期后将自动清理~
📄 API 接入
两步接入,即可调用视频生成接口
1
自助开通 API 权限
为防止 API 被滥用,接口采用限速(查询 / 下载各 1 次/秒),开通需积分余额不低于 100 分。开通前请阅读并同意下方使用协议。
✅ 已开通 API 权限
查询 / 下载限速 1 次/秒,可直接使用下方接口。
API 使用协议
甲方(服务提供方):鼠鼠工具(域名为 www.runlive.top)
乙方(使用者):调用本接口的持卡用户
乙方(使用者):调用本接口的持卡用户
您(乙方)在使用甲方提供的视频/图片生成 API 服务前,请务必仔细阅读并充分理解本协议全部内容。勾选同意并点击开通,即视为您已阅读、理解并接受本协议全部条款。
一、服务内容
1. 甲方通过 API 接口向乙方提供视频/图片生成能力;2. 乙方须持有有效卡密钥(sk_ 开头)并开通 API 权限后方可使用。
二、使用规范
1. 本服务仅限合法用途,严禁生成、传播违反法律法规或公序良俗的内容(含色情、暴力、恐怖、诈骗、侵权等);2. 使用他人形象、声音、肖像或素材前,乙方应自行取得合法授权,未经授权不得生成、发布或传播,由此产生的侵权责任由乙方承担;3. 不得滥用接口,包括但不限于绕过限速、恶意刷量、批量注册、攻击性调用、转售、出租或向第三方分享 API 权限;4. 乙方应妥善保管卡密钥,因密钥泄露造成的损失由乙方自行承担。
三、数据与审计
1. 为保障服务安全,甲方会自动记录调用方的 IP 地址、请求时间、调用内容等信息,用于安全审计与风险控制;2. 乙方同意甲方在合理范围内使用上述记录进行风险识别与处置。
四、责任条款
1. 乙方违反本协议造成的一切损失(含第三方索赔、平台损失、监管处罚),由乙方依法独立承担全部责任;2. 甲方有权对违规账号采取限制、暂停或永久封禁 API 权限等措施,且无需退还已扣积分;3. 甲方保留依法追究乙方责任的权利。
五、其他
1. 甲方可不时更新本协议,以页面公示的最新版本为准;2. 本协议的订立、履行及争议解决适用中华人民共和国法律。
2
点击选择接入平台
接入步骤
第一步:创建 skill
复制下面的完整 skill 内容,粘贴给你的 AI 工具(Claude Code / Codex / 豆包 / 腾讯 WorkBuddy 等),让它创建这个 skill。创建前,务必先把 skill 内容最开头「🔑 卡密钥」那行里的
sk_你的卡密钥 换成你自己的 key(卡密钥)。---
name: minimax-video-api
description: Use when calling the MiniMax H3 video generation API — submitting a video task (text-to-video / image-to-video / first-last-frame / multi-reference), querying task status, or downloading the result. Also covers the fixed 1 req/s rate limit on query/download and the off-peak (0–8) per-account concurrency limit of 5 in-flight tasks.
---
# MiniMax H3 视频生成 API 调用
## 🔑 卡密钥(使用前必填)
把下面这行里的 `sk_你的卡密钥` 替换成你自己的卡密钥(`sk_` 开头),之后所有请求都用它鉴权:
**KEY = `sk_你的卡密钥`**
## 概述
鼠鼠工具(`www.runlive.top`)的视频生成 HTTP API。外部程序用 **卡密钥 `X-Card-Key`**(`sk_` 开头)作为唯一凭证调用,与前端网页共用同一套「码即账户」计费。
**积分 = 时长(秒)× 每秒单价**(按所选分辨率),从卡里扣。
## 基础
- 接口基址:`https://www.runlive.top/mnmx`
- 每个请求带头:`X-Card-Key: sk_你的卡密钥`
- **限速**:查询 / 下载各 **1 次/秒**(固定不可改),超出 `429`;提交不限速(扣钱即限速)
- **并发(闲时)**:凌晨 0–8 点每个账号最多同时 **5 个任务**在排队/生成,做完一个才能再交一个;白天不限
## 两个任务
| task_name | 用途 | 文件字段 | 分辨率 |
|---|---|---|---|
| `minimax_h3_v2` | 文生视频 / 图生视频(首帧)/ 首尾帧 | `first_frame` / `last_frame` | 480P / 768P / 1080P |
| `minimax_h3_multi_ref` | 多参考(全能参考)视频 | `ref_0` ~ `ref_5`(图 1~6)+ `ref_audio_0` ~ `ref_audio_2`(音频 1~3) | 480P / 768P(**不支持 1080P**) |
每秒单价(积分/秒):
| 分辨率 | 值 | v2 | multi_ref |
|---|---|---|---|
| 480P | `0.4` | 5 | 5 |
| 768P | `1` | 10 | 10 |
| 1080P | `2` | 15 | — |
## 提交任务 `POST /api/v1/tasks`
multipart 表单,成功返回 **202**,记下 `data.task_id`。
| 字段 | 必填 | 说明 |
|---|---|---|
| `task_name` | 是 | `minimax_h3_v2` / `minimax_h3_multi_ref` |
| `prompt` | 是 | 提示词 |
| `resolution` | 否 | `0.4`=480P / `1`=768P / `2`=1080P |
| `duration` | 否 | 4–15 秒 |
| `aspect_ratio` | 否 | 见下,整串填写 |
| `first_frame` / `last_frame` | 否 | 首帧/尾帧图(仅 v2) |
| `ref_0` ~ `ref_5` | 否 | 参考图 1~6(仅 multi_ref) |
| `ref_audio_0` ~ `ref_audio_2` | 否 | 参考音频 1~3(仅 multi_ref;mp3 / wav / ogg / flac / m4a / aac,总时长 ≤ 15 秒) |
`aspect_ratio` 可选值:`21:9 (Ultrawide)` / `16:9 (Widescreen)`(默认)/ `4:3 (Standard)` / `1:1 (Square)` / `3:4 (Portrait Standard)` / `9:16 (Portrait Widescreen)`。
### 文生视频(v2,不传图)
```python
r = requests.post(f"{BASE}/api/v1/tasks", headers=H, data={
"task_name": "minimax_h3_v2",
"prompt": "一只猫在草地上奔跑,阳光明媚,电影质感",
"resolution": "0.4", "duration": "5", "aspect_ratio": "16:9 (Widescreen)",
})
task_id = r.json()["data"]["task_id"]
```
### 图生视频 / 首尾帧(v2)
图片走 `files`,字段名固定 `first_frame` / `last_frame`,格式 `(文件名, 文件对象, MIME)`。只传 `first_frame` = 图生视频;`first_frame`+`last_frame` = 首尾帧。
```python
r = requests.post(f"{BASE}/api/v1/tasks", headers=H, data={
"task_name": "minimax_h3_v2", "prompt": "...", "resolution": "1", "duration": "5",
"aspect_ratio": "16:9 (Widescreen)",
}, files={
"first_frame": ("first.jpg", open("first.jpg", "rb"), "image/jpeg"),
"last_frame": ("last.jpg", open("last.jpg", "rb"), "image/jpeg"),
})
```
### 多参考(multi_ref,1~6 张图 + 0~3 段音频)
```python
r = requests.post(f"{BASE}/api/v1/tasks", headers=H, data={
"task_name": "minimax_h3_multi_ref", "prompt": "保持人物长相一致,让她跳舞",
"resolution": "1", "duration": "5", "aspect_ratio": "16:9 (Widescreen)",
}, files={
"ref_0": ("a.jpg", open("a.jpg", "rb"), "image/jpeg"),
"ref_1": ("b.jpg", open("b.jpg", "rb"), "image/jpeg"),
"ref_audio_0": ("voice.mp3", open("voice.mp3", "rb"), "audio/mpeg"),
})
```
## 查询状态 `GET /api/v1/tasks/{task_id}`
`data.status` 取值:`queued` / `processing` / `completed` / `failed`。轮询间隔建议 ≥ 3 秒(限速 1/秒)。
```python
import time
while True:
d = requests.get(f"{BASE}/api/v1/tasks/{task_id}", headers=H).json()["data"]
if d["status"] == "completed": break
if d["status"] == "failed":
raise RuntimeError(d.get("error"))
time.sleep(3)
```
## 下载结果 `GET /api/v1/tasks/{task_id}/file-url`
任务 `completed` 后调用,返回签名直链(**无需再带头**)。`url` 末尾追加 `&download=1` 触发下载而非在线播放。
```python
d = requests.get(f"{BASE}/api/v1/tasks/{task_id}/file-url", headers=H).json()["data"]
resp = requests.get(d["url"] + "&download=1")
open(d["filename"], "wb").write(resp.content)
```
## 错误码
| 码 | 含义 | 处理 |
|---|---|---|
| 202 | 提交成功 | 记下 `task_id` |
| 400 | 参数错误 | 检查字段 |
| 402 | 积分不足 | 充值 |
| 404 | 任务不存在 / 非本人 / 未完成 | 检查参数 |
| 429 | 查询/下载超 1 次/秒;或凌晨闲时并发超 5 个 | 放慢轮询 / 等任务完成再提 |
| 502 | worker 未受理(自动退款) | 稍后重试 |
| 503 | 系统维护中 | 稍后再试 |
## 常见坑
- **1080P 只有 v2 支持**:`multi_ref` 传 `resolution=2` 会被拒。
- **1080P 首尾帧**:`first_frame`+`last_frame` 都传且 `resolution=2` 时,时长最长 **10 秒**(超出拒绝提交、不扣分)。
- **下载前先等 `completed`**:`file-url` 会实时核对 worker 状态,库里状态有秒级同步延迟也不误判,未完成仍返回 404。
- **图片**:jpg / png / webp,单张 ≤ 100MB;MIME 对应 `image/jpeg` / `image/png` / `image/webp`。
- **音频(仅 multi_ref)**:mp3 / wav / ogg / flac / m4a / aac,最多 3 段,总时长 ≤ 15 秒;MIME 对应 `audio/mpeg` / `audio/wav` 等。
- **提交的 `aspect_ratio` 要整串填**,如 `"16:9 (Widescreen)"`,不是只写 `"16:9"`。
复制后粘贴给 AI 工具,让它创建这个 skill
🎬 视频 480P 5 积分/秒 · 768P 10 积分/秒 · 1080P 15 积分/秒
🌙 闲时(00:00–07:59) 480P 1 积分/秒 · 768P 2 积分/秒 · 1080P 3 积分/秒
✨ 推荐案例 点击卡片预览视频 · 一键套用提示词
