Skip to main content
POST
Seedance
参数及使用方式已对齐官方,详细参数可直接参考官方文档。

一、概述

本文档整合了 Seedance 2.0 视频生成 API 及其配套的两种素材管理 API,为开发者提供一站式的协议参考。 三部分内容的关系如下:
  • 视频生成 API:核心能力,使用官方模型名(doubao-seedance-2-0* / dreamina-seedance-2-0*,含 fast / mini 变体,doubao-seedance-2-5* / dreamina-seedance-2-5*)生成视频,按 token 用量计费。
  • 虚拟人像素材 API:将图片、视频或音频创建为可被 Seedance 引用的素材,生成时使用 asset://<Id> 引用。
  • 真人素材 API:用户完成 H5 真人验证后,将该真人的画像创建为可被 Seedance 引用的素材,同样使用 asset://<Id> 引用。
[!NOTE] 素材 API 创建的 asset 可被视频生成 API 引用,实现”先建素材 → 再生成视频”的完整流程。

二、视频生成 API

2.1 调用方式

创建任务:
查询任务:
取消或删除任务:
[!NOTE] DELETE 请求无需 body, 使用创建任务返回的官方任务 id(cgt-*)。
其中 为创建任务返回的官方任务 id(cgt-*)。 SDK 兼容别名:以下路径与上述 metered 路由完全等价(模型名校验、计费行为一致):
[!NOTE] 该别名用于兼容以站点根为 base_url、自行拼接 /api/v3/contents/generations/tasks 完整路径的官方 SDK:将 base_url 设为 https:///v3/bytedance 即可直接调用。

2.2 支持模型

官方文档参考:https://www.volcengine.com/docs/82379/1520757?lang=zh 官方模型列表:https://docs.volcengine.com/docs/82379/1330310?lang=zh#7571da3f

2.3 REST API 示例

创建任务

响应返回官方任务 id:

查询任务

成功响应(官方响应体原样返回,含 token 用量):

取消或删除任务

通过平台 API 取消排队中的视频生成任务,或删除视频生成任务记录。请求无需 body,鉴权方式与创建、查询任务一致。
成功响应的 HTTP 状态码为 200,响应体为空对象 。任务 必须使用创建任务返回的官方任务 id(cgt-*)。
[!NOTE] DELETE 请求成功返回 HTTP 200,响应体为空对象

2.4 SDK 示例

[!NOTE] 上例中 Python Ark SDK 的 base_url 需带 /metered 前缀。若所用 SDK 以站点根为 base_url 并自行拼接 /api/v3/contents/generations/tasks 完整路径,则将 base_url 设为 https:///v3/bytedance(见 2.1 SDK 兼容别名)。

三、虚拟人像素材 API

3.1 适用范围

本接口用于将图片、视频或音频创建为 Seedance 可引用的虚拟人像素材。素材创建完成并返回 Active 后,使用 asset://<Id> 引用。

3.2 调用方式

统一入口:

3.3 鉴权

客户只需要传平台 API Key:Authorization: Bearer <key>

3.4 支持 Action

3.5 通用响应结构

成功响应:
错误响应:

3.6 创建资产 (CreateAsset)

使用公网可下载的图片、视频或音频 URL 创建虚拟人像素材。CreateAsset 为异步处理,创建后建议调用 GetAsset 轮询状态。

Request

Request 字段

素材建议

Response

Response 字段

重复创建行为

同一账号下,CreateAsset 会在同一素材组 + 上游供应商绑定内按 GroupId + URL + AssetType + Name 精确幂等(同一 URL 传入不同素材组会创建两个素材):

常见错误

[!NOTE] 上游素材校验失败时,平台会透传上游错误。例如视频分辨率过低时,上游可能返回类似 InvalidParameter.HeightTooSmall 的错误。

3.7 查询资产状态 (GetAsset)

查询素材状态。建议创建后轮询到 Status=Active 再用于视频生成。GetAsset 返回平台资产视图;URL 为素材访问地址,通常有时效,请按需保存。

Request

Request 字段

Response

Response 字段

失败状态示例

常见错误

3.8 素材组管理 (AssetGroup)

创建素材组 (CreateAssetGroup)

Response:

查询素材组 (GetAssetGroup)

Response:

更新素材组 (UpdateAssetGroup)

仅支持更新 Name(上限 64 字符)与 Description(上限 300 字符),其余字段忽略。
Response 返回 Result.Id。

查询素材组列表 (ListAssetGroups)

Response:Result 含 TotalCount、Items(条目字段同 GetAssetGroup,另含 Title,值与 Name 相同)、PageNumber、PageSize。

删除素材组 (DeleteAssetGroup)

删除素材组会级联删除组内所有素材,操作不可逆;删除后组和素材立即不可查询、不可用于视频生成。默认组不可删除。
Response:Result 为空对象

素材组接口常见错误

3.9 素材列表与管理

查询素材列表 (ListAssets)

Response:Result 含 TotalCount、Items(条目字段与 GetAsset 的 Result 完全一致)、PageNumber、PageSize。列表中的 Processing 状态可能滞后,以 GetAsset 轮询为准。

更新素材 (UpdateAsset)

仅支持更新 Name(上限 64 字符),其余字段忽略。
Response 返回 Result.Id。

删除素材 (DeleteAsset)

删除后素材立即不可查询、不可用于视频生成,操作不可逆;删除后可用相同 URL 重新创建(视为新素材)。
Response:Result 为空对象

素材管理接口常见错误

3.10 Seedance 生成中引用虚拟人像素材

当 GetAsset 返回 Active 后,可在 Seedance 请求中使用。

原厂协议支持字段

原厂协议请求中,content 内的图片、视频、音频 URL 也可使用 asset://:

生成侧常见错误

3.11 排障清单

四、真人素材 API

4.1 适用范围

本接口用于用户完成 H5 真人验证后,将该同一真人的画像创建为 Seedance 可引用的真人素材。素材状态为 Active 后,使用 asset://<Id> 引用。

4.2 调用方式

统一入口:

4.3 鉴权

客户只需要传平台 API Key:Authorization: Bearer <key>

4.4 支持 Action

4.5 通用响应结构

平台自实现的管理接口和上游透传接口统一使用 Ark 响应信封。平台管理接口固定返回 Service=ark、Region=cn-beijing;失败资产仍以 HTTP 200 返回时,应以 Result.Status=Failed 和 Result.Error 判断处理结果。 成功响应:
错误响应:

4.6 创建 H5 真人验证会话 (CreateVisualValidateSession)

创建一次性 H5 真人验证会话。平台会保存会话绑定的 provider/account,BytedToken 有效期按官方为 30 分钟,且仅支持认证一次;建议在用户完成 H5 后立即调用 GetVisualValidateResult。

Request

Request 字段

Response

Response 字段

[!NOTE] 客户侧可以先解析 CallbackURL 判断 resultCode,但能否创建素材应以 GetVisualValidateResult 成功返回 GroupId 为最终依据。

4.7 获取验证结果 (GetVisualValidateResult)

仅在 CallbackURL 的 resultCode=10000 后,使用 BytedToken 查询真人验证结果,获取后续创建素材需要的 GroupId。BytedToken 有效期 30 分钟且仅可使用一次。

Request

Request 字段

Response

Response 字段

常见错误

4.8 创建资产 (CreateAsset)

使用真人素材组 GroupId 和公网可下载的素材 URL 创建资产。CreateAsset 为异步处理,创建后只返回平台 asset id;请调用 GetAsset 轮询到 Status=Active 后再用于视频生成。上传图像时系统会校验与真人认证基准人像的一致性。

Request

Request 字段

素材建议

仅支持 URL,不支持 Base64。CreateAsset 命中同一账号、素材组、URL、AssetType、Name 时返回同一个平台 asset id;任一关键字段变化则按新请求处理,并继续进行真人一致性校验。

Response

Response 字段

4.9 查询资产状态 (GetAsset)

查询真人素材状态。建议创建后轮询到 Status=Active 再用于视频生成。失败素材可能仍返回 HTTP 200,必须以 Status=Failed 和 Error.Code/Error.Message 判断失败原因。

Request

Request 字段

Response

Response 字段

失败状态示例

常见错误

4.10 真人素材组管理 (AssetGroup)

真人素材组由 GetVisualValidateResult 创建,平台侧不提供 CreateAssetGroup。组类型固定为 LivenessFace;同一素材组对应同一真人。管理接口只作用于当前 API Key/账号可见的素材组。

查询素材组 (GetAssetGroup)

必填 Id;返回 Id、Name、Description、GroupType=LivenessFace、ProjectName、CreateTime 和 UpdateTime。

更新素材组 (UpdateAssetGroup)

必填 Id,仅支持更新 Name(最长 64 个字符)和 Description(最长 300 个字符),其他字段忽略;返回 Result.Id。

查询素材组列表 (ListAssetGroups)

Filter.GroupIds、Filter.GroupType 和 Filter.Name 均可选;GroupType 只能为 AIGC 或 LivenessFace,传其他合法类型返回空列表,非法值返回 400。PageNumber 从 1 开始,PageSize 范围 [1,100],SortBy 支持 CreateTime/UpdateTime,SortOrder 支持 Desc/Asc。 Response.Result 含 TotalCount、Items、PageNumber、PageSize;Items 字段同 GetAssetGroup,并包含 Title(值与 Name 相同)。

删除素材组 (DeleteAssetGroup)

必填 Id。删除会级联删除组内所有素材,操作不可恢复;

素材组管理错误

4.11 真人素材列表与管理

查询素材列表 (ListAssets)

更新素材 (UpdateAsset)

必填 Id,仅支持更新 Name(最长 64 个字符),其他字段忽略;返回 Result.Id。

删除素材 (DeleteAsset)

必填 Id。删除后素材立即不可查询,也不可用于视频生成;操作不可恢复。成功响应的 Result 为空对象。

素材管理错误

4.12 Seedance 生成中引用真人素材

当 GetAsset 返回 Active 后,可以在 Seedance 请求中使用:
平台会校验 asset 属于当前账号,且素材状态为 Active。

4.13 完整流程示例

4.14 排障清单

五、素材引用总览

本章统一说明虚拟人像素材和真人素材如何在 Seedance 视频生成中使用 asset:// 引用,以及两种素材 API 在生成侧的共用信息。

5.1 素材引用方式

无论是虚拟人像素材还是真人素材,创建成功并返回 Active 后,均使用 asset://<Id> 在 Seedance 生成请求中引用。其中 <Id> 为 CreateAsset 返回的 Result.Id。
[!NOTE] 引用前必须确认 GetAsset 返回 Status=Active,否则生成请求会报 asset not ready 错误。

5.2 两种素材 API 对比

5.3 GetAsset 通用说明

两种素材 API 均提供 GetAsset 接口,调用方式和响应结构一致:
  • 请求字段:Id(必填,CreateAsset 返回的平台 asset id)
  • 响应包含:Id、AssetType、Name、Status,失败时额外返回 ErrorMessage
通用 Status 值: 通用错误:

5.4 Seedance 生成中引用素材的通用规则

原厂协议支持字段

在原厂协议请求中,content 内的图片、视频、音频 URL 字段均支持 asset:// 引用:

生成侧通用错误

无论引用虚拟人像素材还是真人素材,生成请求侧的常见错误一致:

5.5 完整流程对比

虚拟人像素材流程

  1. CreateAsset(传入 URL、AssetType、Name)
  2. GetAsset 轮询至 Status=Active
  3. 在 Seedance 生成请求中使用 asset://<Id> 引用

真人素材流程

  1. CreateVisualValidateSession(传入 CallbackURL)→ 获取 H5Link 和 BytedToken
  2. 用户在 H5 页面完成真人验证(120 秒内)
  3. GetVisualValidateResult(传入 BytedToken)→ 获取 GroupId
  4. CreateAsset(传入 GroupId、URL、AssetType、Name)
  5. GetAsset 轮询至 Status=Active
  6. 在 Seedance 生成请求中使用 asset://<Id> 引用

5.6 统一排障清单