视频生成 API · MiniMax-H3
MiniMax-H3 多模态视频生成:文生视频、首尾帧图生视频、参考图 / 视频 / 音频生视频。视频生成是异步任务,接口与聊天模型不同:先创建任务,再查询进度,完成后下载视频。
https://aixvaro.com/v1/videos
Authorization: Bearer sk-...
minimax 或 default 分组的密钥接口概览
| 操作 | 请求 | 说明 |
|---|---|---|
| 创建视频 | POST /v1/videos | 提交生成任务,立即返回任务 id |
| 查询进度 | GET /v1/videos/{id} | 返回 status 与 progress,建议每 5–10 秒查询一次 |
| 下载视频 | GET /v1/videos/{id}/content | 状态为 completed 后返回 MP4 文件 |
一个 5 秒的视频通常需要 2–3 分钟生成。任务状态:queued(排队中)→ in_progress(生成中)→ completed(完成)或 failed(失败)。
创建视频(文生视频)
curl https://aixvaro.com/v1/videos \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "夕阳下的海面上,一只红色的鸟展翅滑翔,镜头缓慢跟随",
"seconds": 5,
"size": "768P"
}'import requests
resp = requests.post(
"https://aixvaro.com/v1/videos",
headers={"Authorization": "Bearer sk-你的密钥"},
json={
"model": "MiniMax-H3",
"prompt": "夕阳下的海面上,一只红色的鸟展翅滑翔,镜头缓慢跟随",
"seconds": 5,
"size": "768P",
},
)
print(resp.json()) # {"id": "task_xxx", "status": "queued", ...}返回示例:
{
"id": "task_VMSYYE7VC25NuR2KAnyxkhV58iVFrBcs",
"object": "video",
"model": "MiniMax-H3",
"status": "queued",
"progress": 0,
"created_at": 1790689587
}请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 必填,固定为 MiniMax-H3 |
prompt | string | 必填,视频内容描述,支持中文 |
seconds | integer | 视频时长,4–15 秒的整数,默认 5(也可写作 duration) |
size | string | 分辨率:目前只支持 768P(默认,可省略;也可写作 resolution) |
input_reference | string | 首帧图片 URL(图生视频),见下一节 |
images | string[] | 首帧、尾帧图片 URL,最多 2 张:第 1 张为首帧,第 2 张为尾帧 |
metadata.ratio | string | 画面比例:16:9(纯文字时默认)、9:16、1:1、4:3、3:4、21:9、adaptive(跟随输入图片 / 视频,有图时默认) |
metadata.first_frame_imagemetadata.last_frame_image | string | 首帧 / 尾帧图片 URL(与 images 二选一) |
metadata.reference_video | string[] | 参考视频 URL,最多 3 个 |
metadata.reference_audio | string[] | 参考音频 URL,最多 3 个 |
metadata.content | array | 高级用法:直接传完整的多模态内容数组,见 参考素材 |
http(s) 链接,不支持直接上传文件或 data: Base64 内容。可先把素材上传到图床或对象存储(如 OSS、S3、R2),再把链接填进请求。图生视频(首帧 / 尾帧)
给出首帧图片,视频从这张图开始动起来;同时给出尾帧,视频会过渡到尾帧画面:
curl https://aixvaro.com/v1/videos \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "画面中的鸟向前飞去,镜头跟随",
"input_reference": "https://example.com/first-frame.jpg",
"seconds": 5,
"size": "768P"
}'curl https://aixvaro.com/v1/videos \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "从白天自然过渡到夜晚",
"images": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"seconds": 6
}'图片建议使用 JPG / PNG,短边不小于 300 像素,宽高比在 2:5 到 5:2 之间。
参考素材(参考图 / 视频 / 音频)
用参考视频、参考音频引导风格和内容。参考素材不能和首尾帧同时使用。
curl https://aixvaro.com/v1/videos \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "参考视频的运镜,拍一段城市夜景",
"seconds": 5,
"metadata": {
"ratio": "16:9",
"reference_video": ["https://example.com/ref.mp4"],
"reference_audio": ["https://example.com/bgm.mp3"]
}
}'需要参考图片(最多 9 张)时,用 metadata.content 传完整的多模态数组,每项用 role 标明用途:
{
"model": "MiniMax-H3",
"seconds": 5,
"metadata": {
"ratio": "adaptive",
"content": [
{"type": "text", "text": "图 1 的人物穿着图 2 的衣服在街头行走"},
{"type": "image_url", "role": "reference_image", "image_url": {"url": "https://example.com/person.jpg"}},
{"type": "image_url", "role": "reference_image", "image_url": {"url": "https://example.com/outfit.jpg"}}
]
}
}role 可选:first_frame、last_frame、reference_image、reference_video、reference_audio。上限:参考图 9 张、参考视频 3 个(总时长 15 秒内)、参考音频 3 个。
查询进度与下载
curl https://aixvaro.com/v1/videos/task_xxx \ -H "Authorization: Bearer sk-你的密钥"
完成时返回:
{
"id": "task_xxx",
"object": "video",
"model": "MiniMax-H3",
"status": "completed",
"progress": 100,
"created_at": 1790689587,
"completed_at": 1790689721
}失败时 status 为 failed,并带有 error.message。失败的任务不扣费,已预扣的额度会自动退回。
curl -L -o video.mp4 https://aixvaro.com/v1/videos/task_xxx/content \ -H "Authorization: Bearer sk-你的密钥"
下载地址需要带上同一个密钥。生成的视频请及时下载保存。
完整示例(Python)
创建任务 → 轮询进度 → 下载 MP4,复制即可运行(需要 pip install requests):
import time
import requests
API = "https://aixvaro.com/v1/videos"
HEADERS = {"Authorization": "Bearer sk-你的密钥"}
task = requests.post(API, headers=HEADERS, json={
"model": "MiniMax-H3",
"prompt": "夕阳下的海面上,一只红色的鸟展翅滑翔,镜头缓慢跟随",
"seconds": 5,
"size": "768P",
}).json()
if "id" not in task:
raise SystemExit(task) # 参数错误等会直接返回 error
print("任务已创建:", task["id"])
while True:
time.sleep(10)
info = requests.get(f"{API}/{task['id']}", headers=HEADERS).json()
print("状态:", info["status"], info.get("progress"))
if info["status"] == "completed":
break
if info["status"] == "failed":
raise SystemExit(info.get("error"))
video = requests.get(f"{API}/{task['id']}/content", headers=HEADERS)
with open("video.mp4", "wb") as f:
f.write(video.content)
print("已保存 video.mp4")价格
按生成的视频秒数计费,在创建任务时预扣,失败自动退回:
| 项目 | 768P |
|---|---|
| 生成视频(每秒) | $0.106 |
| 5 秒视频 | $0.53 |
| 输入参考视频(每秒) | $0.106 |
| 输入图片 | 前 5 张免费,超出部分每张 $0.053 |
使用参考视频时,由于提交时无法得知视频时长,参考视频按上限 15 秒计费。实时价格以 模型与价格 为准。
常见问题
提示「only accepts public http(s) media URLs」
素材传的是本地文件或 data: Base64。请先上传到图床 / 对象存储,改用公网能直接打开的 https:// 链接。
提示「duration must be an integer between 4 and 15 seconds」
seconds 只能是 4 到 15 之间的整数。
提示「supports up to 768P」
MiniMax-H3 目前最高只支持 768P,不支持 2K、1080P、1280x720 等。把 size 改成 768P 或直接省略即可,这类请求不会扣费。
提示「cannot mix frame images with reference media」
首帧 / 尾帧和参考视频 / 音频 / 参考图不能在同一个请求里同时使用,请二选一。
任务状态变成 failed
常见原因:素材链接无法公开访问(需要登录、防盗链、链接过期)、图片尺寸过小、提示词触发内容审核。失败不扣费,调整后重新提交即可。
提示「No available channel for model MiniMax-H3」
密钥分组不对,请使用 minimax 或 default 分组的密钥。
联系客服
客服邮箱:[email protected]。接口报错请附上任务 id 和请求时间。