Seedance_sup 视频生成
Seedance_sup 是字节跳动推出的视频生成模型系列,支持文生视频与图/视频参考生成。调用走统一的 POST /v1/videos 接口,响应为 OpenAI Video 风格(id / status / result_url)。
与「原生 Seedance V3」的区别
平台还有一套原生 Seedance V3(doubao-seedance-* 系列):走火山原厂协议 /v3/video/tasks,配套另一套素材库(/v3/assets)。两者模型名、接口与素材库均不同,素材也不能互相引用。Seedance_sup(本页)的素材库在 /v1/assets,见素材库;原生版素材库见素材库 V3。
端点
- 创建任务:
POST $URL/v1/videos - 查询任务:
GET $URL/v1/videos/{task_id}
支持模型
| 模型名称 | 定位 | 支持分辨率 |
|---|---|---|
seedance-2-0 | 标准版,质量最高 | 720p / 1080p / 4K |
seedance-2-0-fast | 快速版,速度与质量平衡 | 720p / 1080p |
seedance-2-0-mini | 轻量版,性价比最高 | 720p |
主要参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | seedance-2-0 / seedance-2-0-fast / seedance-2-0-mini |
prompt | string | 是 | 视频内容描述,建议具体描述主体、动作、场景、镜头 |
seconds | string | 否 | 输出视频时长(秒),如 "5"、"10" |
size | string | 否 | 分辨率:720p / 1080p / 4k,默认 720p |
image | string | 否 | 参考图片 URL(单张,图生视频) |
images | array | 否 | 参考图片 URL 数组(多图参考) |
input_reference | string | 否 | 参考图片或视频的 URL,用于图生视频 / 视频参考生成 |
metadata.ratio | string | 否 | 画面比例,如 16:9、9:16、1:1 |
metadata.generate_audio | boolean | 否 | 是否生成音频 |
mode | string | 否 | 生成模式,默认 std(服务端自动补齐,可不传) |
参考图与素材库
本系列(Seedance_sup)配套素材库(/v1/assets,虚拟/真人人像库):素材上传后以 asset://asset-xxx 形式放入 images 引用。也可以直接传公网可访问的图片/视频 URL(上游服务端会自行拉取,内网或本地地址会失败)。素材库使用详见素材库。
请求示例
文生视频
# 1. 创建视频任务
curl $URL/v1/videos \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2-0",
"prompt": "一只戴着墨镜的猫走在霓虹灯街道上,赛博朋克风格,镜头缓慢推进",
"seconds": "5",
"size": "720p",
"metadata": {
"ratio": "16:9",
"generate_audio": true
}
}'
# 2. 查询任务状态(替换 {task_id} 为上一步返回的 id)
curl $URL/v1/videos/{task_id} \
-H "Authorization: Bearer $YOUR_API_KEY"import time
import requests
url = "$URL/v1/videos"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"model": "seedance-2-0",
"prompt": "一只戴着墨镜的猫走在霓虹灯街道上,赛博朋克风格",
"seconds": "5",
"size": "720p",
}
task = requests.post(url, json=payload, headers=headers).json()
task_id = task["id"]
while True:
result = requests.get(f"{url}/{task_id}", headers=headers).json()
if result["status"] in ("completed", "failed"):
break
time.sleep(8)
print(result)图生视频
curl $URL/v1/videos \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2-0",
"prompt": "让画面中的人物转身走向镜头",
"image": "https://example.com/ref.png",
"seconds": "5",
"size": "720p"
}'响应字段
创建任务与查询任务返回同一结构(OpenAI Video 风格):
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务 ID |
status | string | 任务状态(见下方状态说明) |
result_url | string | 生成完成后的视频地址(位于响应顶层,仅 completed 时返回) |
progress | integer | 生成进度,0~100 |
completed_at | integer | 完成时间戳(秒,仅 completed 时返回) |
error.message | string | 失败原因(仅 failed 时返回) |
任务状态
| 状态 | 含义 | 处理建议 |
|---|---|---|
queued | 排队中 | 继续轮询 |
in_progress | 生成中 | 继续轮询 |
completed | 生成成功 | 从返回体获取视频地址,请尽快下载保存 |
failed | 生成失败 | 查看 error.message |
建议轮询间隔 5~10 秒
任务完成后请尽快下载转存:视频地址有时效性,过期后无法再访问。
响应示例
{
"id": "task_xxxxxxxx",
"status": "in_progress",
"progress": 30
}完成后:
{
"id": "task_xxxxxxxx",
"status": "completed",
"progress": 100,
"result_url": "https://cdn.volctokens.com/.../result.mp4",
"completed_at": 1786431715
}常见问题
Q: 提示词怎么写效果更好?
建议包含四个要素:主体(谁/什么)、动作(在做什么)、场景(在哪里)、镜头(怎么拍,如推进/环绕/俯拍)。避免过于抽象的描述。
Q: 任务大概多久完成?
与时长和分辨率相关,720p 5 秒通常在 1~3 分钟内完成,4K 会更久。请通过轮询查询接口获取最终状态;任务超过 20 分钟未完成会自动置为失败。
Q: 生成的视频链接会过期吗?
会。视频地址有时效性,生成完成后请尽快下载转存到自己的存储。
Q: 平台有素材库吗?
有。Seedance_sup(本页)配套素材库 /v1/assets(虚拟/真人人像库,见素材库);原生 Seedance V3 另有 /v3/assets 素材库(见素材库 V3)。两套素材不能互相引用。
