# MiniMax H3 视频 > MiniMax-H3 视频生成、提示词增强、768P 到 2K 再生成,以及任务查询和取消/删除。 Base URL:`https://platform.sgt.site/minimax` **受理与恢复:**原生提交在发送前持久保存平台任务并冻结资金。发送后断连、超时、5xx、截断成功响应或缺任务 ID 时保持待核对,不自动重复提交或释放资金,且不依赖重试次数设置。错误诊断中的 `task_id` 和 `request_id` 可定位同一平台任务;使用 `/v2/query/video_generation/{task_id}` 查询原任务。未取得可靠上游 ID 时由管理员核对,不重新 POST。原生 `Idempotency-Key` 尚无跨请求重放保证;成功响应仍使用 `task_id`,查询仍使用 `task` 包装。明确未发送或被上游拒绝时才释放本次预留,生成状态与账务状态分开处理。 将 Seedance 的任务 ID 用于本页 H3 单任务查询时返回 HTTP 404;请使用该任务提交时对应的 Seedance 查询路径,不要重新生成。 本文中的接口路径均相对于此 Base URL;完整请求地址由二者拼接。 | 方法 | 路径 | | --- | --- | | POST | `/v2/video_generation` | | GET | `/v2/query/video_generation/{task_id}` | | GET | `/v2/query/video_generation` | | DELETE | `/v2/video_generation/{task_id}` | | POST | `/v2/h3_context_ir` | | POST | `/v2/video_regeneration` | ## 4.1 路径 本页所有生成请求的 `model` 都填写 `MiniMax-H3`,不包含 `MiniMax-H3-Max`。使用平台签发给使用人或应用的虚拟密钥,放在 `Authorization: Bearer <完整虚拟密钥>` 请求头中;JSON 提交需要 `Content-Type: application/json`。 平台分别授权和计价三个动作,管理员需为要使用的动作配置当前企业的有效价格: | 动作 | 请求中的 `model` | 平台授权与计价名称 | 结果 | | --- | --- | --- | --- | | 视频生成 | `MiniMax-H3` | `MiniMax-H3` | 视频 | | 提示词增强 | `MiniMax-H3` | `MiniMax-H3-Context-IR` | 增强提示词 | | 视频再生成 | `MiniMax-H3` | `MiniMax-H3-Regeneration` | 2K 视频 | 后两项是计价与授权动作名称,不是请求模型 ID,不应填入 `model`。使用它们还需具有基础 `MiniMax-H3` 的模型权限;它们使用实际 H3 渠道,费用分别按本次动作的价格冻结。 ## 4.2 参数与素材 | 字段 | 类型 | 说明 | | --- | --- | --- | | `model` | string | 必填,`MiniMax-H3` | | `content` | array | 含非空文本,文本最多 7000 字符;建议只放一项文本 | | `resolution` | string | 必填,`768P/2K` | | `duration` | integer | 必填,4–15 秒 | | `ratio` | string | 默认 `adaptive`;纯文本必填且不能为 `adaptive`;其余规则见下文 | | `aigc_watermark` | boolean | 是否添加 AIGC 标识水印,默认 `false` | | `callback_url` | string | 可选,平台允许的 HTTPS 接收地址;需要先完成下文的 challenge 验证 | `content` 的文本、图片、视频、音频对象格式与 Seedance 相同,均为 `type + *_url.url + role`。H3 的模式约束: - 首帧/尾帧各最多一张,可只传首帧、只传尾帧或首尾帧;此模式比例由输入图片决定,传入其他比例会按 `adaptive` 处理。 - 参考模式最多 9 张图片、3 个视频、3 个音频,role 分别是 `reference_image/reference_video/reference_audio`。 - 首尾帧不能与参考图片/视频/音频混用。 - 无 role 的图片默认作为首帧;若要多图参考,必须显式写 `reference_image`。 - 比例可选 `21:9/16:9/4:3/1:1/3:4/9:16/adaptive`。纯文本不接受 adaptive;参考素材模式省略比例时默认 adaptive。 - `MiniMax-H3-Max` 的 `extra` 字段不在本页范围。素材格式、尺寸、时长要求见 4.5。 ## 4.3 提交示例 以下五种模式各有完整 Bash / curl 请求。把 `KEY` 换成自己的虚拟密钥,并替换 JSON 中 `example.com` 的素材占位 URL;不要把平台 `file_id` 直接塞进原生 `image_url.url`。素材须符合 4.5 的格式、大小、尺寸与时长要求。每次 POST 都创建一个新任务,提交超时不自动重复提交。 ### 文生视频 只有文本时必须指定具体比例,不能使用 `adaptive`。此例使用最短的 4 秒和 768P。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="YOUR_VIRTUAL_KEY" curl -sS --request POST "$BASE_URL/v2/video_generation" \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "MiniMax-H3", "resolution": "768P", "duration": 4, "aigc_watermark": false, "content": [ { "type": "text", "text": "白色桌面上的蓝色纸船缓慢转动,固定镜头" } ], "ratio": "16:9" }' ``` ### 仅首帧 只提供 `first_frame`;画面从该图片开始。首帧模式由图片决定比例,示例明确使用 `adaptive`,不混入 reference 角色。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="YOUR_VIRTUAL_KEY" # 将 JSON 中 example.com 的素材 URL 分别替换为你自己的公网素材地址 curl -sS --request POST "$BASE_URL/v2/video_generation" \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "MiniMax-H3", "resolution": "768P", "duration": 4, "aigc_watermark": false, "content": [ { "type": "text", "text": "以首帧为起点,纸船向画面右侧轻轻移动" }, { "type": "image_url", "image_url": { "url": "https://example.com/inputs/start.png" }, "role": "first_frame" } ], "ratio": "adaptive" }' ``` ### 仅尾帧 H3 支持只传 `last_frame`,**无需补一张首帧**。视频朝给定尾帧结束,仍需文本;不要把其他视频系列“尾帧必须搭配首帧”的规则套到这里。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="YOUR_VIRTUAL_KEY" # 将 JSON 中 example.com 的素材 URL 分别替换为你自己的公网素材地址 curl -sS --request POST "$BASE_URL/v2/video_generation" \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "MiniMax-H3", "resolution": "768P", "duration": 4, "aigc_watermark": false, "content": [ { "type": "text", "text": "纸船从远处缓慢靠近,在给定尾帧的构图与位置停下" }, { "type": "image_url", "image_url": { "url": "https://example.com/inputs/finish.png" }, "role": "last_frame" } ], "ratio": "adaptive" }' ``` ### 首尾帧 两张图片分别标记 `first_frame` 和 `last_frame`,每个角色最多一张。保持同一主体和兼容构图有助于连贯过渡;不要再添加参考图、参考视频或参考音频。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="YOUR_VIRTUAL_KEY" # 将 JSON 中 example.com 的素材 URL 分别替换为你自己的公网素材地址 curl -sS --request POST "$BASE_URL/v2/video_generation" \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "MiniMax-H3", "resolution": "768P", "duration": 4, "aigc_watermark": false, "content": [ { "type": "text", "text": "保持纸船外观一致,从首帧平滑移动到尾帧" }, { "type": "image_url", "image_url": { "url": "https://example.com/inputs/start.png" }, "role": "first_frame" }, { "type": "image_url", "image_url": { "url": "https://example.com/inputs/finish.png" }, "role": "last_frame" } ], "ratio": "adaptive" }' ``` ### 多模态参考 此例独立使用一张参考图、一个参考视频和一个参考音频;三种媒体不是必须全部提供,可以按需要选用组合。所有角色都使用 `reference_*`,不能出现首帧或尾帧。参考模式允许具体比例,也可用 `adaptive`;此例选择 `16:9`。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="YOUR_VIRTUAL_KEY" # 将 JSON 中 example.com 的素材 URL 分别替换为你自己的公网素材地址 curl -sS --request POST "$BASE_URL/v2/video_generation" \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "MiniMax-H3", "resolution": "768P", "duration": 4, "aigc_watermark": false, "content": [ { "type": "text", "text": "按参考图保持蓝色纸船外观,参考视频的移动节奏,参考音频的自然环境声" }, { "type": "image_url", "image_url": { "url": "https://example.com/inputs/reference.png" }, "role": "reference_image" }, { "type": "video_url", "video_url": { "url": "https://example.com/inputs/motion.mp4" }, "role": "reference_video" }, { "type": "audio_url", "audio_url": { "url": "https://example.com/inputs/ambience.mp3" }, "role": "reference_audio" } ], "ratio": "16:9" }' ``` 五种模式的提交响应都返回平台任务 ID: ```json {"task_id":"task_example"} ``` 保存实际 `task_id`,按下一节查询至终态后读取 `task.content.url`。五种请求都可能产生费用;切换输入模式不意味着免费,尤其参考视频可能计入输入用量。首/尾帧模式传入其他 ratio 会按 adaptive 处理;模式互斥、重复帧角色或数量超限在发送前拒绝。 ## 4.4 查询响应 ```bash BASE_URL="https://platform.sgt.site/minimax" curl -X GET "$BASE_URL/v2/query/video_generation/task_example" \ -H 'Authorization: Bearer YOUR_VIRTUAL_KEY' ``` 成功结果示例: ```json { "task": { "id": "task_example", "model": "MiniMax-H3", "status": "succeeded", "content": { "url": "https://media.example.com/generated-video.mp4" }, "resolution": "2K", "duration": 5, "ratio": "16:9" } } ``` `task.status` 使用 `queued/running/succeeded/failed/cancelled`。失败信息在 `task.error`,实际用量在可用时由 `task.usage` 提供。视频从 `task.content.url` 读取,Context-IR 的增强提示词从 `task.content.prompt` 读取。`task.task_type` 用 `generation`、`h3_context_ir`、`regeneration` 区分动作。 原生 H3 任务不支持通过通用 `https://platform.sgt.site/v1/videos/{id}` 或其 `/content` 下载入口读取。 轮询同一任务并下载视频(已安装 `jq`): ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="YOUR_VIRTUAL_KEY" TASK_ID="YOUR_PLATFORM_TASK_ID" while true; do curl -sS --fail-with-body "$BASE_URL/v2/query/video_generation/$TASK_ID" \ -H "Authorization: Bearer $KEY" > h3-result.json || exit 1 STATUS=$(jq -r '.task.status' h3-result.json) case "$STATUS" in queued|running) sleep 5 ;; succeeded) break ;; failed|cancelled) cat h3-result.json; exit 1 ;; *) echo "结果待核对,保留任务 ID,不重新提交"; cat h3-result.json; exit 2 ;; esac done VIDEO_URL=$(jq -r '.task.content.url // empty' h3-result.json) test -n "$VIDEO_URL" || { echo "任务完成但缺少视频地址"; exit 1; } curl -fL "$VIDEO_URL" -o h3-output.mp4 ``` ## 4.5 官方接口与输入限制 官方接口:`POST https://api.minimax.cn/v2/video_generation`,查询 `GET https://api.minimax.cn/v2/query/video_generation/{task_id}`。平台 Base URL 已包含厂商前缀 `/minimax`,使用本页 Base URL 加上述相对路径和虚拟密钥,请求与响应保持原生格式。 | 素材 | 要求 | | --- | --- | | 请求体 | 总大小不超过 64 MB,大文件请用公网 URL,不要用 Base64 | | 文本 | 每次必须包含一个非空 `text`,最多 7000 个字符 | | 图片 `image_url` | JPG、JPEG、PNG、WEBP、HEIC、HEIF;单张不超过 30 MB;宽、高均在 [256, 5760] px;宽高比 [0.4, 2.5];首帧 ≤ 1、尾帧 ≤ 1、参考图 ≤ 9 | | 视频 `video_url`(仅多模态参考) | MP4、MOV;视频编码 H.264/AVC、H.265/HEVC,音频 AAC、MP3;单个不超过 50 MB;最多 3 个;单段 [2, 15] 秒、合计不超过 15 秒;宽、高 [256, 5760] px;宽高比 [0.4, 2.5];帧率 [23.976, 60] | | 音频 `audio_url`(仅多模态参考) | WAV、MP3;单个不超过 15 MB;最多 3 个;单段 [2, 15] 秒、合计不超过 15 秒 | 图生视频(首帧/尾帧)与多模态参考生视频互斥,同一请求中出现任一 `reference_*` 就不能再出现 `first_frame`/`last_frame`。 ## 4.6 提示词增强:Context-IR 使用 `POST /v2/h3_context_ir`。此动作只生成文字,不自动创建视频,也不会自动发起第二笔生成费用。 | 字段 | 类型 | 必填 | 规则 | | --- | --- | --- | --- | | `model` | string | 是 | `MiniMax-H3` | | `content` | array | 是 | 至少包含一个非空 `text`,每项文本最多 7000 字符;参考素材角色与普通 H3 相同 | | `duration` | integer | 是 | 目标视频时长,4–15 秒 | | `ratio` | string | 条件必填 | 纯文本必须指定具体比例;首尾帧按 adaptive;参考模式默认 adaptive | | `callback_url` | string | 否 | 需完成接收地址验证 | 不接受 `resolution`、`aigc_watermark` 或 `source_task_id`。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="替换为你的完整虚拟密钥" curl --request POST "$BASE_URL/v2/h3_context_ir" \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ --data '{"model":"MiniMax-H3","content":[{"type":"text","text":"蓝色纸船在平静水面缓慢漂动,日光,固定镜头"}],"duration":4,"ratio":"16:9"}' ``` HTTP 200 返回 `{"task_id":"task_example"}`。使用本页的单任务查询接口等待完成;以下是成功响应的字段节选: ```json { "task": { "id": "task_example", "model": "MiniMax-H3", "status": "succeeded", "task_type": "h3_context_ir", "content": {"type": "text", "prompt": "增强后的完整提示词……"}, "usage": {"prompt_tokens": 1000, "completion_tokens": 2000, "total_tokens": 3000} } } ``` 保留完整的 `content.prompt`,自行决定是否发起后续视频生成。费用按输入和输出 token 分别计算;需要独立动作价格及平台配置的输入/输出预留估计。缺少配置会在 Provider 请求前拒绝;缺少可信 token 用量或实际用量超过冻结估计时保留待核对,不改用视频按秒价。 ## 4.7 视频再生成:768P 到 2K 使用 `POST /v2/video_regeneration`。这不是任意视频的通用放大接口:源视频必须符合 H3 768P 输出规格,目标 `resolution` 必须为 `2K`。两种输入模式只能选择一种,不能同时发送 `source_task_id` 和 `content`。 ### 按源视频再生成 `content` 中必须有且只有一个 `type: "video_url"`、`role: "base_video"`,并完整附上生成该视频时实际使用的文本与参考素材。文本使用 Context-IR 处理后的最终提示词(如果当时使用过),最多 40,000 字符。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="替换为你的完整虚拟密钥" curl --request POST "$BASE_URL/v2/video_regeneration" \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ --data '{"model":"MiniMax-H3","resolution":"2K","content":[{"type":"text","text":"替换为生成原视频时实际使用的完整最终提示词"},{"type":"video_url","video_url":{"url":"https://media.example.com/h3-768p.mp4"},"role":"base_video"}],"aigc_watermark":false}' ``` 上例适用于原视频只有文字输入的情况;使用过参考图片、视频或音频时,必须一并附上原素材。不要重新填写 `duration` 或 `ratio`。源视频 URL 必须替换为实际可读取的 H3 768P 视频。 | 源视频属性 | 官方要求 | | --- | --- | | 音轨 | 必须包含音轨 | | 帧率 | 24 fps | | 宽和高 | 均为 32 的整数倍 | | 像素面积 | 589,824–1,032,192 像素 | | 总帧数 | 107–362 帧,按 17 帧递增 | 这条模式不要求存在平台源任务。平台校验已有可信尺寸、大小和时长;不会为验证任意外链而额外下载或探测,未掌握的音轨、帧率等由上游校验。工作流支持 HTTP(S) 与 data URL;账号级 `mm_file://` 没有平台归属映射时明确拒绝。 ### 按平台源任务再生成 此模式要求原上游账号已开通官方白名单,并由平台记录该身份的能力。未满足条件时返回受控错误,不会发送付费请求试探,也不会自动退回到 base_video 模式。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="替换为你的完整虚拟密钥" curl --request POST "$BASE_URL/v2/video_regeneration" \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ --data '{"model":"MiniMax-H3","source_task_id":"替换为成功的768P平台任务ID","resolution":"2K","aigc_watermark":false}' ``` 源任务必须属于当前消费主体、企业与原生协议,是七天内成功的普通 H3 768P 生成,并有可验证的原始上下文和上游 ID。平台固定原渠道、模型映射和原 Key;这些条件失效时拒绝调用。源任务被新生成占用时不能删除。 两种模式均返回新的 `task_id`,按 `task_type: "regeneration"` 查询。再生成使用本次独立价格,原输入视频和超过免费数量的参考图可能再次计费;base_video 本身不计为“原参考视频”。本次预留不是最终收费,完成后按真实输出秒数、原输入视频秒数和图片数量结算;缺少证据保持待核对。 ## 4.8 任务列表与取消/删除 列表只包含当前主体、企业及当前模型权限可见的原生任务,不枚举共享上游账号。先过滤权限和最近七天的上游创建时间,再分页。 ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="替换为你的完整虚拟密钥" curl --request GET "$BASE_URL/v2/query/video_generation?page_num=1&page_size=20&filter.status=succeeded" \ -H "Authorization: Bearer $KEY" ``` | 查询参数 | 默认与允许值 | | --- | --- | | `page_num` | 默认 1,平台允许 1–10000 | | `page_size` | 默认 20,平台允许 1–100 | | `filter.status` | 可选 `queued/running/succeeded/failed/cancelled` | | `filter.task_ids` | 可选平台任务 ID;多个 ID 可重复参数或用逗号分隔 | | `filter.model` | 可选,使用请求模型名 `MiniMax-H3` | | `filter.task_type` | 可选 `generation/h3_context_ir/regeneration` | HTTP 200 返回 `{"items":[...],"total":1}`,每个 `items` 元素是单任务查询中 `task` 内的对象;无结果时为 `{"items":[],"total":0}`。显式 ID 筛选也不能绕过七天窗口。列表与单任务查询不新增生成费用。 取消或删除: ```bash BASE_URL="https://platform.sgt.site/minimax" KEY="替换为你的完整虚拟密钥" curl --request DELETE "$BASE_URL/v2/video_generation/task_example" \ -H "Authorization: Bearer $KEY" ``` | 任务状态 | 结果 | | --- | --- | | `queued` | 确认取消后返回 `{"task_id":"task_example","action":"cancelled","status":"cancelled"}`;释放未消费预留 | | `succeeded`、`failed` | 确认删除后返回 `action/status: "deleted"`;删除成功任务不退费 | | `running`、`cancelled` | 返回 HTTP 400,不执行取消或删除 | | 被后续生成占用 | 返回 HTTP 409,保留源任务 | | 受理、删除结果或账务待核对 | 返回受控的 409/503,继续核对同一任务,不重新生成 | 有效但已用尽额度的密钥仍可列出已有任务或请求删除,当前身份、IP、组织和模型权限仍需有效。 ## 4.9 回调 可在生成请求中提供 `callback_url`。平台先发送 `{"challenge":"随机字符串"}`,接收端须在 3 秒内以 JSON 原样回显同一 challenge;验证失败时不会创建生成任务。默认只接受允许访问的 HTTPS 地址,特殊网络目标需管理员先明确授权。 后续回调由平台已持久化的查询事实触发,正文沿用本页的 `{"task":{...}}` 查询包装和平台任务 ID。接收端应按事件 ID 去重;通知可能因轮询或重试延迟,不能假设收到每个中间状态。投递失败不会重新生成或改变已经确认的账单。 平台通知使用 `X-Heighliner-Event-Id`、`X-Heighliner-Event-Sequence` 和 `X-Heighliner-Signature`。按[任务回调与验签](task-callbacks.md)验证平台签名并去重,保留原始 HTTP 正文;challenge 验证请求不是任务事件,不套用任务事件的签名结构。