> ## 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.

# Create Image Asset

> Upload an image to an existing asset group. The returned Asset ID can be referenced as `asset://<ID>` in Seedance 2.0 requests for character reference, first frame, and similar scenarios. Image asset activation is typically 6–9 seconds in ideal conditions. Actual timing may vary with file size and review queue load; during congestion, activation may take about 10 seconds to 2 minutes. CreateAsset is asynchronous; system processing may queue the asset, and upload-time SLA is not guaranteed. Poll GetAsset after creation and use the asset only after Status becomes `Active`; `Failed` means preprocessing failed and the asset cannot be used. In generation requests, reference the asset as `asset://<ID>` instead of using the temporary GetAsset URL.



## OpenAPI

````yaml api-reference/model-api/bytedance/openapi/volc-asset-create-image/openapi.yaml POST /volc/asset/CreateAsset
openapi: 3.1.0
info:
  title: Seedance Asset — Create Image Asset
  description: Upload an image asset to an asset group via AnyFast API
  version: 1.0.0
servers:
  - url: https://www.anyfast.ai
security:
  - bearerAuth: []
paths:
  /volc/asset/CreateAsset:
    post:
      summary: Create Image Asset
      description: >-
        Upload an image to an existing asset group. The returned Asset ID can be
        referenced as `asset://<ID>` in Seedance 2.0 requests for character
        reference, first frame, and similar scenarios. Image asset activation is
        typically 6–9 seconds in ideal conditions. Actual timing may vary with
        file size and review queue load; during congestion, activation may take
        about 10 seconds to 2 minutes. CreateAsset is asynchronous; system
        processing may queue the asset, and upload-time SLA is not guaranteed.
        Poll GetAsset after creation and use the asset only after Status becomes
        `Active`; `Failed` means preprocessing failed and the asset cannot be
        used. In generation requests, reference the asset as `asset://<ID>`
        instead of using the temporary GetAsset URL.
      operationId: createImageAsset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - GroupId
                - AssetType
                - URL
              properties:
                model:
                  type: string
                  enum:
                    - volc-asset
                  description: Billing model. Fixed value `volc-asset` for images.
                  example: volc-asset
                GroupId:
                  type: string
                  description: Asset group ID.
                  example: group-20260319072926-rrnmg
                Name:
                  type: string
                  description: Asset name.
                  example: character-reference
                AssetType:
                  type: string
                  enum:
                    - Image
                  description: Asset type. Fixed value `Image` for images.
                  example: Image
                URL:
                  type: string
                  description: Image URL, Data URI, or raw Base64 string.
                  example: https://example.com/image.jpg
          multipart/form-data:
            schema:
              type: object
              required:
                - file
                - GroupId
              properties:
                model:
                  type: string
                  enum:
                    - volc-asset
                  description: Billing model. Fixed value `volc-asset` for images.
                file:
                  type: string
                  format: binary
                  description: Image file to upload.
                GroupId:
                  type: string
                  description: Asset group ID.
                Name:
                  type: string
                  description: Asset name. Defaults to filename without extension.
                AssetType:
                  type: string
                  enum:
                    - Image
                  default: Image
                  description: Asset type. Fixed value `Image`.
      responses:
        '200':
          description: Image asset created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  Id:
                    type: string
                    description: Asset ID. Use as `asset://<ID>` in Seedance 2.0 requests.
                    example: asset-20260320120147-pqwhc
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |
            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-20260319072926-rrnmg",
              "Name": "character-reference",
              "AssetType": "Image",
              "URL": "https://example.com/image.jpg"
            }'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token authentication. Format `Bearer <token>` where `<token>` is
        your API Key.

````