视频 API
LLMPool 提供 MiniMax、Doubao、Doubao 扩展协议和阿里云视频模型的异步视频生成能力。Doubao 扩展协议通过 /marslab/v1 提供服务,阿里云接口使用 /aliyun/v1。
认证和模型
使用 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 秒查询一次。任务详情和列表响应还可能包含 submitted_at、generation_started_at、completed_at、result_available_at(Unix 秒)生命周期时间;未观测到的时间字段会省略。
协议能力
| 能力 | MiniMax | Doubao | Doubao 扩展协议 | 阿里云 |
|---|---|---|---|---|
| 创建任务 | POST /minimax/v2/video_generation | POST /doubao/v1/video/generations | POST /marslab/v1/video/generations | POST /aliyun/v1/video_generation |
| 查询任务 | GET /minimax/v2/video_generation/{task_id} | GET /doubao/v1/video/generations/{task_id} | GET /marslab/v1/video/generations/{task_id} | GET /aliyun/v1/video_generation/{task_id} |
| 列出任务 | GET /minimax/v2/video_generation | GET /doubao/v1/video/generations | GET /marslab/v1/video/generations | GET /aliyun/v1/video_generation |
| 取消任务 | 仅排队任务 | 暂不支持 | 支持 | 暂不支持 |
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、9:16、4:3、3:4、1:1、21:9(分别映射到上游原生 768P 规格,如 1344x768、768x1344、768x768 等) - 图生视频:比例使用
adaptive,支持以下三种模式:- 首帧图生视频 (
fl2va):在content中包含一个image_url,role可缺省或指定为first_frame; - 首尾双帧图生视频 (
fl2va):包含两个image_url,必须分别显式指定role为first_frame与last_frame(支持客户端任意传入顺序,后端保序审计并按首尾顺序装配提交); - 多参考图视频生成 (
ref2va):包含 1~5 个image_url,role均须为reference_image;
- 关键帧(首尾帧)与参考图禁止混用。
- 首帧图生视频 (
- 图片地址:公开 HTTPS URL 或图片 data URL(单张限 30MB,并发解码内存预算上限为 60MB,不含 HTTP 传输层 Base64 编码开销)
callback_url不支持,aigc_watermark字段可选(自动静默处理),请求中允许携带官方扩展未知字段。
图生视频的 content 示例(首尾双帧):
[
{"type":"text","text":"Slow camera movement"},
{
"type":"image_url",
"image_url":{"url":"https://example.com/first-frame.jpg"},
"role":"first_frame"
},
{
"type":"image_url",
"image_url":{"url":"https://example.com/last-frame.jpg"},
"role":"last_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": true,
"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 张reference_videos:可选,支持 MP4/MOV data URL 或不含认证信息的 HTTPS URL,最多 4 个,每个不超过 64 MBmetadata.duration:4-15 秒,默认 5 秒metadata.resolution:按模型支持480p、720p、1080p、4k的不同组合metadata.ratio:支持16:9、4:3、3:4、9:16、1:1、21:9、adaptivemetadata.generate_audio:支持true或false,默认truemetadata.seed:可选,最小为-1metadata.watermark:可省略或设为false;true会被拒绝
metadata.mode 可选。省略时保持兼容行为:images 按参考图处理。显式模式包括:t2v(不带素材)、i2v_first_frame(一张图片)、i2v_first_last_frame(按顺序两张图片)、multi_ref(1-4 张图片)和 multi_ref_vid(至少一张图片或一个参考视频)。参考视频会在扣费前探测时长,时长会计入 Token 预估。
seedance-cn-2-0-mini 支持 480p、720p,seedance-cn-2-0-fast 支持 480p、720p、1080p,seedance-cn-2-0 支持 720p、1080p、4k。报价和创建接口会拒绝模型不支持的分辨率组合。
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,过期后可以重新查询任务获取新地址。
Doubao 扩展协议
Doubao 扩展协议沿用 Seedance 风格的 prompt、images 和 metadata。当前用于 H3 视频生成:没有图片时为文生视频,一张图片时为首帧生视频,多张图片时为参考图生视频。
curl -X POST "https://<LLMPOOL_HOST>/marslab/v1/video/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: doubao-extended-demo-001" \
-d '{
"model":"H3_MODEL_FROM_MODELS_PAGE",
"prompt":"清晨的海边,镜头缓慢向前推进,伴随自然海浪声。",
"images":[],
"metadata":{
"resolution":"768P",
"ratio":"16:9",
"duration":5,
"seed":42,
"watermark":false
}
}'
支持 4-15 秒、768P、16:9、9:16、1:1,以及最多 4 张图片。H3 始终生成原生音频,建议省略 metadata.generate_audio;显式传入 false 会被拒绝。
高阶调用可以增加 vela 对象:
{
"model": "H3_MODEL_FROM_MODELS_PAGE",
"prompt": "清晨的海边,镜头缓慢向前推进。",
"metadata": {"duration": 5, "ratio": "16:9"},
"vela": {
"generation_preset": "quality",
"generation_count": 4,
"sampling": {"num_inference_steps": 60, "quality": "lossless"},
"client_metadata": {"biz_order_id": "ORD-20260916-888"}
}
}
generation_preset 可取 balanced、quality、fast;generation_count 为 1-16。sampling 由上游模型解释,client_metadata 仅用于业务链路追踪,不影响生成和计费。
curl "https://<LLMPOOL_HOST>/marslab/v1/video/generations/video_xxx" \
-H "Authorization: Bearer YOUR_API_KEY"
curl "https://<LLMPOOL_HOST>/marslab/v1/video/generations?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X POST "https://<LLMPOOL_HOST>/marslab/v1/video/generations/video_xxx/cancel" \
-H "Authorization: Bearer YOUR_API_KEY"
多视频任务会在 data.data.usage.results 返回全部结果地址,兼容字段 result_url 和 data.data.content.video_url 返回第一个结果。全部视频完成校验并保存后,任务才会变为 SUCCESS。费用按“单个视频时长 × generation_count”预扣和结算。
阿里云视频
curl -X POST "https://<LLMPOOL_HOST>/aliyun/v1/video_generation" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: aliyun-demo-001" \
-d '{"model":"ALIYUN_MODEL_FROM_MODELS_PAGE","prompt":"日出时的海浪","images":[],"metadata":{"resolution":"720P","ratio":"16:9","duration":5,"generate_audio":true,"seed":42,"watermark":false}}'
阿里云根据所选上游模型支持文生视频、首帧视频和参考图视频。总时长范围为 2-30 秒,具体时长和图片数量限制由模型决定;同时支持两种图片模式的模型可通过 metadata.image_mode 指定 first_frame 或 reference_image。metadata.generate_audio 支持布尔值,省略时默认开启;接口不提供取消或删除功能。
curl "https://<LLMPOOL_HOST>/aliyun/v1/video_generation/video_xxx" -H "Authorization: Bearer YOUR_API_KEY"
curl "https://<LLMPOOL_HOST>/aliyun/v1/video_generation?limit=20" -H "Authorization: Bearer YOUR_API_KEY"
幂等、计费和错误
创建请求建议始终发送唯一的 Idempotency-Key。使用相同 key 和相同请求体重试会返回原任务;相同 key 携带不同请求参数会返回冲突。
平台按协议计费单位和价格规则预扣余额。原生 Doubao Seedance 根据分辨率、比例、固定 24 FPS 和时长估算 video.output/token,完成后按上游实际输出 Token 结算:实际金额较低时返还差额,较高时补扣,失败或取消时全额返还;其他视频协议目前按时长预扣。余额不足时返回 insufficient_credit,不会创建任务;异步结算可能使使用或余额记录稍后显示。
常见错误包括 invalid_parameter、unsupported_parameter、model_not_found、rate_limit_exceeded、insufficient_credit 和 task_not_cancellable。更多说明请查看错误响应和故障排除。
GraphQL 的 videoPriceQuote 仅用于费用预估,不负责创建或查询视频任务。