视频生成 API
本文介绍 Seedance 2.0 & 2.0 fast 模型相较于存量模型 **新增/配置有区别 **的 API 参数介绍,存量 API 参数的完整介绍参见 视频生成 API。
使用千木 API 生成时,base url 为 https://silvamux.tingyutech.com/api/v3 。
模型能力
Seedance 2.0 和 Seedance 2.0 fast 提供的模型能力一致, 追求最高生成品质,推荐使用 Seedance 2.0;更注重成本与生成速度,不要求极限品质,推荐使用 Seedance 2.0 fast。
Seedance 2.0 & 2.0 fast (有声视频/无声视频)
- 多模态参考生视频:输入参考图片(0
9)+参考视频(03)+ 参考音频(0~3)+ 文本提示词(可选)生成 1 个目标视频。支持生成全新视频、编辑视频、延长视频。
注意:不可单独输入音频,应至少包含 1 个参考视频或图片。
图生视频-首尾帧:输入首帧图片+尾帧图片+文本提示词(可选)生成 1 个目标视频。
图生视频-首帧:输入首帧图片+文本提示词(可选)生成 1 个目标视频。
文生视频:输入文本提示词生成 1 个目标视频。
模型能力对比表:
| 模型名称 | Seedance 2.0 / 2.0 Fast | |
| 文生视频 | ✅ | |
| 图生视频\-首帧 | ✅ | |
| 图生视频\-首尾帧 | ✅ | |
| 多模态参考【New】 | 图片参考 | ✅ |
| 视频参考 | ✅ | |
|
组合参考
|
✅ | |
| 编辑视频【New】 | ✅ | |
| 延长视频【New】 | ✅ | |
| 生成有声视频 | ✅ | |
| 联网搜索增强【New】 | ✅ | |
| 样片模式 | ❌ | |
| 返回视频尾帧 | ✅ | |
| 输出视频规格 | 输出分辨率 | 480p, 720p |
| 输出宽高比 | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | |
| 输出时长 | 4~15 秒 | |
| 输出视频格式 | mp4 | |
Create-创建视频生成任务
POST https://silvamux.tingyutech.com/api/v3/contents/generations/tasks
请求参数
content object[] 必选
输入给模型,生成视频的信息,支持文本、图片、音频、视频、样片任务 ID。支持以下几种组合:
- 文本
- 文本(可选)+ 图片
- 文本(可选)+ 视频
- 文本(可选)+ 图片 + 音频
- 文本(可选)+ 图片 + 视频
- 文本(可选)+ 视频 + 音频
- 文本(可选)+ 图片 + 视频 + 音频
信息类型:
- 文本信息
object
输入给模型的提示词信息。
content.type string 必选
输入内容的类型,此处应为 text。
content.textstring 必选
输入给模型的文本提示词,描述期望生成的视频。 支持中英文。建议中文不超过 500 字,英文不超过 1000 词。字数过多信息容易分散,模型可能因此忽略细节,只关注重点,造成视频缺失部分元素。提示词的更多使用技巧请参见 提示词指南。
- 图片信息
object
输入给模型的图片信息。
content.type string 必选
输入内容的类型,此处应为 image_url。
content.image_url object 必选
输入给模型的图片对象。
content.image_url.url string 必选
图片 URL 、图片 Base64 编码、素材 ID。
- 图片 URL:填入图片的公网 URL。
- Base64 编码:**【不建议使用】**将本地文件转换为 Base64 编码字符串,然后提交给大模型。遵循格式:data:image/<图片格式>;base64,<Base64 编码>,注意 <图片格式> 需小写,如 data:image/png;base64,{base64_image}。
- 素材 ID:用于视频生成的预置素材及虚拟人像的 ID,遵循格式:asset://<ASSET_ID>,可从 素材&虚拟人像库 获取,详细使用请参见文档。
传入单张图片要求
- 格式:jpeg、png、webp、bmp、tiff、gif
- 宽高比(宽/高): (0.4, 2.5)
- 宽高长度(px):(300, 6000)
- 大小:单张图片小于 30 MB。请求体大小不超过 64 MB。大文件请勿使用 Base64 编码。
- 图片数量:
- 图生视频-首帧:1 张
- 图生视频-首尾帧:2 张
- Seedance 2.0 & 2.0 fast 多模态参考生视频:1~9 张
content.role string 条件必填
图片的位置或用途。
注意
图生视频-首帧、图生视频-首尾帧、多模态参考生视频(包括参考图、视频、音频)为 3 种互斥场景,不可混用。
多模态参考生视频可通过提示词指定参考图片作为首帧/尾帧,间接实现“首尾帧+多模态参考”效果。若需严格保障首尾帧和指定图片一致,优先使用图生视频-首尾帧(配置 role 为 first_frame / last_frame)。
图生视频-首帧
需要传入 1 个 image_url 对象
- 字段 role 取值:
- first_frame 或不填
图生视频-首尾帧
需要传入 2 个 image_url 对象
- 字段 role 取值:
- 首帧图片对应的字段 role 为:first_frame,必填
- 尾帧图片对应的字段 role 为:last_frame,必填
**图生视频-参考图 **
可传入 1~9 个 image_url 对象
字段 role 取值:
- 每张参考图对应的字段 role 均为:reference_image,必填
视频信息
object输入给模型的视频信息。仅 Seedance 2.0 & 2.0 fast 支持输入视频。2026 年 3 月 11 日起,支持使用本账号下 Seedance 2.0 & 2.0 fast 模型产出的视频作为输入素材,进行视频编辑或延长,其中的真人人脸可正常使用,不会触发审核拦截。
content.type string 必选
输入内容的类型,此处应为 video_url。
content.video_url object 必选
输入给模型的视频对象。
content.video_url.url string 必选
视频 URL、素材 ID。
- 视频 URL:填入视频的公网 URL。
- 素材 ID:用于视频生成的预置素材及虚拟人像视频的 ID,遵循格式:asset://<ASSET_ID>。
传入单个视频要求
- 视频格式:mp4、mov。
- 分辨率:480p、720p
- 时长:单个视频时长 [, 15] s,最多传入 3 个参考视频,所有视频总时长不超过 15s。
- 尺寸:
- 宽高比(宽/高):[.4, 2.5]
- 宽高长度(px):[00, 6000]
- 画面像素(宽 × 高):[09600, 927408] ,示例:
- 画面尺寸 640×640=409600 满足最小值 ;
- 画面尺寸 834×1112=927408 满足最大值。
- 大小:单个视频不超过 50 MB。
- 帧率 (FPS):[4, 60]
content.role string 条件必填
视频的位置或用途。当前仅支持 reference_video。
- 音频信息
object输入给模型的音频信息。仅 Seedance 2.0 & 2.0 fast 支持输入音频。注意不可单独输入音频,应至少包含 1 个参考视频或图片。
content.type string 必选
输入内容的类型,此处应为 audio_url。
content.audio_url object 必选
输入给模型的音频对象。
content.audio_url.url string 必选
音频 URL 、音频 Base64 编码、素材 ID。
- 音频 URL:填入音频的公网 URL。
- Base64 编码:**【不建议使用】**将本地文件转换为 Base64 编码字符串,然后提交给大模型。遵循格式:data:audio/<音频格式>;base64,<Base64 编码>,注意 <音频格式> 需小写,如 data:audio/wav;base64,{base64_audio}。
- 素材 ID:用于视频生成的虚拟人的音频素材 ID,遵循格式:asset://<ASSET_ID>。可从素材&虚拟人像库获取。
传入单个音频要求
- 格式:wav、mp3
- 时长:单个音频时长 [, 15] s,最多传入 3 段参考音频,所有音频总时长不超过 15 s。
- 大小:单个音频不超过 15 MB,请求体大小不超过 64 MB。大文件请勿使用 Base64 编码。
content.role string 条件必填
音频的位置或用途。当前仅支持 reference_audio 。
service_tier string
Seedance 2.0 & 2.0 fast 暂不支持
**generate_audio **boolean
Seedance 2.0 & 2.0 fast 默认值: true
控制生成的视频是否包含与画面同步的声音。
- true:模型输出的视频包含同步音频。模型会基于文本提示词与视觉内容,自动生成与之匹配的人声、音效及背景音乐。建议将对话部分置于双引号内,以优化音频生成效果。例如:男人叫住女人说:“你记住,以后不可以用手指指月亮。”
- false:模型输出的视频为无声视频。
说明
生成的有声视频均为单声道,和传入的音频声道数无关。
draft boolean
Seedance 2.0 & 2.0 fast 暂不支持
tools object[]
仅 Seedance 2.0 & 2.0 fast 支持 配置模型要调用的工具。
tools.type string
指定使用的工具类型。
- web_search:联网搜索工具。当前仅文生视频支持。
说明
开启联网搜索后,模型会根据用户的提示词自主判断是否搜索互联网内容(如商品、天气等)。可提升生成视频的时效性,但也会增加一定的时延。
实际搜索次数可通过 查询视频生成任务 API 返回的 usage.tool_usage.web_search 字段获取,如果为 0 表示未搜索。
resolution string
Seedance 2.0 & 2.0 fast 默认值:720p
视频分辨率,取值范围:
- 480p
- 720p
ratio string
Seedance 2.0 & 2.0 fast 默认值: adaptive
生成视频的宽高比例。不同宽高比对应的宽高像素值见下方表格。
- 16:9
- 4:3
- 1:1
- 3:4
- 9:16
- 21:9
- adaptive:根据输入自动选择最合适的宽高比
adaptive 适配规则
当配置 ratio 为 adaptive 时,模型会根据生成场景自动适配宽高比;实际生成的视频宽高比可通过 查询视频生成任务 API 返回的 ratio 字段获取。
- 文生视频:根据输入的提示词,智能选择最合适的宽高比。
- 首帧 / 首尾帧生视频:根据上传的首帧图片比例,自动选择最接近的宽高比。
- 多模态参考生视频:根据用户提示词意图判断,如果是首帧生视频/编辑视频/延长视频,以该图片/视频为准选择最接近的宽高比;否则,以传入的第一个媒体文件为准(优先级:视频>图片)选择最接近的宽高比。
不同宽高比对应的宽高像素值:
| 分辨率 | 宽高比 | 宽高像素值 |
| 480p | 16:9 | 864×496 |
| 4:3 | 752×560 | |
| 1:1 | 640×640 | |
| 3:4 | 560×752 | |
| 9:16 | 496×864 | |
| 21:9 | 992×432 | |
| 720p | 16:9 | 1280×720 |
| 4:3 | 1112×834 | |
| 1:1 | 960×960 | |
| 3:4 | 834×1112 | |
| 9:16 | 720×1280 | |
| 21:9 | 1470×630 |
Seedance 2.0 & 2.0 fast 默认值:5
生成视频时长,仅支持整数,单位:秒。
取值范围:
- [,15] 或设置为-1
配置方法
指定具体时长:支持有效范围内的任一整数。
智能指定:设置为 -1,表示由模型在有效范围内自主选择合适的视频长度(整数秒)。实际生成视频的时长可通过 查询视频生成任务 API 返回的 duration 字段获取。注意视频时长与计费相关,请谨慎设置。
frames integer
Seedance 2.0 & 2.0 fast 暂不支持
camera_fixed boolean
Seedance 2.0 & 2.0 fast 暂不支持
Get/List-查询视频生成任务/列表
查询视频生成任务:GET https://silvamux.tingyutech.com/api/v3/contents/generations/tasks/\{id\}
响应参数
**tools **object[]
仅 Seedance 2.0 & 2.0 fast 支持 配置模型要调用的工具。
tools.type string
指定使用的工具类型。
- web_search:联网搜索工具。
usage object
本次请求的 token 用量。
usage.completion_tokens integer
模型输出视频花费的 token 数量。
usage.total_tokens integer
本次请求消耗的总 token 数量。
usage.tool_usage object
仅 Seedance 2.0 & 2.0 fast 支持 使用工具的用量信息。
usage.tool_usage.web_search integer
实际调用联网搜索工具的次数,仅开启联网搜索时返回。
调用简介及示例
流程简介
任务接口是异步接口,视频生成任务流程
- 创建视频生成任务接口创建视频生成任务
- 定时使用查询接口查询视频生成任务状态
- 任务 running,过段时间再查询任务状态
- 任务完成,返回视频链接,在 24 小时内下载生成的视频文件
创建视频生成任务
以下示例仅展示 Seedance 2.0 & 2.0 fast 新增能力,更多视频生成示例详见 创建视频生成任务 API。
多模态参考
curl https://silvamux.tingyutech.com/api/v3/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d '{
"model": "goldsaucer/advanced-video-generation-2-0",
"content": [
{
"type": "text",
"text": "全程使用**视频1**的第一视角构图,全程使用**音频1**作为背景音乐。第一人称视角果茶宣传广告,Seedance牌「苹苹安安」苹果果茶限定款;首帧为**图片1**,你的手摘下一颗带晨露的阿克苏红苹果,轻脆的苹果碰撞声;2-4 秒:快速切镜,你的手将苹果块投入雪克杯,加入冰块与茶底,用力摇晃,冰块碰撞声与摇晃声卡点轻快鼓点,背景音:「鲜切现摇」;4-6 秒:第一人称成品特写,分层果茶倒入透明杯,你的手轻挤奶盖在顶部铺展,在杯身贴上粉红包标,镜头拉近看奶盖与果茶的分层纹理;6-8 秒:第一人称手持举杯,你将**图片2**中的果茶举到镜头前(模拟递到观众面前的视角),杯身标签清晰可见,背景音「来一口鲜爽」,尾帧定格为**图片2**。背景声音统一为女生音色。"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg"
},
"role": "reference_image"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic2.jpg"
},
"role": "reference_image"
},
{
"type": "video_url",
"video_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_video/r2v_tea_video1.mp4"
},
"role": "reference_video"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_audio/r2v_tea_audio1.mp3"
},
"role": "reference_audio"
}
],
"generate_audio":true,
"ratio": "16:9",
"duration": 11,
"watermark": false
}'
编辑视频
curl https://silvamux.tingyutech.com/api/v3/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d '{
"model": "goldsaucer/advanced-video-generation-2-0",
"content": [
{
"type": "text",
"text": "将**视频1**礼盒中的香水替换成**图片1**中的面霜,运镜不变"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_edit_pic1.jpg"
},
"role": "reference_image"
},
{
"type": "video_url",
"video_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_video/r2v_edit_video1.mp4"
},
"role": "reference_video"
}
],
"generate_audio": true,
"ratio": "16:9",
"duration": 5,
"watermark": true
}'
延长视频
curl https://silvamux.tingyutech.com/api/v3/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d '{
"model": "goldsaucer/advanced-video-generation-2-0",
"content": [
{
"type": "text",
"text": "**视频1**中的拱形窗户打开,进入美术馆室内,接**视频2**,之后镜头进入画内,接视频3"
},
{
"type": "video_url",
"video_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_video/r2v_extend_video1.mp4"
},
"role": "reference_video"
},
{
"type": "video_url",
"video_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_video/r2v_extend_video2.mp4"
},
"role": "reference_video"
},
{
"type": "video_url",
"video_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_video/r2v_extend_video3.mp4"
},
"role": "reference_video"
}
],
"generate_audio": true,
"ratio": "16:9",
"duration": 8,
"watermark": true
}'
使用联网搜索
仅支持文本生视频
curl https://silvamux.tingyutech.com/api/v3/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d '{
"model": "goldsaucer/advanced-video-generation-2-0",
"content": [
{
"type": "text",
"text": "微距镜头对准叶片上翠绿的玻璃蛙。焦点逐渐从它光滑的皮肤,转移到它完全透明的腹部,一颗鲜红的心脏正在有力地、规律地收缩扩张。"
}
],
"generate_audio":true,
"ratio": "16:9",
"duration": 11,
"watermark": true,
"tools": [
{
"type": "web_search"
}
]
}'
查询视频生成任务
//请将 cgt-2026****hzc2z 替换为创建视频生成任务时获得的任务ID
curl -X GET https://silvamux.tingyutech.com/api/v3/contents/generations/tasks/cgt-2026****hzc2z \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY"
最佳实践
使用自有虚拟人像素材生成视频
Seedance 2.0 及 2.0 fast 模型具有完备的防范 Deepfake 和侵犯版权风险能力。在生成视频时,会对有风险的参考素材输入进行拦截,最大限度保证生成视频合规和安全性。
为确保创作者能充分利用 Seedance 2.0 系列模型强大的视频生成能力高效生成视频内容,同时规避 AI 生成内容的潜在风险,千木推出了私域可信素材库,支持创作者自助上传虚拟人像素材。完成入库的可信素材将进入您的私域素材库,在视频生成中使用。
请参考素材管理 API 文档将素材录入。
使用模型产物进行二创
Seedance 2.0 及 2.0 fast 模型生成的视频为受信素材。您可使用本组织下由上述模型生成的视频,进行视频编辑、视频延长等二次创作,素材中的人脸可正常参与生成,不会触发审核拦截。
2026 年 3 月 11 日起,使用 Seedance 2.0 及 2.0 fast 模型生成的视频,支持二次创作。
import os
import time
# Install SDK: pip install 'volcengine-python-sdk[ark]'
from volcenginesdkarkruntime import Ark
client = Ark(
# The base URL for model invocation
base_url='https://silvamux.tingyutech.com/api/v3',
# Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey
api_key=os.environ.get("ARK_API_KEY"),
)
if __name__ == "__main__":
print("----- create request -----")
create_result = client.content_generation.tasks.create(
model="goldsaucer/advanced-video-generation-2-0", # Replace with Model ID
content=[
{
"type": "text",
# 注意:素材图片指代需使用“图片N”( N 表示传入素材图片/图片的序号,如“图片1”、“图片2”)
"text": "**图片1**中美妆博主用中文进行介绍,妆容改为明艳大气,去掉脸部反光,笑容甜美,近景镜头,手持**图片2**的面霜面向镜头展示,清新简约背景,元气甜美风格。博主台词:挖到本命面霜了!质地像云朵一样软糯,一抹就吸收,熬夜急救、补水保湿全搞定,素颜都自带柔光感。"
},
{
"type": "image_url",
"image_url": {
"url": "asset://asset-20260224200602-qn7wr"
},
"role": "reference_image"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_edit_pic1.jpg"
},
"role": "reference_image"
},
],
generate_audio=True,
ratio="16:9",
duration=11,
watermark=True,
)
print(create_result)
print("----- polling task status -----")
task_id = create_result.id
while True:
get_result = client.content_generation.tasks.get(task_id=task_id)
status = get_result.status
if status == "succeeded":
print("----- task succeeded -----")
print(get_result)
break
elif status == "failed":
print("----- task failed -----")
print(f"Error: {get_result.error}")
break
else:
print(f"Current status: {status}, Retrying after 30 seconds...")
time.sleep(30)
- 对首次生成的视频进行再次编辑。
视频原始 URL 的有效期仅 24 小时,实际使用时,建议您转存视频文件。
import os
import time
# Install SDK: pip install 'volcengine-python-sdk[ark]'
from volcenginesdkarkruntime import Ark
client = Ark(
# The base URL for model invocation
base_url='https://silvamux.tingyutech.com/api/v3',
# Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey
api_key=os.environ.get("ARK_API_KEY"),
)
if __name__ == "__main__":
print("----- create request -----")
create_result = client.content_generation.tasks.create(
model="goldsaucer/advanced-video-generation-2-0", # Replace with Model ID
content=[
{
"type": "text",
"text": "将**视频1**中的背景修改为室内,房间布置温馨,包括白色的沙发,梳妆台和鲜花。"
},
{
"type": "video_url",
"video_url": {
"url": "https://....."
},
"role": "reference_video"
},
],
generate_audio=True,
ratio="16:9",
duration=11,
watermark=True,
)
print(create_result)
print("----- polling task status -----")
task_id = create_result.id
while True:
get_result = client.content_generation.tasks.get(task_id=task_id)
status = get_result.status
if status == "succeeded":
print("----- task succeeded -----")
print(get_result)
break
elif status == "failed":
print("----- task failed -----")
print(f"Error: {get_result.error}")
break
else:
print(f"Current status: {status}, Retrying after 30 seconds...")
time.sleep(30)