Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.anyfast.ai/llms.txt

Use this file to discover all available pages before exploring further.

Seedance 2.0 Asset Management lets you upload and organize media assets (images, videos, audio) 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
  • 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.0 image_url, video_url, audio_url fields

Supported formats

TypeFormatsLimits
ImageJPG, PNG, GIF, WebP, BMP, TIFF, HEIC, HEIF< 30 MB, 300–6000 px, aspect ratio 0.4–2.5
VideoMP4, MOV< 50 MB, 2–15s, 480p/720p, 24–60 FPS
AudioMP3, WAV< 15 MB, 2–15s

Billing models

ModelAsset typeDescription
volc-assetImageDefault — no need to specify for images
volc-asset-videoVideoRequired when uploading video
volc-asset-audioAudioRequired when uploading audio

Workflow

1. Create an Asset Group        →  Group ID
2. Create an Asset in the Group →  Asset ID
3. Generate a video with Asset  →  async task ID
4. Poll for the result          →  pre-signed download URL

Step 1: Create an Asset Group

First, create a Group to obtain a Group ID.
curl https://www.anyfast.ai/volc/asset/CreateAssetGroup \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "volc-asset",
    "Name": "your-custom-name"
  }'
Expected response:
{
  "Id": "group-20260427160000-xxxxx"
}

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).
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-20260427160000-xxxxx",
    "Name": "character-reference",
    "AssetType": "Image",
    "URL": "https://example.com/example.png"
  }'
Expected response:
{
  "Id": "asset-20260427160000-xxxxx"
}
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
curl https://www.anyfast.ai/volc/asset/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "volc-asset-video",
    "GroupId": "group-20260427160000-xxxxx",
    "Name": "reference-clip",
    "AssetType": "Video",
    "URL": "https://example.com/clip.mp4"
  }'

Upload audio

Audio uploads must specify "model": "volc-asset-audio" and "AssetType": "Audio".
cURL
curl https://www.anyfast.ai/volc/asset/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "volc-asset-audio",
    "GroupId": "group-20260427160000-xxxxx",
    "Name": "background-music",
    "AssetType": "Audio",
    "URL": "https://example.com/bgm.mp3"
  }'

File upload (multipart)

Upload image
curl https://www.anyfast.ai/volc/asset/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg" \
  -F "GroupId=group-20260427160000-xxxxx" \
  -F "Name=character-reference"
Upload video
curl https://www.anyfast.ai/volc/asset/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=volc-asset-video" \
  -F "file=@/path/to/video.mp4" \
  -F "GroupId=group-20260427160000-xxxxx" \
  -F "Name=reference-clip" \
  -F "AssetType=Video"
Upload audio
curl https://www.anyfast.ai/volc/asset/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=volc-asset-audio" \
  -F "file=@/path/to/audio.mp3" \
  -F "GroupId=group-20260427160000-xxxxx" \
  -F "Name=background-music" \
  -F "AssetType=Audio"

Step 3: Generate a Video Using the Asset

Reference the Asset ID from Step 2 to generate a video.
Important: In the content array, after the text prompt, asset items must follow the order: image → video → audio. The @image1, @video1, @audio1 references correspond to assets in that order.
cURL
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": "The person from @image1 walks in the scene from @video1, with @audio1 as background music"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "asset://asset-20260427160000-xxxxx"
        },
        "role": "reference_image"
      },
      {
        "type": "video_url",
        "video_url": {
          "url": "asset://asset-20260427160000-video1"
        },
        "role": "reference_video"
      },
      {
        "type": "audio_url",
        "audio_url": {
          "url": "asset://asset-20260427160000-audio1"
        },
        "role": "reference_audio"
      }
    ],
    "resolution": "720p",
    "duration": 5
  }'
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
curl https://www.anyfast.ai/v1/video/generations/asynxxxx \
  -H "Authorization: Bearer YOUR_API_KEY"
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

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-20260427160000-xxxxx"],
      "GroupType": "AIGC"
    },
    "PageNumber": 1,
    "PageSize": 10
  }'

Billing

OperationModelBilled
CreateAssetGroupvolc-assetPer request
CreateAsset (image)volc-assetPer request
CreateAsset (video)volc-asset-videoPer request
CreateAsset (audio)volc-asset-audioPer request
ListAssetGroupsFree
ListAssetsFree

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.

List Asset Groups

Query asset groups.

List Assets

Query assets within groups.