Seedance 素材接口
Seedance 素材接口
本页介绍通过公网 URL 上传图片、视频或音频素材,查询素材状态,以及使用素材创建 Seedance 视频任务的接口。
所有请求均使用 OhMyToken API Key:
Authorization: Bearer sk-...上传和查询接口仅适用于 Seedance 模型。model 用于匹配当前用户分组中可用的 Seedance 渠道,不适用于 Kling 等其他模型。
1. 上传素材接口(支持 AIGC 真人)
POST https://ohmytoken.cn/v1/api/assets/upload
将外部 URL 指向的素材(图片、视频或音频)上传到素材库。素材落库后会获得稳定的 asset_id,可在创建视频任务时通过 content[].image_url.url 等字段引用。
请求头
| 字段 | 值 |
|---|---|
Content-Type | application/json |
Authorization | Bearer ${OHMYTOKEN_API_KEY} |
Query 参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | Seedance 模型名,例如 doubao-seedance-2.0 |
请求体字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
url | string | 是 | 外部素材的 HTTP(S) URL;启用 SSRF 防护时必须为公网可达地址 |
asset_type | string | 是 | 素材类型:Image、Video 或 Audio |
name | string | 否 | 自定义名称,便于识别或在列表接口中筛选 |
请求示例
curl --request POST \
'https://ohmytoken.cn/v1/api/assets/upload?model=doubao-seedance-2.0' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${OHMYTOKEN_API_KEY}" \
--data '{
"url": "https://example.com/lion.jpg",
"asset_type": "Image",
"name": "lion01"
}'响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
code | int/string | 0 或 "success" 表示成功,其他值表示失败 |
message | string | 状态或错误描述 |
data.Id | string | 分配的素材 ID,形如 asset-20260507175358-hmw2h |
响应示例
{
"code": 0,
"message": "ok",
"data": {
"Id": "asset-20260507175358-hmw2h"
}
}错误说明
| 场景 | 响应 |
|---|---|
缺失 ?model | HTTP 400 |
缺失 url 或 asset_type | HTTP 400 |
| 素材 URL 命中 SSRF 防护规则 | HTTP 400 |
| 素材服务返回错误 | 保留原始 HTTP 状态码和响应体 |
2. 查询单个素材接口(支持 AIGC 真人)
GET https://ohmytoken.cn/v1/api/assets/{asset_id}
查询素材当前状态、签名 URL 和其他元信息。上传完成不代表素材已经可以使用;请等待 data.Status 变为 Active 后再创建视频任务。
请求头
| 字段 | 值 |
|---|---|
Authorization | Bearer ${OHMYTOKEN_API_KEY} |
路径参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
asset_id | string | 是 | 上传时返回的 data.Id,仅允许字母、数字、下划线和连字符 |
Query 参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | Seedance 模型名,用于路由到对应渠道,须与上传时保持一致 |
所有权规则
调用方必须是该 asset_id 的上传者。素材归属于上传时 API Key 对应的 OhMyToken 用户:
- 同一用户可以使用自己的其他 API Key 查询该素材。
- 其他用户查询该素材时返回 HTTP 404。
请求示例
curl --request GET \
'https://ohmytoken.cn/v1/api/assets/asset-20260507175358-hmw2h?model=doubao-seedance-2.0' \
--header "Authorization: Bearer ${OHMYTOKEN_API_KEY}"响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
code | int/string | 0 或 "success" 表示成功 |
message | string | 状态或错误描述 |
data.Id | string | 素材 ID |
data.Name | string | 自定义名称 |
data.AssetType | string | Image、Video 或 Audio |
data.Status | string | 素材状态,例如 Active、Processing 或 Failed |
data.URL | string | 临时签名 URL,通常约 12 小时过期,请按需重新查询 |
data.CreateTime | string | 创建时间 |
响应示例
{
"code": 0,
"message": "ok",
"data": {
"Id": "asset-20260507175358-hmw2h",
"Name": "lion01",
"AssetType": "Image",
"Status": "Active",
"URL": "https://cdn.example.com/asset-...?Signature=...",
"CreateTime": "2026-05-07T17:53:58Z"
}
}错误说明
| 场景 | 响应 |
|---|---|
asset_id 含有不允许的字符 | HTTP 400 |
| 当前用户不是该素材的上传者 | HTTP 404 |
缺失 ?model | HTTP 400 |
3. 使用素材创建视频
素材状态变为 Active 后,可使用 asset_id 创建 Seedance 视频任务。在 image_url.url 中传入 asset:// 与 asset_id 拼接后的地址;真人参考图建议优先使用该方式。
POST https://ohmytoken.cn/api/v3/contents/generations/tasks
请求示例
curl --request POST \
'https://ohmytoken.cn/api/v3/contents/generations/tasks' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${OHMYTOKEN_API_KEY}" \
--data '{
"model": "doubao-seedance-2.0",
"content": [
{
"type": "text",
"text": "一只猫在海边奔跑,电影感,夕阳,4k"
},
{
"type": "image_url",
"image_url": {
"url": "asset://asset-20260507175358-hmw2h"
},
"role": "reference_image"
}
],
"ratio": "16:9",
"duration": 4,
"resolution": "720p",
"execution_expires_after": 3600,
"watermark": false
}'包含 asset:// 引用的任务会自动使用素材上传时的同一渠道。任务创建成功后,请使用返回的任务 ID 查询生成状态和视频结果;完整响应字段参见 Seedance 原生接口。
计费与日志
上传素材和查询素材不消耗生成额度,也不会产生模型使用日志。使用素材创建视频任务时,会按照所选 Seedance 模型正常预扣和结算,并记录到任务记录和使用日志中。