跳转到主要内容
POST
/
v1
/
video_generation
Video Generation
curl --request POST \
  --url https://api.minimaxi.com/v1/video_generation \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: <content-type>' \
  --data '{
  "prompt": "A mouse runs toward the camera, smiling and blinking.",
  "first_frame_image": "https://cdn.hailuoai.com/prod/2024-09-18-16/user/multi_chat_file/9c0b5c14-ee88-4a5b-b503-4f626f018639.jpeg",
  "model": "MiniMax-Hailuo-02",
  "duration": 6,
  "resolution": "1080P"
}'
{
  "task_id": "106916112212032",
  "base_resp": {
    "status_code": 0,
    "status_msg": "success"
  }
}

Authorizations

Authorization
string
header
required

HTTP: Bearer Auth

  • Security Scheme Type: http
  • HTTP Authorization Scheme: Bearer API_key,用于验证账户信息,可在 账户管理>接口密钥 中查看。

Headers

Content-Type
enum<string>
default:application/json
required

请求体的媒介类型,请设置为 application/json 确保请求数据的格式为 JSON.

Available options:
application/json

Body

application/json
model
enum<string>
required

模型名称。可用值: MiniMax-Hailuo-02, I2V-01-Director, I2V-01-live, I2V-01.

Available options:
MiniMax-Hailuo-02,
I2V-01-Director,
I2V-01-live,
I2V-01
prompt
string

视频的文本描述,最大 2000 字符。对于 MiniMax-Hailuo-02I2V-01-Director 系列模型,支持使用 [指令] 语法进行运镜控制。 可在 prompt 中通过 [指令] 格式添加运镜指令,以实现精确的镜头控制。

  • 支持 15 种运镜指令的指令:

    • 左右移: [左移], [右移]
    • 左右摇: [左摇], [右摇]
    • 推拉: [推进], [拉远]
    • 升降: [上升], [下降]
    • 上下摇: [上摇], [下摇]
    • 变焦: [变焦推近], [变焦拉远]
    • 其他: [晃动], [跟随], [固定]
  • 使用规则:

    • 组合运镜: 同一组 [] 内的多个指令会同时生效,如 [左摇,上升],建议组合不超过 3 个
    • 顺序运镜: prompt 中前后出现的指令会依次生效,如 "...[推进], 然后...[拉远]"
    • 自然语言: 也支持通过自然语言描述运镜,但使用标准指令能获得更准确的响应
    • 多运镜教程及模板,可参考 运镜使用教程
prompt_optimizer
boolean

是否自动优化 prompt,默认为 true。设为 false 可进行更精确的控制

fast_pretreatment
boolean

是否缩短 prompt_optimizer 的优化耗时,默认为 false。仅对 MiniMax-Hailuo-02 模型生效。

duration
integer

视频时长(秒),默认值为 6。其可用值与模型和分辨率相关:

Model720P768P1080P
MiniMax-Hailuo-02-6106
其他模型6-6
resolution
enum<string>

视频分辨率。其可用值与模型相关:

Model6s10s
MiniMax-Hailuo-02512P, 768P (默认), 1080P512P, 768P (默认)
其他模型720P (默认)不支持
Available options:
512P,
720P,
768P,
1080P
first_frame_image
string

将指定图片作为视频的起始帧。支持公网 URL 或 Base64 编码的 Data URL (data:image/jpeg;base64,...)

  • 必填条件:

    • modelI2V-01, I2V-01-Director, I2V-01-live
    • modelMiniMax-Hailuo-02resolution512P
  • 图片要求:

    • 格式:JPG, JPEG, PNG, WebP
    • 体积:小于 20MB
    • 尺寸:短边像素大于 300px,长宽比在 2:5 和 5:2 之间
callback_url
string

接收任务状态更新通知的回调 URL。支持通过 callback_url 参数可以配置回调,以接收任务状态的更新的异步通知。

地址验证:配置后,MiniMax 服务器会向 callback_url 发送一个 POST 请求,请求体中包含 challenge 字段。服务端需要在 3 秒内原样返回该 challenge 值以完成验证 状态更新:验证成功后,每当任务状态变更时,MiniMax 都会向该 URL 推送最新的任务状态。推送的数据结构与调用查询视频生成任务接口的响应体一致

回调返回的"status"包括以下状态:

  • "processing" - 生成中
  • "success" - 成功
  • "failed" - 失败
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:
# Validation request, echo back challenge
return {"challenge": challenge}
else:
# Status update request, handle accordingly
# {
# "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, # 必选,端口可设置
# ssl_keyfile="yourname.yourDomainName.com.key", # 可选,看是否开启ssl
# ssl_certfile="yourname.yourDomainName.com.key", # 可选,看是否开启ssl
)
aigc_watermark
boolean

是否在生成的视频中添加水印,默认为 false

Response

200 - application/json
task_id
string

视频生成任务的 ID,用于后续查询任务状态

base_resp
object
I