> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cubeuaeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedance assets — create video asset

> Upload a video to an existing asset group. The returned asset ID can be referenced in Seedance 2.0 requests as `asset://<ID>` for video references, extensions, and similar use cases. Supports mp4/mov, ≤50 MB, duration 2–15 seconds.



## OpenAPI

````yaml en/api-reference/model-api/bytedance/openapi/volc-asset-create-video/openapi.yaml POST /volc/asset/CreateAsset
openapi: 3.1.0
info:
  title: Seedance assets — create video asset
  description: Upload a video asset to an asset group
  version: 1.0.0
servers:
  - url: https://ai.cubeuaeai.com
security:
  - bearerAuth: []
paths:
  /volc/asset/CreateAsset:
    post:
      summary: Create a video asset
      description: >-
        Upload a video to an existing asset group. The returned asset ID can be
        referenced in Seedance 2.0 requests as `asset://<ID>` for video
        references, extensions, and similar use cases. Supports mp4/mov, ≤50 MB,
        duration 2–15 seconds.
      operationId: createVideoAssetZh
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - GroupId
                - AssetType
                - URL
              properties:
                model:
                  type: string
                  enum:
                    - volc-asset-video
                  description: Billing model. Always pass `volc-asset-video` for video.
                  example: volc-asset-video
                GroupId:
                  type: string
                  description: Asset group ID.
                  example: group-20260319072926-rrnmg
                Name:
                  type: string
                  description: Asset name.
                  example: scene-clip
                AssetType:
                  type: string
                  enum:
                    - Video
                  description: Asset type. Always pass `Video` for video.
                  example: Video
                URL:
                  type: string
                  description: Video URL (mp4/mov, ≤50 MB, 2–15 seconds).
                  example: https://example.com/video.mp4
          multipart/form-data:
            schema:
              type: object
              required:
                - file
                - GroupId
              properties:
                model:
                  type: string
                  enum:
                    - volc-asset-video
                  description: Billing model. Always pass `volc-asset-video` for video.
                file:
                  type: string
                  format: binary
                  description: Video file to upload (mp4/mov, ≤50 MB, 2–15 seconds).
                GroupId:
                  type: string
                  description: Asset group ID.
                Name:
                  type: string
                  description: Asset name. Defaults to the file name without the extension.
                AssetType:
                  type: string
                  enum:
                    - Video
                  default: Video
                  description: Asset type. Always `Video`.
      responses:
        '200':
          description: Video asset created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  Id:
                    type: string
                    description: >-
                      Asset ID. Referenced in Seedance 2.0 requests as
                      `asset://<ID>`.
                    example: asset-20260320120147-pqwhc
        '400':
          description: Invalid request parameters
          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://ai.cubeuaeai.com/volc/asset/CreateAsset \
              -H "Authorization: Bearer YOUR_API_KEY" \
              -H "Content-Type: application/json" \
              -d '{
              "model": "volc-asset-video",
              "GroupId": "group-20260319072926-rrnmg",
              "Name": "scene-clip",
              "AssetType": "Video",
              "URL": "https://example.com/video.mp4"
            }'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Header authentication in the format `Bearer <token>`, where `<token>` is
        your API key.

````