Seedance
注意:Seedance 素材与分组绑定,创建 API Key 时只能选择一个 Seedance 分组。
使用真人图片、音频或视频创建视频时,根据 API Key 分组不同,操作方式如下:
- seedance三方资源通道-a:可直接使用真人素材创建视频。
- 其他分组(如 seedance官方资源通道、seedance三方资源通道-b 等):需先参照资源管理章节创建资源,再创建视频。
创建视频任务
http
POST /v1/contents/generations/tasks参数传入方式
本接口所有参数均通过 Body 以 JSON 形式传入,请求头需携带 Content-Type: application/json。
对于 resolution、ratio、duration、frames、seed、camera_fixed、watermark 参数,除了在 request body 中直接传入,也支持在文本提示词后追加 --[parameters] 的弱校验方式传参。
- 常规方式(推荐):在 request body 中直接传入参数。此方式为强校验,若参数填写错误,模型会返回错误提示。
json
{
"model": "doubao-seedance-1-5-Pro-251215",
"content": [
{
"type": "text",
"text": "小猫对着镜头打哈欠"
}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"seed": 11,
"camera_fixed": false,
"watermark": true
}- 弱校验方式:在文本提示词后追加
--[parameters]。若参数填写错误,该参数将被忽略或触发报错。
json
{
"model": "doubao-seedance-1-5-Pro-251215",
"content": [
{
"type": "text",
"text": "小猫对着镜头打哈欠 --rs 720p --rt 16:9 --dur 5 --seed 11 --cf false --wm true"
}
]
}弱校验参数简写对照:
| 参数 | 简写 |
|---|---|
resolution | --rs |
ratio | --rt |
duration | --dur |
seed | --seed |
camera_fixed | --cf |
watermark | --wm |
请求参数(Body)
| 参数 | 类型 | 必选 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | - | 模型 ID,开通模型服务后可查询 Model ID |
content | object[] | 是 | - | 输入内容列表,支持文本、图片、音频、视频、样片任务 ID 等多种类型的元素(详见 content 元素说明) |
callback_url | string | 否 | - | 回调地址,任务状态变化时方舟将向此地址推送 POST 请求,请求内容结构与查询任务 API 返回体一致 |
return_last_frame | boolean | 否 | false | 是否返回生成视频的尾帧图像(png 格式,无水印),可用于连续生成多个视频 |
service_tier | string | 否 | default | 服务等级:default(在线推理,时效性高)或 flex(离线推理,价格更低) |
execution_expires_after | integer | 否 | 172800 | 任务超时阈值(秒),从 created_at 开始计算,取值范围 [3600, 259200],超时后标记为 expired |
generate_audio | boolean | 否 | true | 是否生成与画面同步的声音,模型会基于提示词与视觉内容自动生成人声、音效及背景音乐 |
draft | boolean | 否 | false | 是否开启样片模式,生成 480p 预览视频快速验证效果,消耗更少、成本更低 |
tools | object[] | 否 | - | 工具配置,如联网搜索工具(详见 tools 元素说明) |
safety_identifier | string | 否 | - | 终端用户唯一标识符,用于安全风控,长度不超过 64 个字符 |
priority | integer | 否 | 0 | 执行优先级,取值范围 [0, 9],数值越大优先级越高,仅影响排队顺序 |
resolution | string | 否 | - | 视频分辨率,如 480p、720p、1080p、4k |
ratio | string | 否 | - | 视频宽高比,如 16:9、4:3、1:1、3:4、9:16、21:9、adaptive |
duration | integer | 否 | - | 视频时长(秒),与 frames 二选一,frames 优先级更高 |
frames | integer | 否 | - | 视频帧数,取值范围 [29, 289],支持 25 + 4n 格式的整数值 |
seed | integer | 否 | -1 | 随机种子,取值范围 [-1, 2147483647],-1 表示随机 |
camera_fixed | boolean | 否 | false | 是否固定摄像头 |
watermark | boolean | 否 | false | 是否在视频右下角添加 AI 生成 水印 |
content 元素说明
content 为输入内容列表,支持以下元素组合:
- 纯文本
- 文本(可选)+ 图片
- 文本(可选)+ 视频
- 文本(可选)+ 音频
- 文本(可选)+ 图片 + 音频
- 文本(可选)+ 图片 + 视频
- 文本(可选)+ 视频 + 音频
- 文本(可选)+ 图片 + 视频 + 音频
- 样片任务 ID:基于样片生成高质量正式视频
每个元素通过 type 区分类型,通过 role 标记其在视频生成中的角色。
文本信息
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
type | string | 是 | 固定为 text |
text | string | 是 | 文本提示词,描述期望生成的视频。中文建议不超过 500 字,英文建议不超过 1000 词 |
图片信息
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
type | string | 是 | 固定为 image_url |
image_url.url | string | 是 | 图片来源:图片 URL、Base64 编码(data:image/<格式>;base64,<编码>)或素材 ID(asset://<ASSET_ID>) |
role | string | 否 | 图片用途:first_frame(首帧)、last_frame(尾帧)、reference_image(参考图) |
图片格式支持
jpeg、png、webp、bmp、tiff、gif,宽高比范围[0.4, 2.5],单张小于 30 MB。
视频信息
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
type | string | 是 | 固定为 video_url |
video_url.url | string | 是 | 视频来源:视频 URL 或素材 ID(asset://<ASSET_ID>) |
role | string | 否 | 固定为 reference_video |
视频格式支持
mp4、mov,分辨率480p~4k,单个视频不超过 200 MB,帧率[24, 60]FPS。
音频信息
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
type | string | 是 | 固定为 audio_url |
audio_url.url | string | 是 | 音频来源:音频 URL、Base64 编码(data:audio/<格式>;base64,<编码>)或素材 ID(asset://<ASSET_ID>) |
role | string | 否 | 固定为 reference_audio |
音频格式支持
wav、mp3,单个音频不超过 15 MB。不可单独输入音频,应至少包含 1 个参考视频或图片。
样片信息
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
type | string | 是 | 固定为 draft_task |
draft_task.id | string | 是 | 样片任务 ID,平台自动复用 Draft 视频的 model、text、image_url、generate_audio、seed、ratio、duration、camera_fixed 等参数生成正式视频 |
tools 元素说明
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
type | string | 是 | 工具类型,目前支持 web_search(联网搜索工具) |
响应参数
| 参数 | 类型 | 说明 |
|---|---|---|
id | string | 视频生成任务 ID,仅保存 7 天 |
task_id | string | 任务 ID,与 id 一致 |
object | string | 固定为 video |
model | string | 模型 ID |
status | string | 任务状态:queued(排队中)、running(运行中)、succeeded(成功)、failed(失败)、expired(超时) |
progress | integer | 任务进度,0~100 |
created_at | integer | 任务创建时间戳(秒) |
响应示例:
json
{
"id": "cgt-20260807102901-rl788",
"task_id": "cgt-20260807102901-rl788",
"object": "video",
"model": "doubao-seedance-2-0-260128",
"status": "",
"progress": 0,
"created_at": 1786069742
}创建任务为异步接口,获取 ID 后需通过查询接口获取任务状态和结果。
调用示例
bash
curl --location 'https://neolink.com/api/v1/contents/generations/tasks' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-2-0-260128",
"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
}'bash
curl --location 'https://neolink.com/api/v1/contents/generations/tasks' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{
"type": "text",
"text": "女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动,可以听到风声"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/i2v_foxrgirl.png"
}
}
],
"generate_audio":true,
"ratio": "adaptive",
"duration": 5,
"watermark": false
}'bash
curl --location 'https://neolink.com/api/v1/contents/generations/tasks' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{
"type": "text",
"text": "图中女孩对着镜头说"茄子",360度环绕运镜"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_first_frame.jpeg"
},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_last_frame.jpeg"
},
"role": "last_frame"
}
],
"generate_audio":true,
"ratio": "adaptive",
"duration": 5,
"watermark": false
}'bash
curl --location 'https://neolink.com/api/v1/contents/generations/tasks' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-lite-i2v-250428",
"content": [
{
"type": "text",
"text": "女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,aHR0******cG5n"
}
}
],
"ratio": "adaptive",
"duration": 5,
"watermark": false
}'bash
curl --location 'https://neolink.com/api/v1/contents/generations/tasks' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-250528",
"content": [
{
"type": "text",
"text": "写实风格,晴朗的蓝天之下,一大片白色的雏菊花田,镜头逐渐拉近,最终定格在一朵雏菊花的特写上,花瓣上有几颗晶莹的露珠"
}
],
"ratio": "16:9",
"duration": 5,
"watermark": false
}'python
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://neolink.com/api/v1',
api_key=os.environ.get("API_KEY"),
)
if __name__ == "__main__":
print("----- create request -----")
create_result = client.content_generation.tasks.create(
model="doubao-seedance-2-0-260128", # Replace with Model ID
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,
)
print(create_result)
# Polling query section
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)支持模型Id:
- doubao-seedance-2-0-260128
- doubao-seedance-2-0-fast-260128
- doubao-seedance-2-0-mini-260615
- doubao-seedance-2-5-260628
获取视频结果
http
GET /v1/contents/generations/tasks/{task_id}bash
curl --location 'https://neolink.com/api/v1/contents/generations/tasks/{{task_id}}' \
--header 'Authorization: Bearer <API Key>'python
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://neolink.com/api/v1',
api_key=os.environ.get("API_KEY"),
)
if __name__ == "__main__":
task_id = '{{task_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)响应参数
| 参数 | 类型 | 说明 |
|---|---|---|
id | string | 任务 ID |
model | string | 模型 ID |
status | string | 任务状态:queued、running、succeeded、failed、expired |
content.video_url | string | 生成视频的下载地址(任务成功后返回,有效期 24 小时) |
video_url | string | 生成视频的下载地址(同 content.video_url) |
created_at | integer | 任务创建时间戳(秒) |
updated_at | integer | 任务更新时间戳(秒) |
draft | boolean | 是否为样片 |
duration | integer | 视频时长(秒) |
execution_expires_after | integer | 任务超时阈值(秒) |
framespersecond | integer | 视频帧率(FPS) |
generate_audio | boolean | 是否有声视频 |
output_format | string | 输出格式,如 mp4 |
priority | integer | 执行优先级 |
ratio | string | 视频宽高比 |
resolution | string | 视频分辨率 |
seed | integer | 随机种子 |
service_tier | string | 服务等级 |
usage.completion_tokens | integer | 消耗 token 数 |
usage.total_tokens | integer | 总 token 数 |
响应示例:
json
{
"content": {
"video_url": "https://ark-acg-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-2-0/02178606974202400000000000000000000ffffac145a704a6874.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYWJkZTExNjA1ZDUyNDc3YzhjNTM5OGIyNjBhNDcyOTQ%2F20260807%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20260807T023347Z&X-Tos-Expires=86400&X-Tos-Signature=196ff1aeba19d81988ef1f0a3656170cd5b2f4f29df138af6fb5545f54b34d8c&X-Tos-SignedHeaders=host"
},
"created_at": 1786069741,
"draft": false,
"duration": 5,
"execution_expires_after": 172800,
"framespersecond": 24,
"generate_audio": true,
"id": "cgt-20260807102901-rl788",
"model": "doubao-seedance-2-0-260128",
"output_format": "mp4",
"priority": 0,
"ratio": "16:9",
"resolution": "720p",
"seed": 2293,
"service_tier": "default",
"status": "succeeded",
"updated_at": 1786070032,
"usage": {
"completion_tokens": 108900,
"total_tokens": 108900
},
"video_url": "https://ark-acg-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-2-0/02178606974202400000000000000000000ffffac145a704a6874.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYWJkZTExNjA1ZDUyNDc3YzhjNTM5OGIyNjBhNDcyOTQ%2F20260807%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20260807T023347Z&X-Tos-Expires=86400&X-Tos-Signature=196ff1aeba19d81988ef1f0a3656170cd5b2f4f29df138af6fb5545f54b34d8c&X-Tos-SignedHeaders=host"
}注:变量
task_id是创建视频请求成功后返回的参数。
