Skip to content

视频生成 API(豆包 Seedance) ​

最近更新:2026 年 10 月 17 日(Asia/Shanghai)

关联:帮助中心 · 大模型 API · 图像生成

全文路径中的 API 网关地址为 https://ai.afp.net(与控制台一致)。环境变量示例使用 CIYUAN_BASE_URL / CIYUAN_API_KEY。

视频生成是异步任务:提交 → 拿到任务 ID → 轮询状态 → 完成后下载。查询与下载须使用同一账号下的令牌。


1. 模型 ​

模型 ID说明
doubao-seedance-2-5-260628Seedance 2.5
doubao-seedance-2-0-260128Seedance 2.0 标准版
doubao-seedance-2-0-fast-260128Fast(更快,分辨率上限较低)
doubao-seedance-2-0-mini-260615Mini(更轻量,分辨率上限较低)

价格、可用时长与分辨率上限以控制台「模型广场 / 定价」为准。2.0 Fast / Mini 一般最高 720p;标准版与 2.5 支持更高规格时以模型说明为准。


2. 选择接入格式 ​

格式提交查询 / 下载适用
统一视频协议(OpenAI Video 风格)POST /v1/videosGET /v1/videos/{id};GET /v1/videos/{id}/content希望统一对接多家视频模型
豆包原生(火山方舟风格)POST /doubao/api/v3/contents/generations/tasksGET /doubao/api/v3/contents/generations/tasks/{id}需要首尾帧、参考音视频、生成音频、草稿等完整参数

兼容旧路径:POST /v1/video/generations + GET /v1/video/generations/{id}。新项目建议用上表两种。

鉴权一律:Authorization: Bearer sk-xxx。


3. 统一视频协议 ​

提交(文生视频) ​

bash
curl "$CIYUAN_BASE_URL/v1/videos" \
  -H "Authorization: Bearer $CIYUAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-fast-260128",
    "prompt": "海边日出,镜头缓慢推进,海浪轻拍礁石,电影感",
    "duration": 5,
    "resolution": "720p",
    "metadata": {"ratio": "16:9"}
  }'

图生视频可增加 "image": "https://example.com/first_frame.png";多张参考图用 "images": [...]。

返回含任务 id 与 status(如 queued)。

查询 ​

bash
curl "$CIYUAN_BASE_URL/v1/videos/<task_id>" \
  -H "Authorization: Bearer $CIYUAN_API_KEY"

状态常见路径:queued → in_progress → completed(或 failed)。部分响应用 succeeded 表示成功,轮询时请同时兼容。

下载 ​

bash
curl -L "$CIYUAN_BASE_URL/v1/videos/<task_id>/content" \
  -H "Authorization: Bearer $CIYUAN_API_KEY" \
  -o output.mp4

支持 Range 头,可分段或断点续传。

Python 轮询示例 ​

python
import os, time, requests

BASE = os.environ["CIYUAN_BASE_URL"]
H = {"Authorization": f"Bearer {os.environ['CIYUAN_API_KEY']}"}

task = requests.post(f"{BASE}/v1/videos", headers=H, json={
    "model": "doubao-seedance-2-0-mini-260615",
    "prompt": "一只柴犬在雪地里打滚,慢动作",
    "duration": 5,
    "resolution": "720p",
}).json()
task_id = task["id"]
print("任务已提交:", task_id)

while True:
    info = requests.get(f"{BASE}/v1/videos/{task_id}", headers=H).json()
    status = info.get("status")
    print("状态:", status, info.get("progress", ""))
    if status in ("completed", "succeeded"):
        break
    if status == "failed":
        raise RuntimeError(info.get("error"))
    time.sleep(10)

with requests.get(f"{BASE}/v1/videos/{task_id}/content", headers=H, stream=True) as r:
    r.raise_for_status()
    with open("output.mp4", "wb") as f:
        for chunk in r.iter_content(1 << 20):
            f.write(chunk)
print("已保存 output.mp4")

4. 豆包原生格式(参数最全) ​

提交 ​

bash
curl "$CIYUAN_BASE_URL/doubao/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer $CIYUAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "content": [
      {"type": "text", "text": "小女孩在麦田里奔跑,风吹动麦浪,夕阳逆光"},
      {"type": "image_url", "image_url": {"url": "https://example.com/first_frame.png"}, "role": "first_frame"}
    ],
    "duration": 5,
    "resolution": "1080p",
    "ratio": "16:9",
    "generate_audio": true,
    "watermark": false
  }'

返回:{"id": "task_xxxxxxxx"}。

查询 ​

bash
curl "$CIYUAN_BASE_URL/doubao/api/v3/contents/generations/tasks/task_xxxxxxxx" \
  -H "Authorization: Bearer $CIYUAN_API_KEY"

成功示例字段:status: "succeeded"、content.video_url、duration、resolution。失败:status: "failed" 与 error。

常用参数 ​

字段说明
model必填,Seedance 模型 ID
content必填数组:text、image_url(role 如 first_frame / last_frame / reference_image)、video_url、audio_url、draft_task
duration秒;-1 表示自动;范围视模型
resolution如 480p / 720p / 1080p
ratio如 16:9、9:16、1:1、adaptive
generate_audio是否生成音频(视模型)
seed / camera_fixed / watermark / return_last_frame随机种子 / 固定镜头 / 水印 / 返回尾帧
draft草稿模式;之后可用 draft_task 基于草稿出正式片
callback_url可选完成回调

部分版本也提供不带 /doubao 前缀的 /api/v3/contents/generations/tasks,方便改火山方舟 SDK 的 Base URL;带 /doubao 前缀的兼容性通常更好。


5. 注意事项 ​

  • 生成常需几十秒到数分钟;轮询间隔建议 5~15 秒,勿高频打查询。
  • 上游视频链接常有时效,请尽快下载或转存。
  • 统一协议字段如何映射到厂商参数由平台插件负责;某参数未生效时,改用豆包原生格式。
  • 计费可能按次、按秒,并随分辨率、时长、是否生成音频变化——以控制台为准。

6. 本页 FAQ ​

提交成功但一直查不到结果?
继续耐心轮询;长时间停在 queued 可能是上游排队。failed 时读 error.message。务必用同一账号令牌与平台返回的任务 ID。

统一协议和豆包原生选哪个?
简单文生/图生视频用统一协议即可;需要首尾帧、音频、草稿等完整能力时用豆包原生。

能否同步等待直到出片?
接口设计为异步。请自行轮询或配置 callback_url(若开启)。


上一页:图像生成 · 返回:帮助中心