Skip to main content
Seedance Asset Management lets you upload and organize media assets (images, videos, audio) for use with Seedance video generation. Once uploaded, assets are referenced by ID (asset://<ID>) in Seedance requests instead of public URLs.
Asset Management is independent of video generation. Use volc-asset, volc-asset-video, or volc-asset-audio when creating assets, then pass the resulting asset://<ID> to a supported Seedance model.
For specific content requests, select the corresponding model under the Direct resource group: volc-asset-nsfw for images, volc-asset-video-nsfw for videos, or volc-asset-audio-nsfw for audio. Each NSFW model ID adds the -nsfw suffix to the standard model ID.

Supported Seedance models

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 image_url, video_url, audio_url fields

Supported formats

Seedance 2.5 enhanced input capabilities

This section applies only to seedance-2.5 and supplements the existing asset-management instructions above. Media inputs can be supplied through public URLs, supported Base64 data, or asset://<ID> references.
These limits describe media used as input to Seedance 2.5. For the upstream specification and examples, see the official Seedance 2.5 reference.

Image requirements

  • Input methods: Image URL, Base64-encoded image, or asset ID.
  • Formats: JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, and HEIF.
  • Dimensions: Aspect ratio (width/height) from 0.4 to 2.5; width and height from 300 to 6000 px.
  • Size: Each image must be smaller than 30 MB. The complete request body must not exceed 64 MB. Do not use Base64 for large files.

Video requirements

  • Input methods: Video URL or asset ID. Video Base64 input is not supported.
  • Formats: MP4 and MOV.
  • Resolution: 480p or 720p.
  • Duration and count: Each video must be 2–30 seconds. You can provide up to 10 reference videos, with a combined duration of no more than 30 seconds.
  • Dimensions: Aspect ratio (width/height) from 0.4 to 2.5; width and height from 300 to 6000 px.
  • Total pixels: Width multiplied by height must be between 409600 (640 × 640) and 8295044 (3326 × 2494).
  • Size: Each video must not exceed 200 MB.
  • Frame rate: 24–60 FPS.

Audio requirements

  • Input methods: Audio URL, Base64-encoded audio, or asset ID.
  • Formats: WAV and MP3.
  • Duration and count: Each audio clip must be 2–30 seconds. You can provide up to 10 reference audio clips, with a combined duration of no more than 30 seconds.
  • Size: Each audio clip must not exceed 15 MB. The complete request body must not exceed 64 MB. Do not use Base64 for large files.

Retention periods

  • Task records: Retained for 7 days. The query interval is [T-7 days, T), where T is the request time as a UTC Unix timestamp in seconds.
  • Generated video URLs: Retained for 24 hours and limited to 100 downloads. Download or transfer generated videos promptly.
The 24-hour period applies to generated video result URLs. It is separate from the temporary URL returned by GetAsset; continue to use asset://<asset_id> as the persistent asset reference.

Rate limits

  • RPM: The maximum number of video generation tasks that an account can create per minute for the same model. Requests above this limit return an error.
  • Concurrency: The maximum number of tasks that can be processed simultaneously for the same model under an account. Additional tasks wait in the queue.

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.
Do not use or store the GetAsset.URL value as the long-term asset reference. Official examples mark this URL as valid for 12 hours. Use asset://<asset_id> in Seedance generation requests.

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 a LivenessFace asset group.
For the complete authorization flow and official terminology, see Real-human asset verification.
LivenessFace verification requires an API token created with the Byteplus-Direct group. Tokens routed to the regular AIGC asset group only support GroupType: "AIGC" and cannot create liveness sessions or LivenessFace assets.
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.
Expected response:

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).
Expected response:
The URL field accepts three formats:
  • Public URL: https://example.com/image.jpg
  • Data URI: data:image/png;base64,iVBOR...
  • Raw Base64 string (auto-detected, treated as PNG by default)
Base64 / Data URI are automatically uploaded to object storage.

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
The response will return an async task ID (prefixed with asyn).

Step 4: Poll for the Result

Use the task ID to check the generation status.
cURL
Once complete, the response will contain a pre-signed S3 download link. Please note:
  • 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.