接口说明
视频生成(MiniMax-H3)
shell
POST https://api.scnet.cn/api/llm/v1/videos/generations
GET https://api.scnet.cn/api/llm/v1/tasks/{task_id}
POST https://api.scnet.cn/api/llm/v1/tasks
POST https://api.scnet.cn/api/llm/v1/tasks/{task_id}/cancel1.功能介绍
MiniMax-H3 视频生成接口用于根据输入的文本提示词、图片、参考视频、参考音频等多模态信息创建视频生成任务,支持文生视频、图生视频(首帧/尾帧/首尾帧)、多模态参考生视频三种场景。视频生成任务为异步任务,提交任务后会返回任务 ID,您需要通过查询任务状态接口获取任务状态和生成视频地址。
调用流程:
- 调用提交生成任务接口,获取任务 ID。
- 使用任务 ID 查询任务状态。
- 任务成功后,从查询响应中的
output.results获取生成视频地址。 - 如需取消排队中或处理中的任务,可调用取消任务接口。
2.提交生成任务
shell
POST https://api.scnet.cn/api/llm/v1/videos/generations2.1 请求参数
Header 参数
| 名称 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Content-Type | string | 是 | application/json | \ |
| Authorization | string | 是 | Bearer <API Key> | \ |
| X-MultiModal-Async | string | 是 | true | 视频生成为异步任务,必须传 true。提交后返回任务 ID,需轮询任务状态接口获取生成视频地址。 |
Body 参数
| 名称 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| model | string | 是 | \ | 调用模型的名称。例如:MiniMax-H3。 |
| input | object | 是 | \ | 输入给模型用于生成视频的信息。支持文本提示词、图片、参考视频与参考音频。 |
| parameters | object | 是 | \ | 视频生成参数配置,包括分辨率、时长、比例、水印等。 |
input 参数说明
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| prompt | string | 是 | 文本提示词,用来描述期望生成的视频内容。所有生成场景均必填且不可为空,最长 7000 个字符。 |
| images | array | 否 | 输入图片地址列表(URL 或 Base64),用于图生视频。不携带角色信息,按首帧处理,最多 1 张。如需指定尾帧或参考图,请使用 media。如需上传本地图片,请先参考文件上传获取可访问链接。 |
| media | array | 否 | 媒体输入列表,用于首帧、尾帧、参考图、参考视频、参考音频等多模态输入。 |
| media[].type | string | 是 | 媒体角色类型。可选值:first_frame(首帧)、last_frame(尾帧)、reference_image(参考图)、reference_video(参考视频)、reference_audio(参考音频)。 |
| media[].url | string | 是 | 媒体内容地址(URL 或 Base64)。如需上传本地媒体,请先参考文件上传获取可访问链接。 |
parameters 参数说明
| 名称 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| resolution | string | 是 | \ | 生成视频的分辨率,可选值:768P/2K。 |
| duration | integer | 是 | \ | 生成视频的时长,单位为秒,取值为 [4, 15] 之间的整数。 |
| ratio | string | 条件必填 | adaptive | 生成视频的宽高比,可选值:adaptive/21:9/16:9/4:3/1:1/3:4/9:16。文生视频场景下必填,且不能为 adaptive;图生视频场景下由输入图片决定,传入会被忽略。 |
| watermark | boolean | 否 | false | 生成视频是否包含 AIGC 标识水印。枚举值:false:不含水印。true:含有水印。 |
生成场景与媒体输入限制
生成场景由 input.media 中出现的 type 决定:
| 场景 | media 配置 | ratio 约束 |
|---|---|---|
| 文生视频 | 不传 media | 必填,且不能为 adaptive |
| 图生视频 | first_frame 和/或 last_frame | 可省略,比例由输入图片决定 |
| 多模态参考生视频 | reference_image / reference_video / reference_audio | 可选,默认 adaptive |
媒体角色数量上限:
| type | 数量上限 | 所属场景 |
|---|---|---|
| first_frame | 1 | 图生视频 |
| last_frame | 1 | 图生视频 |
| reference_image | 9 | 多模态参考生视频 |
| reference_video | 3 | 多模态参考生视频 |
| reference_audio | 3 | 多模态参考生视频 |
first_frame/last_frame与reference_image/reference_video/reference_audio两类场景互斥,不可混用,否则返回参数错误。
输入媒体规格限制:
| 类型 | 格式 | 单文件大小 | 尺寸 / 时长 |
|---|---|---|---|
| 图片 | JPG、JPEG、PNG、WEBP、HEIC、HEIF | ≤ 30 MB | 宽高 [256, 5760] px,宽高比 [0.4, 2.5] |
| 视频 | MP4、MOV(视频编码 H.264/H.265,音频编码 AAC/MP3) | ≤ 50 MB | 宽高 [256, 5760] px,宽高比 [0.4, 2.5],单段 [2, 15] 秒,总时长 ≤ 15 秒,帧率 [23.976, 60] |
| 音频 | WAV、MP3 | ≤ 15 MB | 单段 [2, 15] 秒,总时长 ≤ 15 秒 |
2.2 响应参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| request_id | string | 是 | 请求唯一标识。可用于请求明细溯源和问题排查。 |
| output | object | 是 | 任务输出信息。 |
| output.task_id | string | 是 | 视频生成任务 ID。提交任务后,需使用该 ID 查询任务状态。 |
| output.task_status | string | 是 | 任务状态。提交成功后通常为 pending。 |
2.3 请求示例
cURL请求示例
shell
curl -X POST 'https://api.scnet.cn/api/llm/v1/videos/generations' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <API Key>' \
-H 'X-MultiModal-Async: true' \
--data-raw '{
"model": "MiniMax-H3",
"input": {
"prompt": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去",
"media": [
{"type": "reference_image", "url": "https://example.com/ref-image.png"},
{"type": "reference_audio", "url": "https://example.com/ref-audio.mp3"}
]
},
"parameters": {
"resolution": "2K",
"duration": 5,
"ratio": "16:9",
"watermark": false
}
}'Python请求示例
python
import requests
url = "https://api.scnet.cn/api/llm/v1/videos/generations"
payload = {
"model": "MiniMax-H3",
"input": {
"prompt": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去",
"media": [
{"type": "reference_image", "url": "https://example.com/ref-image.png"},
{"type": "reference_audio", "url": "https://example.com/ref-audio.mp3"}
]
},
"parameters": {
"resolution": "2K",
"duration": 5,
"ratio": "16:9",
"watermark": False
}
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer <API Key>",
"X-MultiModal-Async": "true"
}
response = requests.post(url, headers=headers, json=payload)
print(response.text)2.4 响应示例
json
{
"request_id": "93181007-6691-9bf8-810d-c04e37959265",
"output": {
"task_id": "1893267249823744001",
"task_status": "pending"
}
}3.查询任务状态
shell
GET https://api.scnet.cn/api/llm/v1/tasks/{task_id}3.1 请求参数
Header 参数
| 名称 | 类型 | 必填 | 示例值 |
|---|---|---|---|
| Content-Type | string | 是 | application/json |
| Authorization | string | 是 | Bearer <API Key> |
Path 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| task_id | string | 是 | 需要查询的视频生成任务 ID。 |
3.2 响应参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| request_id | string | 是 | 请求唯一标识。可用于请求明细溯源和问题排查。 |
| output | object | 是 | 任务输出信息。 |
| output.task_id | string | 是 | 视频生成任务 ID。 |
| output.task_status | string | 是 | 任务状态。常见值包括 pending、running、succeeded、failed、cancelled。 |
| output.submit_time | string | 否 | 任务提交时间。 |
| output.end_time | string | 否 | 任务结束时间。 |
| output.results | array | 否 | 生成视频的下载地址列表。任务成功后返回。 |
| output.error_code | string | 否 | 错误码。任务失败时返回。 |
| output.error_message | string | 否 | 错误信息。任务失败时返回。 |
| usage | object | 否 | 本次请求的用量信息。 |
| usage.video_count | integer | 否 | 生成视频数量。 |
| usage.video_duration | integer | 否 | 生成视频的时长,单位为秒。 |
| usage.resolution | string | 否 | 生成视频的分辨率档位,如 2K。 |
| usage.ratio | string | 否 | 生成视频的宽高比,如 16:9。图生视频场景下为自适应后的实际比例。 |
| usage.image_count | integer | 否 | 本次计费涉及的输入图片数量。 |
3.3 请求示例
cURL请求示例
shell
curl -X GET 'https://api.scnet.cn/api/llm/v1/tasks/<task_id>' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <API Key>'Python请求示例
python
import requests
task_id = "<task_id>"
url = f"https://api.scnet.cn/api/llm/v1/tasks/{task_id}"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer <API Key>"
}
response = requests.get(url, headers=headers)
print(response.text)3.4 响应示例
json
{
"request_id": "a4205108-eefa-9f6c-a7f4-3509357abbd5",
"output": {
"task_id": "1893267249823744001",
"task_status": "succeeded",
"submit_time": "2026-05-29 10:26:49.775",
"end_time": "2026-05-29 10:34:21.393",
"results": [
"https://example.com/video.mp4"
]
},
"usage": {
"video_count": 1,
"video_duration": 5,
"resolution": "2K",
"ratio": "16:9",
"image_count": 0
}
}4.批量查询任务状态
shell
POST https://api.scnet.cn/api/llm/v1/tasks4.1 请求参数
Header 参数
| 名称 | 类型 | 必填 | 示例值 |
|---|---|---|---|
| Content-Type | string | 是 | application/json |
| Authorization | string | 是 | Bearer <API Key> |
Body 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| task_ids | array | 是 | 需要查询的任务 ID 列表,单次最多查询 10 个。 |
4.2 响应参数
响应为数组,数组中每个元素的结构与查询任务状态的响应一致。
4.3 请求示例
cURL请求示例
shell
curl -X POST 'https://api.scnet.cn/api/llm/v1/tasks' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <API Key>' \
--data-raw '{
"task_ids": [
"1893267249823744001",
"1893267249823744002"
]
}'4.4 响应示例
json
[
{
"request_id": "a4205108-eefa-9f6c-a7f4-3509357abbd5",
"output": {
"task_id": "1893267249823744001",
"task_status": "succeeded",
"results": [
"https://example.com/video.mp4"
]
},
"usage": {
"video_count": 1,
"video_duration": 5
}
},
{
"request_id": "a4205108-eefa-9f6c-a7f4-3509357abbd6",
"output": {
"task_id": "1893267249823744002",
"task_status": "running"
}
}
]5.取消任务
shell
POST https://api.scnet.cn/api/llm/v1/tasks/{task_id}/cancel仅非终态任务(pending、running 等)可以取消。已处于终态(succeeded、failed、cancelled)的任务无法取消。
5.1 请求参数
Header 参数
| 名称 | 类型 | 必填 | 示例值 |
|---|---|---|---|
| Content-Type | string | 是 | application/json |
| Authorization | string | 是 | Bearer <API Key> |
Path 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| task_id | string | 是 | 需要取消的视频生成任务 ID。 |
5.2 响应参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| request_id | string | 是 | 请求唯一标识。可用于请求明细溯源和问题排查。 |
| output | object | 是 | 任务输出信息。 |
| output.task_id | string | 是 | 被取消的视频生成任务 ID。 |
| output.task_status | string | 是 | 任务状态。取消成功后为 cancelled。 |
5.3 请求示例
cURL请求示例
shell
curl -X POST 'https://api.scnet.cn/api/llm/v1/tasks/<task_id>/cancel' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <API Key>'Python请求示例
python
import requests
task_id = "<task_id>"
url = f"https://api.scnet.cn/api/llm/v1/tasks/{task_id}/cancel"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer <API Key>"
}
response = requests.post(url, headers=headers)
print(response.text)5.4 响应示例
json
{
"request_id": "a4205108-eefa-9f6c-a7f4-3509357abbd5",
"output": {
"task_id": "1893267249823744001",
"task_status": "cancelled"
}
}6.任务状态说明
| 状态 | 描述 |
|---|---|
| pending | 任务等待调度。 |
| running | 任务运行中。 |
| succeeded | 任务成功,可从查询响应中的 output.results 获取生成视频地址。 |
| failed | 任务失败,可从 output.error_code 与 output.error_message 获取失败原因。 |
| cancelled | 任务已取消。 |
7.注意事项
- 视频生成任务为异步任务,提交任务时请求头必须携带
X-MultiModal-Async: true,提交任务后不会立即返回视频地址。 input.prompt在所有生成场景下均为必填,包括图生视频与多模态参考生视频。parameters.resolution与parameters.duration为必填项,缺失会直接返回参数错误。- 文生视频场景必须显式指定
parameters.ratio,且不能为 adaptive;图生视频场景的ratio会被忽略,实际比例由输入图片决定,可在查询响应的usage.ratio中获取。 - 图生视频与多模态参考生视频两类媒体角色互斥,不可在同一次请求中混用。
- 用户如需上传本地多媒体内容,应先参考文件上传获取可访问的媒体链接,再作为入参传递给模型。
- 请求体总大小不超过 64 MB,Base64 编码会使体积膨胀约 33%,大文件建议使用公网 URL。
- 建议在提交任务后 5 秒发起首次查询,之后按 30 秒间隔轮询。
- 批量查询任务单次最多查询 10 个任务 ID。