Doubao · 素材库
管理虚拟人像素材,按项目入库、查询并在视频生成中引用。
将自有虚拟人像的图片、视频或音频整理为可重复引用的素材。Asset Group 是素材组,Asset 是组内的单个文件;生成时引用素材 ID,而非素材组 ID。
适用范围
本页介绍 GroupType=AIGC 的私有虚拟人像库。非虚拟人像参考素材通常不需要入库。虚拟人像须具有合法使用权,不能与自然人肖像雷同;真人肖像的授权流程请查看官方人像素材说明。
火山官方指南覆盖 Seedance 2.0 与 2.5 系列;平台模型的素材引用能力、可用项目与权限以账户配置为准。官方直连要求授权函和相关创作权益,平台上游配置不等同于客户需要自行开通火山账号。
平台地址与鉴权
| 项目 | 填写方式 |
|---|---|
| 管理地址 | https://app.ai.kedang.net/ark |
| 方法与类型 | POST · application/json |
| 查询参数 | Action 指定操作;Version=2024-01-01 |
| 请求头 | Authorization: sk-YOUR_API_KEY;直接填写完整平台 API Key |
| 项目 | ProjectName 默认 default;建组、入库和查询使用同一项目 |
素材管理走 app.ai.kedang.net/ark,请求头直接填写平台 API Key。官网直连示例使用火山 AK/SK 签名,不能把那套鉴权或其他接口的 Bearer 前缀套到本管理入口。
从建组到引用
先检查请求是否成功
管理接口在请求失败时也可能返回 HTTP 200。先检查 ResponseMetadata.Error 是否非空,读取其中的 Code 与 Message;存在请求级错误时停止后续步骤,不把缺少 Result 当作正常结果。ResourceNotFound 表示指定资源不存在。
请求成功后再检查 Result.Status:Failed 是素材的异步处理失败,错误放在 Result.Error。两类错误分别处理,不能只依赖 HTTP 状态或 Error 字段是否存在。错误响应中的 RequestId、Version 可能省略。cURL 示例使用 jq 解析业务错误,运行前需安装。
平台分组与上游字段
平台素材组 ID 使用 CreateAssetGroup 返回的 Result.Id。ListAssets 返回平台的 GroupId 与 ProjectName;GetAsset 的对应字段可能保留上游值,不能直接回填为平台分组或管理项目。
后续管理请求沿用建组时的 ProjectName,默认 default。按组查询使用平台组 ID,素材详情、改名与删除使用素材本身的 ID;不要根据详情返回的上游组 ID 删除素材组。
素材管理接口
CreateAssetGroup创建用于归类与管理虚拟人像素材的素材组。上传素材
CreateAsset向指定素材组提交一个图像、视频或音频文件,返回素材 ID 后查询预处理状态。查询素材
GetAsset查询单个素材的预处理状态、错误原因、访问地址和最近任务提交时间。查询素材组列表
ListAssetGroups按类型、素材组 ID 或名称筛选素材组,并使用凭证或页码分页。查询素材列表
ListAssets按素材组、素材名称和状态筛选素材,查询素材信息并分页遍历。查询素材组
GetAssetGroup通过素材组 ID 获取名称、描述、类型、所属项目和时间信息。更新素材组
UpdateAssetGroup更新素材组的名称或描述。更新素材
UpdateAsset修改素材名称,用于管理和名称搜索。删除素材
DeleteAsset删除指定素材,删除后无法继续用于视频生成。删除素材组
DeleteAssetGroup删除指定素材组,并批量删除组内所有素材。
入库素材要求
CreateAsset 通过 URL 添加文件,不接收 Base64 或 multipart 文件。素材 URL 必须能被上游下载;签名链接应覆盖下载与排队时间。
| 素材类型 | 文件格式 | 入库限制 |
|---|---|---|
| Image · 图片 | jpeg / png / webp / tiff / gif / heic / heif | 0.4 < 宽高比 < 2.5;300 < 宽、高 < 6000 px;文件小于 30 MB |
| Video · 视频 | mp4 / mov | 2–30 秒;24–60 FPS;宽高比 0.4–2.5,宽、高 300–6000 px(均含边界);总像素 407696–8295044;不超过 200 MB |
| Audio · 音频 | wav / mp3 | 2–30 秒;不超过 15 MB |
图片规格中的边界不包含端点,视频和音频的闭区间包含端点。入库可接受的时长与模型推理限制分别核对,例如 30 秒素材并不表示每个 Seedance 型号都能使用。同一人物建议准备清晰的正面全身图及面部特写,并归入同一素材组。
异步处理与失败判断
| Status | 含义 | 处理方式 |
|---|---|---|
Processing | 预处理尚未结束 | 间隔查询 GetAsset,设置总等待时限 |
Active | 素材已可用 | 保留 Asset ID,以 asset:// URI 引用 |
Failed | 预处理失败 | 读取 Error.Code 与 Error.Message,修正素材后重新提交 |
GetAsset 的 HTTP 200 不代表操作成功;先检查 ResponseMetadata.Error,再检查 Result.Status。当状态为 Failed,读取 Result.Error.Code 和 Result.Error.Message。视频素材处理通常更慢,官方没有固定入库时限。
在视频中引用素材
官方原生格式将 asset://ASSET_ID 放在 content 对应模态的 url 字段;只使用状态为 Active 的素材。
| AssetType | content 项内字段 | role | 提示词指代 |
|---|---|---|---|
| Image | image_url.url | reference_image | 图片1、图片2… |
| Video | video_url.url | reference_video | 视频1、视频2… |
| Audio | audio_url.url | reference_audio | 音频1、音频2… |
{
"content": [
{
"type": "text",
"text": "图片1中的虚拟人物走进花园。"
},
{
"type": "image_url",
"image_url": {
"url": "asset://ASSET_ID"
},
"role": "reference_image"
}
]
}提示词使用“图片1”“视频1”“音频1”,按各模态在请求中的出现顺序编号。素材名称只用于检索,不进入模型提示词,直接在提示词中写 Asset ID 也不能完成引用。
上方是官方原生 content 片段,不是发往 /ark 的请求。平台生视频请求中素材引用的字段映射尚未提供,请先确认所选型号的接入格式。
查询与分页
ListAssetGroups 与 ListAssets 都要求 Filter.GroupType。本页新建虚拟人像使用 AIGC;查询接口还定义了 LivenessFace,不代表可用同样方式创建真人素材。
Filter.Name 使用完整名称,不要依赖名称前缀或片段匹配。Filter.GroupIds 填平台素材组 ID;列表为空只表示当前条件没有匹配资源。
推荐 MaxResults 与 NextToken 分页:第一页不填 token,有下一页时原样传回响应 token,响应不再返回 token 时结束。每页 1–100 条,不指定分页参数时默认为 10 条。
兼容分页需同时填写 PageNumber 和 PageSize,不能与 token 分页混用。素材组 PageNumber × PageSize > 10000、素材 > 20000 时改用 token 深翻页。token 分页响应不含 TotalCount、PageNumber、PageSize。
常见问题
| 现象 | 核对项 |
|---|---|
| 下载失败 / DownloadFailed | 检查源 URL 是否公开可访问、是否已过期或受防盗链限制 |
| 素材或项目不可见 | 核对平台组 ID、Asset ID 和原请求项目;GetAsset 的上游组与项目字段不直接用于平台分组筛选 |
| 类型或格式错误 | 核对 AssetType 和文件实际内容、格式、尺寸、大小、时长与帧率 |
| 处理失败 / Failed | 读取 Error.Code、Error.Message,处理审核或媒体规格问题后重新提交 |
| 返回的素材 URL 失效 | 官方 GetAsset / ListAssets 返回 URL 有效期为 12 小时;URL 期限不等于 Asset ID 期限 |
| 素材名称不能控制人物 | Name 用于搜索;生成使用 asset:// URI 和模态序号 |
LastInferenceTime 是最近一次提交生成任务的时间,后续任务失败也会更新;查询可能延迟 1–2 分钟。缺少该字段不代表素材从未使用。删除前核对业务引用;删除素材组会一并删除组内素材,无法恢复。
容量、费用与限流
平台素材容量、费用和账户限流尚未提供固定值,当前记为 —。下表仅列火山官方账号维度参考,不作为平台配额承诺。
| Action | 官方账号参考 | 平台账户限流 |
|---|---|---|
CreateAssetGroup | 10 QPS | — |
CreateAsset | 按官方权益配置 | — |
GetAsset | 100 QPS | — |
ListAssetGroups | 10 QPS | — |
ListAssets | 10 QPS | — |
GetAssetGroup | 10 QPS | — |
UpdateAssetGroup | 10 QPS | — |
UpdateAsset | 10 QPS | — |
DeleteAsset | 10 QPS | — |
DeleteAssetGroup | 5 QPS | — |