跳到主要内容

视频生成

这一页帮你提交一个视频生成任务,查询进度,并在完成后取回视频。

视频是异步任务:先提交拿到任务 ID,再轮询查状态,等到 completed 后取结果。它不会像聊天那样一次返回完整内容。

模型 ID 从模型广场的「视频」分类复制,填进下面请求的 model 字段;想确认当前令牌实际可用的模型,调用 GET /v1/models(令牌设置了模型限制时,以这个返回为准)。

本页三步示例走 OpenAI 兼容路径 /v1/videosPOST /v1/videos 提交任务,GET /v1/videos/{task_id} 查询状态,完成后从内容端点下载视频。

:::info 原生路径附注 彼源 AI 另有原生路径:提交用 POST /v1/video/generations,查询状态用 GET /v1/video/generations/{task_id}。它的提交与查询字段和 /v1/videos 略有不同,结果地址以其状态查询接口的返回内容为准。没有特殊需要,按本页的 /v1/videos 示例走即可。 :::

第一步:提交任务

<YOUR_TOKEN> 换成你的令牌(sk- 开头,在控制台令牌管理创建)。/v1/videos 用 multipart 表单提交:

curl https://api.biyuan.ai/v1/videos \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-F "model=sora-2" \
-F "prompt=一只柯基在海边追逐浪花,暖色日落,镜头平稳推进" \
-F "seconds=8"

要用参考图,再加一行 -F "input_reference=@/absolute/path/to/reference.png"

提交成功会先返回任务信息,把 id(或 task_id)和 status 存下来:

{
"id": "sora-2-123456",
"object": "video",
"model": "sora-2",
"status": "queued",
"progress": 0,
"seconds": "8"
}

首次验证用短提示词、单一动作、较短 seconds,最容易看出链路是否正常;等纯文本任务跑通了,再加参考图这类参数。

第二步:轮询状态

拿提交返回的 ID 查询:

curl https://api.biyuan.ai/v1/videos/<TASK_ID> \
-H "Authorization: Bearer <YOUR_TOKEN>"

返回里的 status 有四种:

状态含义该做什么
queued已接收,排队中继续等
in_progress正在生成继续等
completed已完成取结果(见下一步)
failed失败先分清是参数、权限还是上游问题,别原样重提

轮询别太频繁:提交后先等 3 到 5 秒,之后每 5 到 10 秒查一次,并设一个总超时。

第三步:取回视频

OpenAI 兼容路径在 completed 后从内容端点下载:

curl -L https://api.biyuan.ai/v1/videos/<TASK_ID>/content \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-o result.mp4

任务没到 completed 就请求内容,通常会返回 404 或「文件不存在」,等状态到了再取。

排错

  • 聊天能用、视频不能用:多半是当前分组或令牌没开放视频模型,先在模型广场确认模型。
  • 混淆任务 ID:查询时用本次提交返回的那个 ID,别拿别的任务的 ID 来查。
  • 失败后别原样重提:如果是参数或权限问题,原样重提还是会失败。

继续阅读