文生视频生成任务
使用本接口输入文本内容,创建视频生成任务。
接口地址
http
POST /minimax/v1/video_generation认证
| 方式 | 说明 |
|---|---|
| Bearer Token | 在请求头中携带 Authorization: Bearer <API_key> 用于验证账户信息。 |
请求头
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
Content-Type | string | 是 | 请求体的媒介类型,请设置为 application/json |
Authorization | string | 是 | Bearer API_key,用于验证账户信息 |
请求体
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | - | 模型名称,可用值:MiniMax-Hailuo-2.3 |
prompt | string | 是 | - | 视频的文本描述,最大 2000 字符。支持使用 [指令] 语法进行运镜控制 |
prompt_optimizer | boolean | 否 | true | 是否自动优化 prompt。设为 false 可进行更精确的控制 |
fast_pretreatment | boolean | 否 | false | 是否缩短 prompt_optimizer 的优化耗时。仅对 MiniMax-Hailuo-2.3 和 MiniMax-Hailuo-02 模型生效 |
duration | integer | 否 | 6 | 视频时长(秒),可用值与模型和分辨率相关(详见下方说明) |
resolution | string | 否 | 768P | 视频分辨率,可选 768P、1080P(详见下方说明) |
callback_url | string | 否 | - | 接收任务状态更新通知的回调 URL(详见下方说明) |
aigc_watermark | boolean | 否 | false | 是否在生成的视频中添加水印 |
模型说明
运镜指令
在 prompt 中可通过 [指令] 格式添加运镜指令,实现精确的镜头控制。
支持 15 种运镜指令:
| 类别 | 指令 |
|---|---|
| 左右移 | [左移], [右移] |
| 左右摇 | [左摇], [右摇] |
| 推拉 | [推进], [拉远] |
| 升降 | [上升], [下降] |
| 上下摇 | [上摇], [下摇] |
| 变焦 | [变焦推近], [变焦拉远] |
| 其他 | [晃动], [跟随], [固定] |
使用规则:
- 组合运镜:同一组
[]内的多个指令会同时生效,如[左摇,上升],建议组合不超过 3 个 - 顺序运镜:prompt 中前后出现的指令会依次生效,如
...[推进], 然后...[拉远] - 自然语言:也支持通过自然语言描述运镜,但使用标准指令能获得更准确的响应
时长与分辨率
| 模型 | 720P | 768P | 1080P |
|---|---|---|---|
| MiniMax-Hailuo-2.3 | - | 6 或 10 | 6 |
| MiniMax-Hailuo-02 | - | 6 或 10 | 6 |
| 其他模型 | 6 | - | 6 |
分辨率可用值
| 模型 | 6s | 10s |
|---|---|---|
| MiniMax-Hailuo-2.3 | 768P(默认), 1080P | 768P(默认) |
callback_url 说明
支持通过 callback_url 参数配置回调,以接收任务状态的异步通知。
地址验证:配置后,服务器会向 callback_url 发送一个 POST 请求,请求体中包含 challenge 字段。服务端需在 3 秒内原样返回该 challenge 值以完成验证。
状态更新:验证成功后,每当任务状态变更时,会向该 URL 推送最新的任务状态。
回调返回的 status 包括以下状态:
processing— 生成中success— 成功failed— 失败
回调验证示例(Python)
python
from fastapi import FastAPI, HTTPException, Request
import json
app = FastAPI()
@app.post("/get_callback")
async def get_callback(request: Request):
try:
json_data = await request.json()
challenge = json_data.get("challenge")
if challenge is not None:
# 验证请求,原样返回 challenge
return {"challenge": challenge}
else:
# 状态更新请求,进行相应处理
# {
# "task_id": "115334141465231360",
# "status": "success",
# "file_id": "205258526306433",
# "base_resp": {
# "status_code": 0,
# "status_msg": "success"
# }
# }
return {"status": "success"}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)请求示例
bash
curl -X POST "https://neolink.com/api/minimax/v1/video_generation" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API_key>" \
-d '{
"model": "MiniMax-Hailuo-2.3",
"prompt": "A man picks up a book [上升], then reads [固定].",
"duration": 6,
"resolution": "1080P"
}'响应体
| 参数名 | 类型 | 说明 |
|---|---|---|
task_id | string | 视频生成任务的 ID,用于后续查询任务状态 |
base_resp.status_code | integer | 状态码,0 表示请求成功 |
base_resp.status_msg | string | 具体错误详情 |
响应示例
json
{
"task_id": "106916112212032",
"base_resp": {
"status_code": 0,
"status_msg": "success"
}
}错误码
| 状态码 | 含义 |
|---|---|
0 | 请求成功 |
1002 | 触发限流,请稍后再试 |
1004 | 账号鉴权失败,请检查 API-Key 是否填写正确 |
1008 | 账号余额不足 |
1026 | 视频描述涉及敏感内容,请调整 |
2013 | 传入参数异常,请检查入参是否按要求填写 |
2049 | 无效的 API Key,请检查 API Key |
