Skip to main content
Seedance 2.0 Asset Management lets you upload and organize image assets for use with Seedance 2.0 video generation. Once uploaded, assets are referenced by ID (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
  • 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.0 image_url fields

Workflow

1. Create an asset group       →  group ID
2. Upload assets to the group  →  asset ID
3. Use asset ID in Seedance    →  Asset://<asset-ID>

Step 1: Create an asset group

curl https://www.anyfast.ai/volc/asset/CreateAssetGroup \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "volc-asset",
    "Name": "my-project-assets"
  }'

Step 2: Upload an asset

Supports two methods: JSON (URL / Base64 / Data URI) and multipart file upload.
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.

Method 1: JSON

curl https://www.anyfast.ai/volc/asset/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "volc-asset",
    "GroupId": "group-20260320120601-hsw4s",
    "Name": "character-reference",
    "AssetType": "Image",
    "URL": "https://example.com/character.jpg"
  }'

Method 2: File upload

cURL
curl https://www.anyfast.ai/volc/asset/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=volc-asset" \
  -F "file=@/path/to/image.jpg" \
  -F "GroupId=group-20260320120601-hsw4s" \
  -F "Name=character-reference"

Step 3: Use in Seedance 2.0

Replace the URL in your Seedance request with Asset://<asset-ID>:
curl https://www.anyfast.ai/v1/video/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance",
    "content": [
      {
        "type": "text",
        "text": "A cat playing piano in a sunlit room"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "Asset://asset-20260320120147-pqwhc"
        },
        "role": "reference_image"
      }
    ],
    "generate_audio": true,
    "resolution": "720p",
    "ratio": "adaptive",
    "duration": 5
  }'

Query assets

List asset groups

cURL
curl https://www.anyfast.ai/volc/asset/ListAssetGroups \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "volc-asset",
    "Filter": {"Name": "my-project"},
    "PageNumber": 1,
    "PageSize": 10
  }'

List assets in a group

cURL
curl https://www.anyfast.ai/volc/asset/ListAssets \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "volc-asset",
    "Filter": {
      "Name": "character",
      "GroupIds": ["group-20260320120601-hsw4s"],
      "GroupType": "AIGC"
    },
    "PageNumber": 1,
    "PageSize": 10
  }'

Billing

OperationBilled
CreateAssetGroupPer request
CreateAssetPer request
ListAssetGroupsFree
ListAssetsFree
Billing is based on the model field (default: volc-asset).

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 to a group.

List Asset Groups

Query asset groups.

List Assets

Query assets within groups.