Skip to content

MiniMax-H3 视频 API

MiniMax-H3 支持通过文本、图片、视频和音频异步生成视频。先提交生成任务,再使用返回的 task_id 轮询查询接口,直到任务进入终态。

API 概览

项目
模型MiniMax-H3
Base URLhttps://api.exchangetoken.ai
创建任务POST /v2/video_generation
查询任务GET /v2/query/video_generation/{task_id}
鉴权Authorization: Bearer YOUR_API_KEY
请求格式application/json(上游文档标注的默认值;建议显式发送)

不支持回调地址

请勿传入 callback_url。请使用创建接口返回的平台 task_id 轮询 Exchange Token 查询接口。

创建视频生成任务

http
POST https://api.exchangetoken.ai/v2/video_generation

请求字段

字段类型必填默认值说明
modelstring必须为 MiniMax-H3
contentobject[]多模态输入数组;每个请求必须包含一个非空的 text
resolutionstring768P2K
durationinteger生成视频时长,范围为 415
ratiostring条件必填可省略时为 adaptiveadaptive21:916:94:31:13:49:16;具体行为见下文

Exchange Token 不接受 MiniMax 上游 API 中的 callback_url 字段。

content 内容项

content 中每一项都需要设置 type。媒体项通过嵌套对象中的 url 传入内容地址。

type值字段支持的 role默认行为说明
texttext提示词,最多 7,000 个字符;必须至少提供一个非空文本项
image_urlimage_url.urlfirst_framelast_framereference_image仅有一张图片且省略 role 时,默认为 first_frame首帧、尾帧或参考图片
video_urlvideo_url.urlreference_video参考视频
audio_urlaudio_url.urlreference_audio参考音频

媒体内容可以使用公网 URL 或支持的 Base64 Data URL。整个 JSON 请求体不得超过 64 MB;Base64 会增加体积,因此较大的媒体文件建议使用公网 URL。

支持的生成场景

场景content 组合ratio 规则
文生视频仅一个 text必填,且不能为 adaptive
首帧图生视频text + 一个 first_frame 图片(也可省略 role)adaptive 处理
尾帧图生视频text + 一个 last_frame 图片adaptive 处理
首尾帧图生视频text + first_frame + last_frame 图片adaptive 处理
参考生视频text + 合法的参考图片、视频、音频组合可选,默认为 adaptive

同一个请求中,首尾帧输入不能与 reference_imagereference_videoreference_audio 混用。

需要特别注意,adaptive 不是文生视频的有效默认值:文生视频必须显式选择一个具体比例。图生视频的比例由输入图片决定,即使传入其他合法值也会按 adaptive 处理。参考生视频省略 ratio 时使用 adaptive

媒体限制

媒体限制
图片JPG、JPEG、PNG、WEBP、HEIC 或 HEIF;单张不超过 30 MB;宽高 256–5760 px;宽高比 0.4–2.5;首帧最多 1 张、尾帧最多 1 张、参考图片最多 9 张
视频MP4 或 MOV;H.264/H.265;单个不超过 50 MB;单段 2–15 秒且总计不超过 15 秒;最多 3 段;宽高 256–5760 px;宽高比 0.4–2.5;23.976–60 FPS
音频WAV 或 MP3;单个不超过 15 MB;单段 2–15 秒且总计不超过 15 秒;最多 3 段

文生视频示例

bash
curl -sS -X POST "https://api.exchangetoken.ai/v2/video_generation" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-H3",
    "content": [
      {
        "type": "text",
        "text": "电影感跟拍镜头:一名宇航员走过霓虹灯照亮的雨夜街道,积水中倒影闪烁。"
      }
    ],
    "resolution": "2K",
    "duration": 5,
    "ratio": "16:9"
  }'

图生视频示例

bash
curl -sS -X POST "https://api.exchangetoken.ai/v2/video_generation" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-H3",
    "content": [
      {
        "type": "text",
        "text": "镜头缓慢推进,杯中热气自然升起。"
      },
      {
        "type": "image_url",
        "image_url": {"url": "https://example.com/first-frame.png"},
        "role": "first_frame"
      }
    ],
    "resolution": "768P",
    "duration": 5,
    "ratio": "adaptive"
  }'

参考生视频示例

bash
curl -sS -X POST "https://api.exchangetoken.ai/v2/video_generation" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-H3",
    "content": [
      {
        "type": "text",
        "text": "保持主体外观,并参考视频中的动作和音频中的声音。"
      },
      {
        "type": "video_url",
        "video_url": {"url": "https://example.com/reference.mp4"},
        "role": "reference_video"
      },
      {
        "type": "audio_url",
        "audio_url": {"url": "https://example.com/reference.mp3"},
        "role": "reference_audio"
      }
    ],
    "resolution": "2K",
    "duration": 5,
    "ratio": "adaptive"
  }'

创建响应

json
{
  "task_id": "sg_vid_xxxxxxxxxxxxxxxx"
}

请保存 Exchange Token 返回的任务 ID,后续查询只需要使用这个 ID。

查询任务

{task_id} 替换为创建接口返回的值。

查询接口没有可选请求字段或默认值;路径参数 task_idAuthorization 请求头均为必填。

http
GET https://api.exchangetoken.ai/v2/query/video_generation/{task_id}
bash
curl -sS "https://api.exchangetoken.ai/v2/query/video_generation/sg_vid_xxxxxxxxxxxxxxxx" \
  -H "Authorization: Bearer YOUR_API_KEY"

任务状态

状态含义
queued排队等待执行
running正在生成
succeeded生成成功,从 task.content.url 获取视频地址
failed生成失败,查看 task.error
cancelled任务已取消

查询响应字段

HTTP 响应体的顶层包含一个 task 对象。

字段类型返回条件说明
taskobject始终返回视频生成任务详情

task 对象

字段类型返回条件说明
idstring始终返回Exchange Token 平台任务 ID,与查询路径中使用的 ID 相同;不会暴露上游任务 ID
modelstring始终返回任务使用的模型;本接口为 MiniMax-H3
statusstring始终返回当前任务状态:queuedrunningsucceededfailedcancelled
errorobject失败时失败详情,字段见下方 task.error 表格
created_atinteger始终返回任务创建时间,Unix 秒级时间戳
updated_atinteger始终返回任务最后更新时间,Unix 秒级时间戳
contentobject成功时生成结果,字段见下方 task.content 表格
resolutionstring始终返回请求或输出分辨率:768P2K
durationinteger始终返回请求或输出视频时长,单位为秒
usageobject始终返回用量信息;实际用量尚不可用时,基础计数字段为 0,详见下方 task.usage 表格
ratiostring可用时实际输出宽高比;使用自适应比例时,以该字段判断最终选择的比例
task_typestring始终返回在本 Exchange Token 接口中固定为 generation
modalitystring始终返回在本 Exchange Token 接口中固定为 video

task.content 对象

字段类型返回条件说明
urlstringstatus=succeeded生成视频的临时下载地址;请尽快下载或转存

task.error 对象

字段类型返回条件说明
codestring上游报告失败时MiniMax 失败代码;平台侧失败时可能不返回该字段
messagestringstatus=failed可读的失败原因

task.usage 对象

字段类型返回条件说明
total_secondsinteger始终返回总计费视频秒数,即 input_seconds + output_seconds;用量不可用时为 0
input_secondsinteger始终返回输入参考视频的总秒数;未使用参考视频或用量不可用时为 0
output_secondsinteger始终返回生成视频的输出秒数;用量不可用时为 0
input_image_countinteger始终返回输入图片总数,包括首帧、尾帧和参考图片;没有图片时为 0
input_audio_secondsinteger返回参考音频用量时输入参考音频各片段时长之和,按秒取整
total_tokensintegerMiniMax 返回时等效总用量 token,即 prompt_tokens + completion_tokens
prompt_tokensintegerMiniMax 返回时由参考视频、图片和参考音频折算的等效输入 token;没有多模态输入用量时为 0
completion_tokensintegerMiniMax 返回时由生成视频折算的等效输出 token

表格中的“始终返回”是指查询请求获得成功 HTTP 响应时,包括任务仍在排队、运行或已经失败的情况。部分可选用量字段在 MiniMax 返回实际用量前可能省略。

查询成功响应

json
{
  "task": {
    "id": "sg_vid_xxxxxxxxxxxxxxxx",
    "model": "MiniMax-H3",
    "status": "succeeded",
    "created_at": 1785125529,
    "updated_at": 1785125946,
    "content": {
      "url": "https://example.com/generated-video.mp4"
    },
    "resolution": "2K",
    "duration": 5,
    "usage": {
      "total_seconds": 5,
      "input_seconds": 0,
      "output_seconds": 5,
      "input_image_count": 1,
      "input_audio_seconds": 6,
      "total_tokens": 273890,
      "prompt_tokens": 13500,
      "completion_tokens": 260390
    },
    "ratio": "16:9",
    "task_type": "generation",
    "modality": "video"
  }
}

生成视频的 URL 有时效性。任务成功后请尽快下载或转存结果。

查询失败响应

json
{
  "task": {
    "id": "sg_vid_xxxxxxxxxxxxxxxx",
    "model": "MiniMax-H3",
    "status": "failed",
    "error": {
      "code": "1026",
      "message": "video description contains sensitive content"
    },
    "resolution": "2K",
    "duration": 5,
    "ratio": "16:9",
    "task_type": "generation",
    "modality": "video"
  }
}

错误格式

网关错误使用 Exchange Token 的统一错误结构:

json
{
  "error": {
    "type": "invalid_request",
    "message": "content must include a non-empty text item"
  }
}
HTTP 状态码常见含义
400JSON 或参数无效、传入了不支持的 callback_url、缺少提示词,或模型/分辨率/时长不合法
401 / 403API Key 缺失、无效、禁用或无权访问
402配额不足
404任务不存在,或任务不属于当前 API Key
422输入未通过内容安全检查
429请求频率超过限制
500内部错误
502上游请求或响应异常
503无可用渠道或异步任务服务不可用