asset://<ID>)引用素材,无需使用公开 URL。
为什么使用素材管理?
- 持久存储 — 素材存储在火山引擎,不会像临时 URL 那样过期
- 多格式支持 — 支持上传图片、视频和音频文件
- 分组管理 — 按项目或活动将相关素材归组
- 数据隔离 — 每个 API 令牌只能看到自己的素材
- 直接集成 — 在 Seedance 2.0 的
image_url、video_url、audio_url字段中直接使用asset://<ID>
支持的格式
| 类型 | 格式 | 限制 |
|---|---|---|
| 图片 | JPG, PNG, GIF, WebP, BMP, TIFF, HEIC, HEIF | < 30 MB,300–6000 px,宽高比 0.4–2.5 |
| 视频 | MP4, MOV | < 50 MB,2–15 秒,480p/720p,24–60 FPS |
| 音频 | MP3, WAV | < 15 MB,2–15 秒 |
计费模型
| 模型名 | 素材类型 | 说明 |
|---|---|---|
volc-asset | 图片 | 默认,上传图片无需指定 |
volc-asset-video | 视频 | 上传视频时必须指定 |
volc-asset-audio | 音频 | 上传音频时必须指定 |
工作流
第一步:创建素材组
首先创建一个素材组以获取素材组 ID。第二步:在素材组中创建素材
使用第一步获取的素材组 ID 上传素材(如角色参考图)。URL字段支持三种格式:Base64 / Data URI 会自动上传到对象存储并替换为真实 URL。
- 普通 URL:
https://example.com/image.jpg- Data URI:
data:image/png;base64,iVBOR...- 纯 Base64 字符串(自动识别,默认当作 PNG)
上传视频
上传视频时必须指定"model": "volc-asset-video"和"AssetType": "Video"。
cURL
上传音频
上传音频时必须指定"model": "volc-asset-audio"和"AssetType": "Audio"。
cURL
文件上传(multipart)
上传图片
上传视频
上传音频
第三步:使用素材生成视频
引用第二步获取的素材 ID 生成视频。重要: 素材需严格按照 text、image_url、video_url、audio_url 的顺序传入。请勿调整顺序,否则可能导致报错;当包含多个素材时,也需确保其中不混入其他类型的素材。
cURL
asyn 为前缀)。
第四步:轮询获取结果
使用任务 ID 检查生成状态。cURL
- 下载链接12 小时后过期。
- 如果任务进度达到 100% 但返回错误,通常表示输出被服务方内容审核拦截(例如名人肖像或受版权保护的 IP)。这种情况下请尝试修改提示词或更换参考图。
查询素材
查询素材组
cURL
查询素材组内的素材
cURL
计费说明
| 操作 | 计费模型 | 是否计费 |
|---|---|---|
| CreateAssetGroup | volc-asset | 不计费 |
| CreateAsset(图片) | volc-asset | 不计费 |
| CreateAsset(视频) | volc-asset-video | 不计费 |
| CreateAsset(音频) | volc-asset-audio | 不计费 |
| ListAssetGroups | — | 不计费 |
| ListAssets | — | 不计费 |
数据隔离
使用令牌访问时,系统自动为素材组名称添加[u-{用户ID}]-[t-{令牌ID}] 前缀,实现用户和令牌级别的数据隔离。查询时自动过滤,仅返回当前令牌有权限的数据。
API 参考
创建素材组
创建新的素材组。
创建素材
上传素材(图片、视频、音频)到素材组。
查询素材组
查询素材组列表。
查询素材
查询素材组内的素材。

