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

# Get an asset

> Retrieve an asset and its preprocessing status; signed asset URLs expire after 12 hours.



## OpenAPI

````yaml openapi/byteplus-assets.yaml POST /assets/get
openapi: 3.1.0
info:
  title: BytePlus Assets API
  version: 1.0.0
  description: >-
    GENGEN reference for BytePlus asset groups, reusable assets, the public
    asset library, and real-person verification.
servers:
  - url: https://gengen.farm/api/gengen/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /assets/get:
    post:
      summary: Get an asset
      description: >-
        Retrieve a private or public asset and its preprocessing status. Use an
        asset only when Result.Status is Active.
      operationId: getAsset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdRequest'
            example:
              Id: asset-20260427-abc
      responses:
        '200':
          description: >-
            Asset details and preprocessing status. Result.URL is valid for 12
            hours.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetResultEnvelope'
              example:
                ResponseMetadata:
                  RequestId: '20260328000000000000000000000000'
                  Action: GetAsset
                  Version: '2024-01-01'
                  Service: ark
                  Region: ap-southeast-1
                Result:
                  Id: asset-20260427-abc
                  Name: portrait-front
                  URL: https://example.com/temporary-asset-url
                  AssetType: Image
                  GroupId: group-20260424-abc
                  Status: Active
                  CreateTime: '2026-03-28T00:00:00Z'
                  UpdateTime: '2026-03-28T00:00:00Z'
                  ProjectName: default
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '502':
          $ref: '#/components/responses/ProviderError'
        default:
          $ref: '#/components/responses/ProviderError'
      x-codeSamples:
        - lang: bash
          label: Get asset
          source: |
            curl --request POST \
              --url https://gengen.farm/api/gengen/v1/assets/get \
              --header 'Authorization: Bearer gengen_live_xxxxxxxxxxxxxxxx' \
              --header 'Content-Type: application/json' \
              --data '{
                "Id": "asset-20260427-abc"
              }'
components:
  schemas:
    IdRequest:
      type: object
      required:
        - Id
      properties:
        Id:
          type: string
          minLength: 1
          description: Provider resource ID or supported GENGEN workspace-local ID.
      additionalProperties: false
    AssetResultEnvelope:
      type: object
      required:
        - ResponseMetadata
        - Result
      properties:
        ResponseMetadata:
          $ref: '#/components/schemas/ResponseMetadata'
        Result:
          $ref: '#/components/schemas/ProviderAsset'
      additionalProperties: true
    ResponseMetadata:
      type: object
      properties:
        RequestId:
          type: string
        Action:
          type: string
        Version:
          type: string
        Service:
          type: string
        Region:
          type: string
      additionalProperties: true
    ProviderAsset:
      type: object
      properties:
        Id:
          type: string
        Name:
          type: string
        URL:
          type: string
          format: uri
          description: Signed asset URL valid for 12 hours.
        AssetType:
          type: string
          description: |
            Asset type:

            - Image — image asset
            - Video — video asset
            - Audio — audio asset
          enum:
            - Image
            - Video
            - Audio
        GroupId:
          type: string
        Status:
          type: string
          description: |
            Preprocessing status:

            - Active — ready for generation
            - Processing — preprocessing is in progress
            - Failed — preprocessing failed
          enum:
            - Active
            - Processing
            - Failed
        Error:
          type: object
          additionalProperties: true
        CreateTime:
          type: string
          format: date-time
        UpdateTime:
          type: string
          format: date-time
        ProjectName:
          type: string
      additionalProperties: true
    Error:
      type: object
      properties:
        error_code:
          type: string
        error:
          type: string
        error_params:
          type: object
          additionalProperties: true
      additionalProperties: true
  responses:
    BadRequest:
      description: The request body or parameters are invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: The bearer token is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    PaymentRequired:
      description: The workspace does not have enough available balance.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The API key is not permitted to perform this operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested asset, group, or verification session was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ProviderError:
      description: GENGEN or the asset provider could not complete the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: GENGEN API key
      description: A workspace API key beginning with gengen_live_.

````