asset://<ID>) in Seedance 2.0 requests instead of public URLs.
Why use Asset Management?
- Persistent storage — Assets are stored on Volcengine and don’t expire like temporary URLs
- Multi-format support — Upload images, videos, and audio files
- Organized by groups — Group related assets (e.g. per project or campaign)
- Data isolation — Each API token sees only its own assets
- Direct integration — Use
asset://<ID>directly in Seedance 2.0image_url,video_url,audio_urlfields
Supported formats
Billing models
Asset review and activation time
These times are ideal estimates. Actual timing may vary based on file size, media format, and review queue load. When the review queue is congested, asset activation may be delayed by about 10 seconds to 2 minutes. Use the asset through
asset://<ID> only after its status becomes Active.Asynchronous processing and asset URLs
CreateAsset is asynchronous. The API returns an asset ID after accepting the upload request, but the asset still needs upstream preprocessing before it can be used for inference. Poll GetAsset until Status becomes Active.
Workflow
LivenessFace workflow
Use the LivenessFace flow when you need a private real-person portrait group. AnyFast creates a mobile verification page, the user completes liveness face verification on a phone, and the result becomes aLivenessFace asset group.
1
Create a validation session
Call
CreateVisualValidateSession to obtain H5Link and BytedToken.cURL
2
Open the H5Link on a phone
Send the returned
H5Link to the user and ask them to complete liveness face verification.3
Query the result
After verification, call
GetVisualValidateResult with the BytedToken. A successful verification returns a GroupId.cURL
4
Manage the LivenessFace group
Use the returned
GroupId with UpdateAssetGroup, ListAssetGroups, CreateAsset, ListAssets, and GetAsset. When listing liveness groups or assets, include Filter.GroupType: "LivenessFace".If verification is not completed or did not create a group,
GetVisualValidateResult may return {"GroupId": ""}. Invalid or expired tokens return an upstream error.When uploading an image to a LivenessFace group, the image must match the verified person. Mismatched faces return
FaceMismatch and the asset status becomes Failed.Step 1: Create an Asset Group
First, create a Group to obtain a Group ID.Step 2: Create an Asset within the Group
Using the Group ID from Step 1, upload your image asset (e.g., a character reference face).TheURLfield accepts three formats:Base64 / Data URI are automatically uploaded to object storage.
- Public URL:
https://example.com/image.jpg- Data URI:
data:image/png;base64,iVBOR...- Raw Base64 string (auto-detected, treated as PNG by default)
Upload video
Video uploads must specify"model": "volc-asset-video"and"AssetType": "Video".
cURL
Upload audio
Audio uploads must specify"model": "volc-asset-audio"and"AssetType": "Audio".
cURL
File upload (multipart)
Upload image
Upload video
Upload audio
Step 3: Generate a Video Using the Asset
Reference the Asset ID from Step 2 to generate a video.Important: Assets must be passed in strict order:text,image_url,video_url,audio_url. Do not reorder them — doing so may cause errors. When multiple assets are included, do not mix in other asset types.
cURL
asyn).
Step 4: Poll for the Result
Use the task ID to check the generation status.cURL
- The download link expires after 12 hours.
- If the task reaches 100% progress but returns an error, this typically means the output was flagged by the provider’s content moderation (e.g., celebrity likeness or copyrighted IP). In this case, try modifying your prompt or using a different reference image.
Query assets
List asset groups with combined filters
cURL
200
List assets in a group
cURL
Manage assets
Update an asset group
cURL
Update an asset
cURL
Delete an asset
cURL
Delete an asset group
cURL
Billing
Data isolation
When using token-based access, the system automatically prefixes asset group names with[u-{userID}]-[t-{tokenID}], providing user and token-level data isolation. Queries automatically filter to return only data accessible by the current token.
API Reference
Create Asset Group
Create a new asset group.
Create Asset
Upload an asset (image, video, audio) to a group.
Create Liveness Session
Create a mobile liveness face validation session.
Get Liveness Result
Query the LivenessFace group created by a validation session.
List Asset Groups
Query asset groups.
List Assets
Query assets within groups.
Update Asset Group
Update asset group information.
Update Asset
Update asset information.
Delete Asset
Delete an asset.
Delete Asset Group
Delete an asset group.