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

# Seedance Asset Info API

> Query the upload status and metadata of a Seedance custom asset

## Overview

Use this endpoint to query the current status of an uploaded asset.

* `Processing`: the asset is still being processed and cannot be used yet
* `Active`: the asset is ready and can be used in Seedance generation requests
* `Failed`: the asset processing failed and should be uploaded again

Assets with an `Active` status can be reused indefinitely and do not currently have an expiration time. Crun may
introduce
a retention period in the future and periodically remove assets; advance notice will be provided when such changes take
effect.

Crun does not store asset IDs on your behalf. Your application is responsible for managing and maintaining asset IDs.

The response also includes `URL`, which is the original asset URL submitted during upload.

## Query Parameters

<ParamField query="asset_id" type="string" required>
  Asset ID returned by [Seedance Asset Upload API](/models/seedance/asset-upload). Pass the returned `AssetId` value as-is.
</ParamField>

## Request Example

<CodeGroup>
  ```bash cURL theme={null} theme={null}
  curl -X GET "https://api.crun.ai/api/v1/client/job/asset-info?asset_id=asset-20260420153000-ab12c" \
  -H "X-API-KEY: YOUR_API_KEY"
  ```

  ```python Python theme={null} theme={null}
  import requests

  API_KEY = "YOUR_API_KEY"

  response = requests.get(
    "https://api.crun.ai/api/v1/client/job/asset-info",
    params={"asset_id": "asset-20260420153000-ab12c"},
    headers={"X-API-KEY": API_KEY},
  )

  print(response.json())
  ```
</CodeGroup>

## Response Example

<CodeGroup>
  ```json Asset Active theme={null} theme={null}
  {
    "code": 200,
    "message": "success",
    "data": {
      "AssetId": "asset-20260420153000-ab12c",
      "Name": "fashion-model-front",
      "AssetType": "Image",
      "URL": "https://example.com/assets/fashion-model-front.jpg",
      "Status": "Active",
      "CreateTime": 1768900378,
      "UpdateTime": 1768900415
    }
  }
  ```

  ```json Asset Failed theme={null} theme={null}
  {
    "code": 200,
    "message": "success",
    "data": {
      "AssetId": "asset-20260420153000-ab12c",
      "Name": "fashion-model-front",
      "AssetType": "Image",
      "URL": "https://example.com/assets/fashion-model-front.jpg",
      "Status": "Failed",
      "Error":{
          "Code": "InputImageSensitiveContentDetected.PolicyViolation",
          "Message": "request failed because the input image may be related to copyright restrictions"
      },
      "CreateTime": 1768900378,
      "UpdateTime": 1768900415
    }
  }
  ```
</CodeGroup>

## Status Enum

| Status       | Description                        | Action                                             |
| ------------ | ---------------------------------- | -------------------------------------------------- |
| `Processing` | The asset is still being processed | Continue polling                                   |
| `Active`     | The asset is ready to use          | Use it in Seedance requests                        |
| `Failed`     | The asset processing failed        | Check the error message, correct it, and try again |

## Related Resources

<CardGroup cols={2}>
  <Card title="Asset Upload" icon="upload" href="/models/seedance/asset-upload">
    Upload your own image, video, and audio assets
  </Card>

  <Card title="Seedance 2.0 Image to Video" icon="video" href="/models/seedance/2-0/image-to-video">
    Use active uploaded image assets in image-to-video requests
  </Card>

  <Card title="Seedance 2.0 Reference to Video" icon="video" href="/models/seedance/2-0/reference-to-video">
    Use active uploaded assets in reference-to-video requests
  </Card>
</CardGroup>


## OpenAPI

````yaml models/seedance/asset-info.json get /api/v1/client/job/asset-info
openapi: 3.0.0
info:
  title: Seedance Asset Info API
  description: API documentation for querying uploaded Seedance asset status and metadata
  version: 1.0.0
  contact:
    name: Technical Support
    email: support@crun.ai
servers:
  - url: https://api.crun.ai
    description: API Server
security:
  - ApiKeyAuth: []
paths:
  /api/v1/client/job/asset-info:
    get:
      summary: Query a custom asset status for Seedance
      description: Query the status and metadata for an uploaded Seedance asset.
      operationId: seedance/asset-info
      parameters:
        - name: asset_id
          in: query
          required: true
          schema:
            type: string
          description: >-
            Asset ID returned by [Seedance Asset Upload
            API](/models/seedance/asset-upload). Pass the returned `AssetId`
            value as-is.
          example: asset-20260420153000-ab12c
      responses:
        '200':
          description: Asset info query successful
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          AssetId:
                            type: string
                            description: Asset identifier.
                            example: asset-20260420153000-ab12c
                          Name:
                            type: string
                            description: Asset display name.
                            example: fashion-model-front
                          AssetType:
                            type: string
                            description: Asset type.
                            enum:
                              - Image
                              - Video
                              - Audio
                            example: Image
                          URL:
                            type: string
                            format: uri
                            description: Original asset URL submitted during upload.
                            example: https://example.com/assets/fashion-model-front.jpg
                          Status:
                            type: string
                            description: >-
                              Asset processing status. Only `Active` assets can
                              be used in Seedance generation requests.
                            enum:
                              - Processing
                              - Active
                              - Failed
                            example: Active
                          Error:
                            type: object
                            default: null
                            description: >-
                              Error messages are only returned when the `Status`
                              is `Failed`.
                            properties:
                              Code:
                                type: string
                                description: Error code.
                                example: AssetProcessingFailed
                              Message:
                                type: string
                                description: Error message.
                                example: Asset upload failed
                          CreateTime:
                            description: >-
                              Asset creation time returned by the upstream
                              service.
                            type: string
                            example: '2026-04-21T02:41:43Z'
                          UpdateTime:
                            description: >-
                              Asset update time returned by the upstream
                              service.
                            type: string
                            example: '2026-04-21T02:41:43Z'
              example:
                code: 200
                message: success
                data:
                  AssetId: asset-20260420153000-ab12c
                  Name: fashion-model-front
                  AssetType: Image
                  URL: https://example.com/assets/fashion-model-front.jpg
                  Status: Active
                  CreateTime: '2026-04-21T02:41:43Z'
                  UpdateTime: '2026-04-21T02:41:43Z'
        '422':
          description: Validation Error
        '500':
          $ref: '#/components/responses/Error'
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        code:
          type: integer
          enum:
            - 200
            - 401
            - 402
            - 404
            - 422
            - 429
            - 455
            - 500
            - 501
            - 505
          description: >-
            Response status code


            - **200**: Success - Request has been processed successfully

            - **401**: Unauthorized - Authentication credentials are missing or
            invalid

            - **402**: Insufficient Credits - Account does not have enough
            credits to perform the operation

            - **404**: Not Found - The requested resource or endpoint does not
            exist

            - **422**: Validation Error - The request parameters failed
            validation checks

            - **429**: Rate Limited - Request limit has been exceeded for this
            resource

            - **455**: Service Unavailable - System is currently undergoing
            maintenance

            - **500**: Server Error - An unexpected error occurred while
            processing the request

            - **501**: Generation Failed - Content generation task failed

            - **505**: Feature Disabled - The requested feature is currently
            disabled
        message:
          type: string
          description: Response message, error description when failed
          example: success
  responses:
    Error:
      description: Server Error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        All APIs require authentication via API Key.


        Get API Key:

        1. Visit [API Key Management Page](https://crun.ai/user-api-key) to get
        your API Key


        Usage:

        Add to request header:


        x-api-key: YOUR_API_KEY


        Note:

        - Keep your API Key secure and do not share it with others

        - If you suspect your API Key has been compromised, reset it immediately
        in the management page

````