Skip to content

Seedance 2.0 API 对接文档

版本:v1.1(平台版) | 更新日期:2026-06-29

说明:本文档面向 StoneRoll AI 平台https://stonerollai.com)接入方,描述 Seedance 2.0 视频生成与素材库 API 的请求/响应参数。


一、通用说明

1.1 接入地址

项目
Base URLhttps://stonerollai.com
视频生成 — 创建任务POST /v1/video/generations
视频生成 — 查询任务GET /v1/video/generations/{task_id}
素材库 — 统一入口POST /api/material?Action=<动作名>
真人认证 H5 回调POST /api/rv?Action=<动作名>
文档站点https://stonerollai.com/seedance-docs/

视频生成为异步任务:创建 → 轮询查询 → 下载结果。

1.2 认证方式

所有接口使用 平台 Token 鉴权(在控制台 → 令牌管理 创建):

http
Authorization: Bearer sk-xxxxxxxxxxxxxxxx
Content-Type: application/json
  • 素材库 /api/material、视频 /v1/video/generations 均使用同一 Token。
  • H5 真人认证回调 /api/rv 使用 rt_ 临时令牌,不使用 sk- Token(见 3.10)。
  • 可选:绑定指定渠道时使用 sk-xxx-<channelId> 格式。

1.3 计费说明

接口平台行为
视频生成completion_tokens 扣除平台额度(预扣 → 成功结算 / 失败退还)
素材库 / 真人认证不计费,不消耗额度、不写消费日志

1.4 接入补充

平台自动处理(无需客户端额外传参):

  • 图生视频:顶层 images[] 会自动补 role: reference_image
  • metadata.contentvideo_urlrole 时自动补 reference_video

真人认证 H5: CreateRealValidateH5 返回的链接形如 https://stonerollai.com/rv?t=rt_xxx,可发给终端用户扫码;H5 页面通过 /api/rv 完成认证(不暴露 sk- Token)。


二、视频生成 API

2.1 接口概览

项目说明
创建任务POST /v1/video/generations
查询任务GET /v1/video/generations/{task_id}
主力模型doubao-seedance-2-0-260128(另支持 doubao-seedance-2-0-fast-260128doubao-seedance-1-5-pro-251215 等 Seedance 系列)
交互模式异步轮询:创建 → 轮询 → 下载

2.2 生成模式

模式说明请求写法
文生视频纯文本描述生成视频prompt + metadata
图生视频图片 + 文本生成视频prompt + images[] + metadata
视频生视频参考视频 + 文本生成视频prompt + metadata.content 中的 video_url
素材引用引用素材库资产 + 文本生成视频prompt + metadata.content 中的 asset://

2.3 创建任务 — 请求字段

POST /v1/video/generations

字段类型必填说明
modelstring模型名称,如 doubao-seedance-2-0-260128
promptstring文本提示词
imagesstring[]图生视频参考图,须为公网可访问 URL(http/https
imagestring单图便捷写法,等价于 images: [image]
secondsstring时长(秒),如 "5";优先级高于 metadata.duration
metadataobject扩展参数,见下表

metadata 支持字段:

字段类型说明
resolutionstring分辨率:480p(默认)、720p1080p
ratiostring宽高比:16:9(默认)、9:163:41:14:3
durationinteger时长(秒),4~15,默认 5(顶层 seconds 存在时以 seconds 为准)
watermarkboolean是否加水印,默认 false
seedinteger随机种子
camera_fixedboolean是否固定镜头
contentarray视频生视频、素材引用等场景使用,结构见 2.3.1

metadata.content 中的 text 条目会被忽略,由顶层 prompt 覆盖;image_url / video_url 条目(含 role)会保留。

2.3.1 metadata.content 条目与 role

字段类型说明
typestringtext / image_url / video_url
textstringtype=text 时的提示词(会被顶层 prompt 覆盖,一般不必填)
image_urlobject{ "url": "..." },可为公网 URL 或 asset://{AssetID}
video_urlobject{ "url": "..." },参考视频公网 URL
rolestring媒体角色,见下表
role配套 type含义
reference_imageimage_url参考图;图生视频、素材引用必填
reference_videovideo_url参考视频;视频生视频必填

2.4 文生视频

json
{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "一只金色柴犬在樱花树下奔跑,镜头缓缓上升",
  "seconds": "5",
  "metadata": {
    "resolution": "480p",
    "ratio": "16:9",
    "watermark": false
  }
}

2.5 图生视频

json
{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "让画面中的人物缓缓转身微笑",
  "images": ["https://example.com/photo.jpg"],
  "seconds": "5",
  "metadata": {
    "resolution": "480p",
    "ratio": "16:9"
  }
}

图片须为公网可访问 URL;本地文件请先上传到对象存储后再传 URL。

2.5.1 素材引用(asset://)

metadata.content 中可使用 asset://{AssetID} 引用素材库资产(AssetID 来自 CreateAsset / GetAsset,见 3.4 / 3.5):

json
{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "让画面中的人物缓缓转身微笑",
  "seconds": "5",
  "metadata": {
    "resolution": "480p",
    "ratio": "16:9",
    "content": [
      {
        "type": "image_url",
        "image_url": { "url": "asset://asset-20260618200812-mmq8g" },
        "role": "reference_image"
      }
    ]
  }
}

引用前建议 GetAsset 确认 Status=Active

2.6 视频生视频

参考视频放在 metadata.contentvideo_url 条目中:

json
{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "修改一下这个视频",
  "seconds": "5",
  "metadata": {
    "resolution": "480p",
    "ratio": "16:9",
    "content": [
      {
        "type": "video_url",
        "video_url": { "url": "https://example.com/reference-video.mp4" },
        "role": "reference_video"
      }
    ]
  }
}

参考视频须为公网可访问 URL。

2.7 创建任务响应

json
{
  "id": "video_xxxxxxxxxxxxxxxx",
  "task_id": "video_xxxxxxxxxxxxxxxx",
  "object": "video",
  "model": "doubao-seedance-2-0-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1779607183
}
字段说明
id / task_id任务 ID(两者一致),后续轮询使用此值
status创建后固定为 queued
object固定 video

2.8 查询任务

GET /v1/video/generations/{task_id}
Authorization: Bearer <你的平台 Token>

响应为 { code, message, data } 结构。

进行中:

json
{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "video_xxxxxxxxxxxxxxxx",
    "status": "IN_PROGRESS",
    "progress": "50%",
    "fail_reason": ""
  }
}

成功:

json
{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "video_xxxxxxxxxxxxxxxx",
    "status": "SUCCESS",
    "result_url": "https://.../xxxxx.mp4?...",
    "progress": "100%",
    "data": {
      "usage": { "completion_tokens": 100858 }
    }
  }
}

失败:

json
{
  "code": "success",
  "data": {
    "task_id": "video_xxxxxxxxxxxxxxxx",
    "status": "FAILURE",
    "fail_reason": "视频格式不支持",
    "progress": "100%"
  }
}
字段说明
code接口调用结果,成功为 success(业务失败看 data.status
data.statusQUEUED / IN_PROGRESS / SUCCESS / FAILURE
data.result_url视频下载地址(有时效性,建议立即下载)
data.fail_reason失败原因(FAILURE 时)
data.progress进度百分比,如 "50%" / "100%"
data.data.usage.completion_tokens本次消耗 token 数(计费依据)

2.9 状态说明

创建任务 → QUEUED → IN_PROGRESS → ┬─ SUCCESS → 下载视频
                                  └─ FAILURE
data.status含义
QUEUED排队中
IN_PROGRESS生成中
SUCCESS成功,见 result_url
FAILURE失败,见 fail_reason

2.10 建议

  • 轮询间隔建议 10 秒;视频生成通常需要 2~10 分钟。
  • 创建任务建议 180 秒超时;查询建议 600 秒超时,偶发超时重试即可。
  • 性价比推荐:480p + 16:9 + 5 秒

三、素材库 API

素材库用于管理视频生成所需素材。统一入口 POST /api/material,通过 ?Action= 区分动作。

3.0 动作总览

Action说明
CreateAssetGroup创建素材组
GetAssetGroup查询素材组
DeleteAssetGroup删除素材组
CreateAsset上传素材
GetAsset查询素材
DeleteAsset删除素材
CreateVisualValidateSession创建真人认证 H5(见 3.8)
GetVisualValidateResult查询真人认证结果(见 3.9)
CreateRealValidateH5创建真人认证 H5 临时链接(见 3.10)

所有动作均为 POST /api/material?Action=<动作名>,请求体 JSON,响应为 ResponseMetadata + Result

3.1 通用响应结构

json
{
  "ResponseMetadata": {
    "RequestId": "20260618...",
    "Action": "CreateAssetGroup",
    "Version": "2024-01-01",
    "Service": "ark",
    "Region": "cn-beijing"
  },
  "Result": { }
}
字段说明
ResponseMetadata.RequestId请求唯一标识
ResponseMetadata.Action本次动作名
Result业务数据;失败时为 {"Error":{...}}

3.2 CreateAssetGroup — 创建素材组

POST /api/material?Action=CreateAssetGroup
参数类型必填说明
NameString素材组名称
DescriptionString描述
json
{ "Name": "我的素材组", "Description": "用于存放角色立绘" }

响应:Result.Id 为素材组 ID(形如 group-...)。


3.3 GetAssetGroup — 查询素材组

POST /api/material?Action=GetAssetGroup
参数类型必填说明
IdString素材组 ID
json
{ "Id": "group-20260618195842-84j62" }

3.4 CreateAsset — 上传素材

POST /api/material?Action=CreateAsset
参数类型必填说明
GroupIdString素材组 ID
URLString公网可下载地址(http/https
NameString素材名称
AssetTypeStringImage / Video / Audio
json
{
  "GroupId": "group-20260618195842-84j62",
  "URL": "https://example.com/image.jpg",
  "Name": "角色立绘01",
  "AssetType": "Image"
}

同步处理,大文件可能耗时数分钟,客户端超时建议 ≥ 600 秒。返回 Result.Id 为资产 ID。


3.5 GetAsset — 查询素材

POST /api/material?Action=GetAsset
json
{ "Id": "asset-20260618200812-mmq8g" }

Result.StatusActive(可用)/ Pending(处理中)/ Failed(失败)。


3.6 DeleteAsset — 删除素材

json
{ "Id": "asset-20260618200812-mmq8g" }

3.7 DeleteAssetGroup — 删除素材组

json
{ "Id": "group-20260618195842-84j62" }

3.8 CreateVisualValidateSession — 创建真人认证 H5

POST /api/material?Action=CreateVisualValidateSession

请求体传 {} 即可。返回 BytedTokenH5LinkQrCode

字段说明
Result.BytedToken轮询令牌,用于 GetVisualValidateResult(勿展示给终端用户)
Result.H5LinkH5 认证链接(约 5 分钟有效)
Result.QrCode二维码(base64 PNG)

创建会话与后续轮询须使用同一 BytedToken


3.9 GetVisualValidateResult — 查询真人认证结果

json
{ "BytedToken": "2026062515501465178B138B02A64E1A" }

完成后 Result.GroupId 为真人资产组 ID。轮询建议 3 秒间隔,最长 5 分钟。


3.10 CreateRealValidateH5 — 创建真人认证 H5(临时链接)

一次调用获取可发给终端用户的 H5 链接,全程不暴露 sk-

json
{}

响应示例:

json
{
  "Result": {
    "H5Link": "https://stonerollai.com/rv?t=rt_xxxxxxxx",
    "ExpiresIn": 300
  }
}

H5 页面使用 rt_ 令牌调用:

POST /api/rv?Action=CreateVisualValidateSession
POST /api/rv?Action=GetVisualValidateResult

/api/rv 已开启 CORS;rt_ 令牌有效期由 ExpiresIn 决定。


3.11 素材文件限制

项目限制
上传方式仅公网 URL(http/https
AssetTypeImage / Video / Audio,须与文件类型一致
超时建议CreateAsset 客户端超时 ≥ 600 秒

四、错误处理

4.1 业务错误

HTTP 200,业务体中带错误信息。

  • 视频:data.statusFAILURE,见 fail_reason
  • 素材库:Result.Error,如 { "Code": "InternalError", "Message": "..." }

4.2 服务端错误

HTTP 非 2xx:

json
{ "error": { "message": "错误描述", "type": "错误类型" } }
HTTP含义与处理
401Token 缺失或无效
400请求体格式错误
404路径错误,请使用 /v1/video/generations/api/material
408 / 504请求超时,可重试
429请求过于频繁,请降频
502 / 503服务暂时不可用,可重试或联系平台

五、注意事项

#注意事项
1视频生成为异步:创建后须轮询直到 SUCCESSFAILURE
2视频下载地址有时效性(通常 24 小时内),请及时保存。
3素材库动作用 ?Action=,不要写成路径。
4参数名区分大小写:视频用小写(model/prompt);素材库用 PascalCase(Name/GroupId)。
5业务失败看响应体,不要只看 HTTP 状态码。
6CreateAsset 仅支持公网 URL,不支持二进制直传。
7上传后轮询 GetAssetActive 再用于视频生成。

六、调用示例(curl)

bash
# 视频生成 — 创建任务
curl -X POST "https://stonerollai.com/v1/video/generations" \
  -H "Authorization: Bearer <你的平台 Token>" \
  -H "Content-Type: application/json" \
  -d '{"model":"doubao-seedance-2-0-260128","prompt":"一只金色柴犬在樱花树下奔跑","seconds":"5","metadata":{"resolution":"480p","ratio":"16:9"}}'

# 视频生成 — 查询任务
curl "https://stonerollai.com/v1/video/generations/video_xxxxxxxx" \
  -H "Authorization: Bearer <你的平台 Token>"

# 素材库 — 创建素材组
curl -X POST "https://stonerollai.com/api/material?Action=CreateAssetGroup" \
  -H "Authorization: Bearer <你的平台 Token>" \
  -H "Content-Type: application/json" \
  -d '{"Name":"我的素材组","Description":"用于存放角色立绘"}'

# 素材库 — 上传素材
curl -X POST "https://stonerollai.com/api/material?Action=CreateAsset" \
  -H "Authorization: Bearer <你的平台 Token>" \
  -H "Content-Type: application/json" \
  -d '{"GroupId":"group-xxxxxxxx","URL":"https://example.com/image.jpg","Name":"角色立绘01","AssetType":"Image"}'

# 素材库 — 查询素材
curl -X POST "https://stonerollai.com/api/material?Action=GetAsset" \
  -H "Authorization: Bearer <你的平台 Token>" \
  -H "Content-Type: application/json" \
  -d '{"Id":"asset-xxxxxxxx"}'

# 素材库 — 删除素材
curl -X POST "https://stonerollai.com/api/material?Action=DeleteAsset" \
  -H "Authorization: Bearer <你的平台 Token>" \
  -H "Content-Type: application/json" \
  -d '{"Id":"asset-xxxxxxxx"}'

# 素材库 — 删除素材组
curl -X POST "https://stonerollai.com/api/material?Action=DeleteAssetGroup" \
  -H "Authorization: Bearer <你的平台 Token>" \
  -H "Content-Type: application/json" \
  -d '{"Id":"group-xxxxxxxx"}'

StoneRoll AI · 平台文档