视频生成
这一页帮你提交一个视频生成任务,查询进度,并在完成后取回视频。
视频是异步任务:先提交拿到任务 ID,再轮询查状态,等到 completed 后取结果。它不会像聊天那样一次返回完整内容。
模型 ID 从模型广场的「视频」分类复制,填进下面请求的 model 字段;想确认当前令牌实际可用的模型,调用 GET /v1/models(令牌设置了模型限制时,以这个返回为准)。
本页三步示例走 OpenAI 兼容路径 /v1/videos:POST /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 来查。
- 失败后别原样重提:如果是参数或权限问题,原样重提还是会失败。