curl --request POST \
--url https://toapis.com/v1/videos/doubao-seedance-2-0/private-avatar/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "brand-avatar-group",
"description": "Virtual avatar asset group"
}'
{
"success": true,
"message": "",
"data": {
"asset_id": "asset-20260318071009-*****",
"group_id": "group-20260318033332-*****",
"asset_type": "image",
"source_url": "https://ark-media-asset.example.com/xxx",
"status": "active",
}
}
seedance-2
Seedance 2 Private Avatar Assets
Create a private virtual avatar group, upload assets, and poll asset status
POST
/
v1
/
videos
/
doubao-seedance-2-0
/
private-avatar
/
groups
curl --request POST \
--url https://toapis.com/v1/videos/doubao-seedance-2-0/private-avatar/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "brand-avatar-group",
"description": "Virtual avatar asset group"
}'
{
"success": true,
"message": "",
"data": {
"asset_id": "asset-20260318071009-*****",
"group_id": "group-20260318033332-*****",
"asset_type": "image",
"source_url": "https://ark-media-asset.example.com/xxx",
"status": "active",
}
}
中国本土のユーザー向け: 中国本土のユーザーは
https://toapis.cn を API エンドポイント(Base URL)としてご利用ください。本ドキュメント内の例では https://toapis.com を https://toapis.cn に置き換えてください。- Exposes only the minimum user-facing workflow
- Asset ingestion accepts public
source_urlonly - Only assets with
status=activecan be used for generation
この従来の API は引き続き利用できます. 動画タスク内で素材を審査するにはオンデマンド素材審査を参照し,
private_asset_review: true を設定します. 既存の asset:// を使う場合はスイッチを省略するか false にしてください. 新モードは旧参照を拒否します.Authorizations
string
必須
All requests require Bearer Token authentication.
Workflow
1. Create Asset Group
Call this endpoint:POST /v1/videos/doubao-seedance-2-0/private-avatar/groups
- Creates a new virtual avatar asset group
- Returns the
group_idused in the upload step
curl --request POST \
--url https://toapis.com/v1/videos/doubao-seedance-2-0/private-avatar/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "brand-avatar-group",
"description": "Virtual avatar asset group"
}'
2. Upload Asset
Call this endpoint:POST /v1/videos/doubao-seedance-2-0/private-avatar/assets
- Uploads one asset into the target group
- Returns an
asset_id - Starts asynchronous processing
asset_type values:
imagevideoaudio
source_url must be a publicly reachable http/https URL.
curl --request POST \
--url https://toapis.com/v1/videos/doubao-seedance-2-0/private-avatar/assets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"group_id": "group-20260318033332-*****",
"asset_type": "image",
"source_url": "https://files.example.com/avatar-full-body.jpg",
"name": "full-body"
}'
3. Get Asset ステータス
Call this endpoint:GET /v1/videos/doubao-seedance-2-0/private-avatar/assets/{asset_id}
- Returns the current asset status
- Tells you whether the asset is ready for video generation
status=active.
{
"success": true,
"message": "",
"data": {
"asset_id": "asset-20260318071009-*****",
"group_id": "group-20260318033332-*****",
"asset_type": "image",
"source_url": "https://ark-media-asset.example.com/xxx",
"status": "active",
}
}
Use In 動画生成
Call this endpoint:POST /v1/videos/generations
active, use asset://<ASSET_ID> in your generation request.
Once the asset becomes active, reference it with:
{
"image_with_roles": [
{
"url": "asset://asset-20260318071009-*****",
"role": "reference_image"
}
]
}