本文详细介绍 MiniMax-Hailuo-02 模型的核心 API(异步提交任务、查询任务状态),包含接口地址、输入输出参数、请求示例、响应示例,以及运镜控制说明、时长与分辨率对应关系等关键信息,为接口调用提供清晰、规范的指引。
1. 认证方式
所有接口均采用 API Key 认证,需在请求头中携带 Authorization 字段,格式如下:
Authorization: \<YOUR\_API\_KEY\>
说明:将 \<YOUR\_API\_KEY\> 替换为您实际的 API Key,即可完成身份认证,获取接口调用权限。
2. 异步提交任务接口
该接口用于提交 MiniMax-Hailuo-02 模型的视频生成异步任务,需传入模型名称、文本描述及相关配置参数(可选传入起始帧、尾帧图片),提交成功后返回任务唯一标识,用于后续查询任务状态及生成结果。
2.1 接口地址
https://api.modelverse.cn/v1/tasks/submit
2.2 输入参数
| 参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| model | string | 是 | 模型名称,固定填写:MiniMax-Hailuo-02 |
| input.prompt | string | 是 | 视频文本描述,最大长度 2000 字符;支持运镜指令,详见「2.4 运镜控制说明」 |
| input.first_frame_image | string | 否 | 视频起始帧图片,支持公网 URL 或 Base64 编码的 Data URL(格式:data:image/jpeg;base64,...);图片要求:- 格式:JPG、JPEG、PNG、WebP- 体积:≤20MB- 尺寸:短边像素>300px,长宽比 2:5 ~ 5:2 之间 |
| input.last_frame_image | string | 否 | 视频尾帧图片,支持公网 URL 或 Base64 编码的 Data URL(格式:data:image/jpeg;base64,...);图片要求:- 格式:JPG、JPEG、PNG、WebP- 体积:≤20MB- 尺寸:短边像素>300px,长宽比 2:5 ~ 5:2 之间 |
| parameters.duration | int | 否 | 视频时长(秒),与模型和分辨率相关,详见「2.5 时长与分辨率对应关系」,默认 6 秒 |
| parameters.resolution | string | 否 | 视频分辨率,与模型和时长相关,详见「2.5 时长与分辨率对应关系」 |
| parameters.prompt_optimizer | boolean | 否 | 是否自动优化文本描述,默认 true |
| parameters.fast_pretreatment | boolean | 否 | 是否缩短文本优化耗时(仅对 MiniMax-Hailuo-2.3 生效),默认 false |
| parameters.aigc_watermark | boolean | 否 | 是否在视频中添加水印,默认 false |
2.4 运镜控制说明
MiniMax-Hailuo-02 系列模型支持运镜指令,可在 input.prompt 中使用以下运镜指令,实现精准的镜头控制效果。
2.4.1 支持的运镜指令(共15种)
| 类别 | 指令 |
|---|---|
| 左右移 | [左移]、[右移] |
| 左右摇 | [左摇]、[右摇] |
| 推拉 | [推进]、[拉远] |
| 升降 | [上升]、[下降] |
| 上下摇 | [上摇]、[下摇] |
| 变焦 | [变焦推近]、[变焦拉远] |
| 其他 | [晃动]、[跟随]、[固定] |
2.4.2 运镜使用规则
-
组合运镜:同一组 [] 内可添加多个指令(建议不超过3个),同时生效。示例:
\&\#34;prompt\&\#34;: \&\#34;一只猫在草地上跑\[左摇,上升\]\&\#34; -
顺序运镜:prompt 中前后指令依次生效。示例:
\&\#34;prompt\&\#34;: \&\#34;一只猫在草地上跑\[推进\], 然后\[拉远\]\&\#34; -
自然语言支持:也可通过自然语言描述运镜,但使用标准指令效果更精准
2.5 时长与分辨率对应关系
2.5.1 不同模型支持的时长(秒)
| 模型 | 720P 分辨率 | 768P 分辨率 | 1080P 分辨率 |
|---|---|---|---|
| MiniMax-Hailuo-02 | - | 6、10 | 6 |
2.5.2 不同模型支持的分辨率
| 模型 | 6秒时长 | 10秒时长 |
|---|---|---|
| MiniMax-Hailuo-02 | 768P(默认)、1080P | 768P(默认) |
2.6 请求示例(curl)
如果您使用 Windows 系统,建议使用 Postman 或其他 API 调用工具,避免命令行调用出现兼容问题。
curl --location --globoff 'https://api.modelverse.cn/v1/tasks/submit' \
--header 'Authorization: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-Hailuo-02",
"input": {
"prompt": "A beautiful sunset over the ocean with waves gently crashing on the shore. [推进, 跟随]"
},
"parameters": {
"duration": 6,
"resolution": "1080P",
"prompt_optimizer": true,
"fast_pretreatment": false,
"aigc_watermark": false
}
}'
2.7 输出参数
| 参数 | 类型 | 描述 |
|---|---|---|
| output.task_id | string | 异步任务的唯一标识,用于后续查询任务状态及获取生成结果。 |
| request_id | string | 本次请求的唯一标识,用于问题排查时定位具体请求记录。 |
2.8 响应示例
{
"output": {
"task_id": "106916112212032"
},
"request_id": "request_id"
}
3. 查询任务状态接口
该接口用于查询已提交的视频生成异步任务的执行状态、生成结果、任务耗时等信息,需传入异步提交任务时返回的 task_id 作为查询标识。
3.1 接口地址
https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>
说明:将 \<task\_id\> 替换为异步提交任务接口返回的实际 task_id,即可发起查询。
3.2 输入参数
| 参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| task_id | string | 是 | 异步任务的唯一标识,由异步提交任务接口返回,用于定位查询具体任务。 |
3.3 请求示例(curl)
curl --location 'https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>' \
--header 'Authorization: <YOUR_API_KEY>'
3.4 输出参数
| 参数 | 类型 | 描述 |
|---|---|---|
| output.task_id | string | 异步任务的唯一标识,与查询时传入的 task_id 一致。 |
| output.task_status | string | 任务状态,可选值:Pending(待处理)、Running(执行中)、Success(成功)、Failure(失败)。 |
| output.urls | array | 视频结果的 URL 列表,仅当 task_status 为 Success 时返回,可通过该 URL 下载生成的视频。 |
| output.submit_time | integer | 任务提交时间戳(单位:秒)。 |
| output.finish_time | integer | 任务完成时间戳(单位:秒),仅当 task_status 为 Success 或 Failure 时返回。 |
| output.error_message | string | 任务失败时返回的错误信息,仅当 task_status 为 Failure 时返回,用于排查失败原因。 |
| usage.duration | integer | 视频时长(秒)。 |
| request_id | string | 本次查询请求的唯一标识,用于问题排查。 |
3.5 响应示例
3.5.1 成功响应示例
{
"output": {
"task_id": "176843862716480",
"task_status": "Success",
"urls": ["https://xxxxx/xxxx.mp4"],
"submit_time": 1756959000,
"finish_time": 1756959050
},
"usage": {
"duration": 6
},
"request_id": ""
}
3.5.2 失败响应示例
{
"output": {
"task_id": "task_id",
"task_status": "Failure",
"submit_time": 1756959000,
"finish_time": 1756959019,
"error_message": "error_message"
},
"usage": {
"duration": 6
},
"request_id": ""
}