跳转到主要内容
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 girl runs toward the camera and winks with a smile.",
  "subject_reference": [
    {
      "type": "character",
      "image": [
        "https://cdn.hailuoai.com/prod/2025-08-12-17/video_cover/1754990600020238321-411603868533342214-cover.jpg"
      ]
    }
  ],
  "model": "S2V-01"
}'
{
  "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

模型名称。可用值: S2V-01.

Available options:
S2V-01
prompt
string

视频的文本描述,最大 2000 字符.

prompt_optimizer
boolean

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

subject_reference
object[]

主体参考,仅当 modelS2V-01 时可用。目前仅支持单个主体

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