文档目录

视频 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 秒查询一次。

协议能力

能力MiniMaxDoubao
创建任务POST /minimax/v2/video_generationPOST /doubao/v1/video/generations
查询任务GET /minimax/v2/video_generation/{task_id}GET /doubao/v1/video/generations/{task_id}
列出任务GET /minimax/v2/video_generationGET /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:仅 768P
  • duration:4-15 秒
  • 文生视频 ratio16:94:31:1
  • 图生视频:在 content 中增加一个 image_urlrole 使用 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:模型试验场提供 480p720p1080p
  • metadata.ratio:模型试验场提供 16:94:31:1
  • metadata.generate_audio:当前必须为 false 或省略
  • metadata.seedmetadata.watermark:可选

不同 Doubao 模型的实际上游能力可能不同,请以模型广场和模型试验场显示的可用参数为准。

Doubao:列表和查询

列出当前账户的 Doubao 视频任务:

curl "https://<LLMPOOL_HOST>/doubao/v1/video/generations?limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Doubao 列表同样支持 limitaftersource=api|playground,只返回 Doubao 任务。Doubao 当前没有取消任务接口。

查询单个任务:

curl "https://<LLMPOOL_HOST>/doubao/v1/video/generations/video_xxx" \
  -H "Authorization: Bearer YOUR_API_KEY"

data.status 可能为 QUEUEDIN_PROGRESSSUCCESSFAILURE。成功后,视频地址同时出现在 data.result_urldata.data.content.video_url。结果地址是短期有效的签名 URL,过期后可以重新查询任务获取新地址。

幂等、计费和错误

创建请求建议始终发送唯一的 Idempotency-Key。使用相同 key 和相同请求体重试会返回原任务;相同 key 携带不同请求参数会返回冲突。

平台在创建任务时按模型、时长、分辨率和价格规则预扣余额。余额不足时返回 insufficient_credit,不会创建任务。任务失败或取消后,退款由异步结算流程处理,使用记录可能稍后显示。

常见错误包括 invalid_parameterunsupported_parametermodel_not_foundrate_limit_exceededinsufficient_credittask_not_cancellable。更多说明请查看错误响应故障排除

GraphQL 的 videoPriceQuote 仅用于费用预估,不负责创建或查询视频任务。