asset://<ID>) 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
- Group management — Organize related assets by project or campaign
- Data isolation — Each API token can only access its own assets
- Direct integration — Use
asset://<ID>directly in Seedance 2.0’simage_url,video_url, andaudio_urlfields
Supported Formats
| Type | Formats | Limits |
|---|---|---|
| Image | JPG, PNG, GIF, WebP, BMP, TIFF, HEIC, HEIF | < 30 MB, 300–6000 px, aspect ratio 0.4–2.5 |
| Video | MP4, MOV | < 50 MB, 2–15 seconds, 480p/720p, 24–60 FPS |
| Audio | MP3, WAV | < 15 MB, 2–15 seconds |
Billing Models
| Model name | Asset type | Description |
|---|---|---|
volc-asset | Image | Default, no need to specify for image uploads |
volc-asset-video | Video | Must be specified when uploading video |
volc-asset-audio | Audio | Must be specified when uploading audio |
Workflow
Step 1: Create an Asset Group
First, create an asset group to obtain a group ID.Step 2: Create an Asset in the Group
Using the asset group ID from Step 1, upload an asset (e.g. a character reference image).TheURLfield supports three formats:Base64 / Data URI is automatically uploaded to object storage and replaced with a real URL.
- Plain 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
You must specify"model": "volc-asset-video"and"AssetType": "Video"when uploading video.
cURL
Upload Audio
You must specify"model": "volc-asset-audio"and"AssetType": "Audio"when uploading audio.
cURL
File Upload (multipart)
Upload image
Upload video
Upload audio
Step 3: Generate 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, as this may cause errors; when including multiple assets, also ensure no other asset types are mixed in.
cURL
asyn).
Step 4: Poll for Results
Use the task ID to check the generation status.cURL
- Download URLs expire after 12 hours.
- If task progress reaches 100% but returns an error, the output was likely blocked by the provider’s content moderation (e.g. celebrity likenesses or copyrighted IP). In this case, try modifying the prompt or replacing the reference image.
Query Assets
List Asset Groups
cURL
List Assets in a Group
cURL
Billing
| Operation | Billing model | Billed |
|---|---|---|
| CreateAssetGroup | volc-asset | No |
| CreateAsset (image) | volc-asset | No |
| CreateAsset (video) | volc-asset-video | No |
| CreateAsset (audio) | volc-asset-audio | No |
| ListAssetGroups | — | No |
| ListAssets | — | No |
Data Isolation
When accessed with a token, the system automatically prefixes asset group names with[u-{userID}]-[t-{tokenID}] to enforce user- and token-level data isolation. Queries are automatically filtered to return only data accessible to the current token.
API Reference
Create Asset Group
Create a new asset group.
Create Asset
Upload an asset (image, video, audio) to an asset group.
List Asset Groups
List asset groups.
List Assets
List assets within an asset group.

