视频 API
LLMPool 提供 MiniMax 和 Doubao 两套异步视频生成协议。两者使用不同的请求参数和路径,不能混用。
认证和模型
使用 Board 中创建的账户 API 密钥,以 Bearer Token 方式调用:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
下文使用 https://<LLMPOOL_HOST> 表示 LLMPool 服务根地址。视频接口不使用 OpenAI 的 /openai/v1 路径。请求中的 model 应填写 模型广场显示的模型 ID。
视频生成是异步任务:创建接口返回 task_id 后,需要定期查询任务,直到成功或失败。建议每 5-10 秒查询一次。
协议能力
| 能力 | MiniMax | Doubao |
|---|---|---|
| 创建任务 | POST /minimax/v2/video_generation | POST /doubao/v1/video/generations |
| 查询任务 | GET /minimax/v2/video_generation/{task_id} | GET /doubao/v1/video/generations/{task_id} |
| 列出任务 | GET /minimax/v2/video_generation | GET /doubao/v1/video/generations |
| 取消排队任务 | 支持 | 暂不支持 |
MiniMax:创建任务
curl -X POST "https://<LLMPOOL_HOST>/minimax/v2/video_generation" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: minimax-demo-001" \
-d '{
"model": "MiniMax-H3",
"content": [
{"type": "text", "text": "A red sports car driving through a neon city"}
],
"resolution": "768P",
"duration": 5,
"ratio": "16:9",
"seed": 42,
"aigc_watermark": false
}'
创建成功:
{"task_id":"video_xxx"}
MiniMax 当前支持:
resolution:仅768Pduration:4-15 秒- 文生视频
ratio:16:9、4:3、1:1 - 图生视频:在
content中增加一个image_url,role使用first_frame;比例使用adaptive - 图片地址:公开 HTTPS URL 或图片 data URL
callback_url不支持,aigc_watermark必须为false
图生视频的 content 示例:
[
{"type":"text","text":"Slow camera movement"},
{
"type":"image_url",
"image_url":{"url":"https://example.com/first-frame.jpg"},
"role":"first_frame"
}
]
MiniMax:查询、列表和取消
查询单个任务:
curl "https://<LLMPOOL_HOST>/minimax/v2/video_generation/video_xxx" \
-H "Authorization: Bearer YOUR_API_KEY"
列出当前账户的视频任务:
curl "https://<LLMPOOL_HOST>/minimax/v2/video_generation?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
列表支持 limit(1-100)、after 游标和可选的 source=api|playground,只返回当前协议的任务。
取消仍处于排队状态的 MiniMax 任务:
curl -X DELETE "https://<LLMPOOL_HOST>/minimax/v2/video_generation/video_xxx" \
-H "Authorization: Bearer YOUR_API_KEY"
只有上游状态为 queued 的任务可以取消。已经进入 in_progress 的任务会返回 task_not_cancellable。对于终态任务,DELETE 表示删除任务记录,而不是取消生成。
Doubao:创建任务
curl -X POST "https://<LLMPOOL_HOST>/doubao/v1/video/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: doubao-demo-001" \
-d '{
"model": "DOUBAO_MODEL_FROM_MODELS_PAGE",
"prompt": "A red sports car driving through a neon city",
"images": [],
"metadata": {
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": false,
"seed": 42,
"watermark": false
}
}'
创建成功:
{
"task_id":"video_xxx",
"object":"video.generation",
"model":"DOUBAO_MODEL_FROM_MODELS_PAGE",
"status":"queued",
"progress":0
}
Doubao 当前支持:
prompt:必填,最多 7000 个字符images:可选,支持图片 data URL 或不含认证信息的 HTTPS URL,最多 4 张metadata.duration:1-60 秒metadata.resolution:模型试验场提供480p、720p、1080pmetadata.ratio:模型试验场提供16:9、4:3、1:1metadata.generate_audio:当前必须为false或省略metadata.seed、metadata.watermark:可选
不同 Doubao 模型的实际上游能力可能不同,请以模型广场和模型试验场显示的可用参数为准。
Doubao:列表和查询
列出当前账户的 Doubao 视频任务:
curl "https://<LLMPOOL_HOST>/doubao/v1/video/generations?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Doubao 列表同样支持 limit、after 和 source=api|playground,只返回 Doubao 任务。Doubao 当前没有取消任务接口。
查询单个任务:
curl "https://<LLMPOOL_HOST>/doubao/v1/video/generations/video_xxx" \
-H "Authorization: Bearer YOUR_API_KEY"
data.status 可能为 QUEUED、IN_PROGRESS、SUCCESS 或 FAILURE。成功后,视频地址同时出现在 data.result_url 和 data.data.content.video_url。结果地址是短期有效的签名 URL,过期后可以重新查询任务获取新地址。
幂等、计费和错误
创建请求建议始终发送唯一的 Idempotency-Key。使用相同 key 和相同请求体重试会返回原任务;相同 key 携带不同请求参数会返回冲突。
平台在创建任务时按模型、时长、分辨率和价格规则预扣余额。余额不足时返回 insufficient_credit,不会创建任务。任务失败或取消后,退款由异步结算流程处理,使用记录可能稍后显示。
常见错误包括 invalid_parameter、unsupported_parameter、model_not_found、rate_limit_exceeded、insufficient_credit 和 task_not_cancellable。更多说明请查看错误响应和故障排除。
GraphQL 的 videoPriceQuote 仅用于费用预估,不负责创建或查询视频任务。