跳到主要内容

视频生成

MoziaVerse 提供统一的异步视频生成 API。无论底层使用哪个模型,调用流程均为:提交任务、查询状态、下载结果。

快速开始

基础地址:

https://mzsjai.com

所有请求都必须携带 API Key:

Authorization: Bearer <YOUR_API_KEY>

请只在服务端保存 API Key,不要将其写入浏览器代码、公开仓库或日志。

1. 提交任务

curl --fail-with-body \
-X POST 'https://mzsjai.com/v1/video/generations' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model": "minimax/minimax-h3-t2va",
"prompt": "日落时分的无人海滩,镜头贴近沙滩向海面平稳推进",
"duration": 5,
"resolution": "768P",
"ratio": "16:9"
}'

提交成功后请保存返回的 task_id

{
"id": "task_a1b2c3d4",
"task_id": "task_a1b2c3d4",
"object": "video",
"model": "minimax/minimax-h3-t2va",
"status": "queued",
"progress": 0,
"created_at": 1780000000
}

2. 查询状态

curl 'https://mzsjai.com/v1/video/generations/task_a1b2c3d4' \
-H "Authorization: Bearer ${MOZIA_API_KEY}"

建议每 5~10 秒查询一次,直到状态变为 succeededfailed

3. 下载结果

任务成功后,可以访问响应中的 content.url,也可以通过统一下载接口获取文件:

curl -L 'https://mzsjai.com/v1/video/generations/task_a1b2c3d4/content' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-o result.mp4

接口一览

方法路径说明
POST/v1/video/generations提交视频生成任务
GET/v1/video/generations/{task_id}查询任务状态与结果
GET/v1/video/generations/{task_id}/content下载生成的视频

/v1/videos 及其查询、下载路由仅用于兼容旧客户端。新接入请使用 /v1/video/generations,不要混用两套响应结构。

选择模型

模型决定可使用的输入素材与生成能力。当前推荐:

模型 ID能力输入要求
minimax/minimax-h3-t2va文生视频仅提示词,不可携带素材
minimax/minimax-h3-fl2va文生视频、首帧或首尾帧生成可不传图片,或传首帧及可选尾帧
minimax/minimax-h3-ref2va参考素材生成至少提供一项参考图、视频或音频
minimax/minimax-h3-2k2K 视频生成具体能力与参数以模型目录为准

新接入的纯文本生成推荐使用 minimax/minimax-h3-t2va。模型列表、可用状态和计费可能调整,请以控制台模型目录为准。

H3 模型的完整素材角色、扩展参数和兼容说明请参阅 MiniMax H3

Seedance 2.0 的首尾帧、参考素材、上传和兼容说明请参阅 Seedance 2.0

提交视频生成任务

POST /v1/video/generations
Content-Type: application/json

通用参数

参数类型必填说明
modelstring控制台模型目录中的完整模型 ID
promptstring条件必填文本提示词;与 content 中的文本至少提供一种
contentarray文本及图片、视频或音频素材
durationinteger视频时长,当前 H3 模型支持 4~15 秒
resolutionstring清晰度,例如 768P
ratiostring宽高比,例如 16:99:161:1
sizestring兼容旧客户端的尺寸字段;不要与 resolutionratio 混用
seedinteger随机种子,固定后有助于复现
preserve_reference_audioboolean是否保留唯一参考视频的原音轨,默认 false
metadataobject模型专属扩展参数

如果 promptcontent 中的文本同时存在,顶层 prompt 优先。

素材格式

文本:

{"type": "text", "text": "人物沿海边自然行走,镜头平稳跟随"}

图片:

{
"type": "image_url",
"role": "first_frame",
"image_url": {"url": "https://example.com/start.jpg"}
}

视频或音频使用相同结构:

{
"type": "video_url",
"role": "reference_video",
"video_url": {"url": "https://example.com/reference.mp4"}
}
typerole说明
image_urlfirst_frame视频首帧
image_urllast_frame视频尾帧,必须同时提供首帧
image_urlreference_image人物、主体、服装、风格或场景参考
video_urlreference_video动作、身份或场景参考
audio_urlreference_audio语义、节奏或氛围参考

素材必须是模型服务可访问的 HTTP(S) URL。当前接口不接受 Data URL、原始 Base64、本地文件路径或 multipart 文件上传。

文生视频示例

curl --fail-with-body \
-X POST 'https://mzsjai.com/v1/video/generations' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model": "minimax/minimax-h3-t2va",
"prompt": "清晨的雪山脚下,一辆越野车沿着蜿蜒公路缓慢前行,航拍镜头平稳跟随,电影感光影",
"duration": 5,
"resolution": "768P",
"ratio": "16:9",
"seed": 20260827
}'

图生视频示例

curl --fail-with-body \
-X POST 'https://mzsjai.com/v1/video/generations' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model": "minimax/minimax-h3-fl2va",
"content": [
{
"type": "text",
"text": "人物从静止开始自然向前行走,镜头平稳跟随"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {"url": "https://example.com/start.jpg"}
}
],
"duration": 5,
"resolution": "768P",
"ratio": "16:9"
}'

参考素材示例

curl --fail-with-body \
-X POST 'https://mzsjai.com/v1/video/generations' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model": "minimax/minimax-h3-ref2va",
"content": [
{
"type": "text",
"text": "让参考图中的人物在海边自然行走,保持人物身份一致"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {"url": "https://example.com/person.jpg"}
}
],
"duration": 8,
"resolution": "768P",
"ratio": "9:16"
}'

查询任务

GET /v1/video/generations/{task_id}
状态说明
queued已创建或正在排队
running正在生成
succeeded生成成功
failed生成失败
cancelled已取消
expired已过期
unknown状态暂未同步,通常应继续轮询

成功响应示例:

{
"id": "task_a1b2c3d4",
"task_id": "task_a1b2c3d4",
"object": "video",
"model": "minimax/minimax-h3-t2va",
"status": "succeeded",
"progress": 100,
"content": {
"url": "https://mzsjai.com/v1/video/generations/task_a1b2c3d4/content/video.mp4?signature=...",
"expires_at": 1780086580
}
}

content.url 是有时效的签名地址,请及时下载。resolutionratiodurationusage 等字段只在平台获得相应信息时返回,客户端不应假设它们始终存在。

错误处理

错误响应示例:

{
"code": "invalid_request",
"message": "last_frame requires first_frame",
"type": "invalid_request_error",
"data": null
}
状态码说明建议
400参数、素材或模型不匹配修正请求后重试
401API Key 缺失或无效检查鉴权配置
404任务不存在检查 task_id 和 API Key
429额度不足或触发限流检查余额并降低请求频率
500生成失败保存请求 ID 后联系平台
502/503/504服务暂不可用或超时使用指数退避进行有限重试

视频生成耗时较长。客户端应设置合理的总等待时间,并对查询请求使用指数退避和最大重试次数。