视频生成(按秒计费模型)

用 POST /v1/videos 创建图生视频、首尾帧、参考图、数字人和视频工具任务,查询状态、下载结果,按输出秒数计费。

本页目录
  1. 输入
  2. 创建任务
  3. 视频模型字段
  4. 数字人与视频工具
  5. 先预估价格
  6. 用 Idempotency-Key 安全重试
  7. 查询状态与下载
  8. 计费方式
  9. 验证配置
  10. 常见问题排查
  11. 相关文档

模型目录 → 视频 中的视频模型通过 POST /v1/videos 以异步任务运行,按输出视频的秒数计费。流程是:创建任务、查询状态、下载文件。失败和取消的任务不收费。

步骤 请求
预估价格(可选) POST /v1/videos,带 "dry_run": true
创建任务 POST /v1/videos
查询状态 GET /v1/videos/{id}
下载 GET /v1/videos/{id}/content
取消 POST /v1/videos/{id}/cancel

#输入

图片、视频、音频输入可以是公开的 https:// 链接,或 base64 data URI(data:image/png;base64,...),单个文件不超过 50 MB,整个请求体不超过 80 MB。

视频模型需要首帧。 用 image 传入。如果只有文字创意,先用图片模型生成首帧,再传入它的链接。只有文字的请求会返回 400,提示 “image is required”。

#创建任务

cURL
curl https://bigmodel.io/v1/videos \
  -H "Authorization: Bearer $BIGMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: lantern-take-1" \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "灯笼缓缓向右漂去,湖面薄雾流动",
    "image": "https://example.com/lantern.png",
    "seconds": 5,
    "resolution": "720p"
  }'
Python
import os, time, requests

BASE = "https://bigmodel.io/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['BIGMODEL_API_KEY']}"}

task = requests.post(f"{BASE}/videos", headers={**HEADERS, "Idempotency-Key": "lantern-take-1"}, json={
    "model": "seedance-2.0-fast",
    "prompt": "灯笼缓缓向右漂去,湖面薄雾流动",
    "image": "https://example.com/lantern.png",
    "seconds": 5,
}).json()

while task["status"] in ("queued", "running"):
    time.sleep(10)
    task = requests.get(f"{BASE}/videos/{task['id']}", headers=HEADERS).json()

print(task["status"], task.get("output", {}).get("url"), task.get("cost_usd"))

任务受理后返回 202、Location 响应头和:

json
{"id": "6f1c...", "object": "video", "model": "seedance-2.0-fast", "status": "queued", "created_at": 1760000000, "estimated_cost_usd": 0.4272}

#视频模型字段

字段 说明
model 必填。
prompt 画面里发生什么。
image 必填,首帧。也可写作 first_frame。
last_frame 可选,尾帧,仅支持首尾帧的模型可用,需同时传 image。
reference_images、reference_videos、reference_audios 参考素材数组,仅支持参考输入的模型可用。带参考素材时,image 也算作一张参考图。
seconds 输出时长(也可写作 duration)。默认 5 秒,并限制在模型支持的范围内。
resolution 模型支持的分辨率之一,如 720p。模型支持 720p 时默认 720p。
aspect_ratio 如 16:9、9:16。传 size(如 1280x720)也能设定比例。
audio 支持原生音频的模型可传 true 或 false。
seed 整数,模型支持时可复现结果。

每个模型的时长范围、分辨率和参考素材上限见模型目录。超出范围会返回 400,并列出允许的取值。

#数字人与视频工具

同一个接口也运行数字人和工具模型:

模型 输入
infinitetalk image(人像)或 video(单人视频),再加 input_audio(配音)
latentsync、latentsync-music video(单人、露脸)和 input_audio
wan-animate-2 image(人物)、video(要模仿的动作),或两者都传
video-upscale、seedvr2-upscale video;video-upscale 可传 target_resolution:1080p(默认)或 2k
video-to-clay video;mode 为 clay_masked(默认)、clay 或 sculpt;keep_audio

数字人模型按配音(或视频)时长计费,工具模型按输入视频时长计费。

#先预估价格

在同样的请求体里加 "dry_run": true。不会生成,也不会扣费;输入素材仍会被读取,以便按时长估价。

bash
curl https://bigmodel.io/v1/videos \
  -H "Authorization: Bearer $BIGMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "seedance-2.0-fast", "image": "https://example.com/lantern.png", "seconds": 5, "dry_run": true}'
json
{"object": "quote", "model": "seedance-2.0-fast", "unit": "per_second", "estimated_units": 5, "estimated_cost_usd": 0.4272}

#用 Idempotency-Key 安全重试

创建任务时带上 Idempotency-Key 请求头(最多 200 个字符)。如果响应丢失,用同一个 Key 和同一个 API Key 重新发送,会拿回原来的任务,不会再生成一次。每个新视频使用新的 Key。

#查询状态与下载

bash
curl https://bigmodel.io/v1/videos/TASK_ID \
  -H "Authorization: Bearer $BIGMODEL_API_KEY"

curl -L -o video.mp4 https://bigmodel.io/v1/videos/TASK_ID/content \
  -H "Authorization: Bearer $BIGMODEL_API_KEY"

status 依次为 queued、running,最终为 succeeded、failed 或 canceled。建议每 5–15 秒查询一次。运行中 progress 可能显示 0–100。成功的任务带有 output: {"type": "video", "url": "...", "expires_in": 86400} 和实际扣费 cost_usd;失败的任务带有 error.message。

/content 会 302 跳转到文件,curl 需加 -L。output.url 无需 API Key 即可访问,有效期 24 小时,每次查询状态都会返回新链接。需要长期保存请下载文件。同一账户下的任意 API Key 都能查询该任务。

POST /v1/videos/TASK_ID/cancel 请求停止生成,接口返回当前任务;若任务尚未完成,稍后会变为 canceled。3 小时内未完成的任务会以 failed 结束,不收费。

#计费方式

创建任务时,余额需在扣除仍在运行的任务后足以覆盖本次预估。任务成功后按实际生成的视频扣费,因此 cost_usd 可能与 estimated_cost_usd 略有差异。扣费记录在用量中。各模型价格见定价。

部分视频模型按输出分辨率定价(例如 Seedance 2.0 Fast 的 480p 和 720p 价格不同)。不传 resolution 时,模型支持 720p 就用 720p。每个模型页列有各分辨率的价格,dry_run 会按你传的分辨率报价。

#验证配置

把预估示例中的首帧换成你自己的图片链接并发送。返回 200 报价即说明 Key 可以使用该模型。然后创建任务并查询到 succeeded。

#常见问题排查

400 “image is required”。 视频模型需要首帧。传入 image;没有图片时先用图片模型生成。

400 “seconds must be between …” 或 “resolution must be one of …”。 取值超出模型限制,按提示或模型目录中的范围调整。

400 “… could not be read”。 输入链接不是公开的 https://,或 data URI 格式有误、超过 50 MB。

402 insufficient_balance。 余额扣除运行中任务后不足以覆盖预估,请到充值页面充值。

403 permission_error。 Key 未分配分组,请在 API Key 中设置分组。

404 model_not_available。 该模型不对这个 Key 开放,或应调用其他接口(语音和音乐使用 /v1/audio/*)。

404 not_found_error。 任务 ID 有误,或任务属于其他账户。

/content 返回 409 not_ready。 任务尚未成功,请继续查询。

503 api_error。 生成服务暂时不可用。用同一个 Idempotency-Key 重试。

#相关文档

更新于 · 以 Markdown 查看