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

# Upload an asset

> Upload a new asset (image, video, audio, or 3D model). Accepts multipart/form-data with a file and optional description. Maximum file size: 75MB.



## OpenAPI

````yaml https://api.krea.ai/openapi.json post /assets
openapi: 3.1.0
info:
  title: Krea API
  version: v1
servers:
  - url: https://api.krea.ai
    description: Krea API
security:
  - bearerAuth: []
tags:
  - name: General
    description: Core API operations including job management and billing information
  - name: Krea
    description: Krea-owned generation models including Krea 2
  - name: Assets
    description: >-
      Asset management endpoints for uploading and managing images, videos,
      audio files, and 3D models
  - name: Styles
    description: Style (LoRA) generation and management endpoints
  - name: Node Apps
    description: Executing custom node apps built in our nodes tool
  - name: Image
    description: Image generation endpoints
  - name: Image Enhance
    description: Image enhance endpoints
  - name: Video
    description: Video generation endpoints
paths:
  /assets:
    post:
      tags:
        - Assets
      summary: Upload an asset
      description: >-
        Upload a new asset (image, video, audio, or 3D model). Accepts
        multipart/form-data with a file and optional description. Maximum file
        size: 75MB.
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  description: >-
                    The file to upload (JPEG, PNG, WebP, HEIC, MP4, MOV, WebM,
                    GLB, WAV, MP3). Maximum size: 75MB.
                  format: binary
                description:
                  type: string
                  description: Optional description for the asset
              required:
                - file
      responses:
        '200':
          description: Asset uploaded successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  image_url:
                    type: string
                    format: uri
                  uploaded_at:
                    type: string
                    format: date-time
                  width:
                    type:
                      - number
                      - 'null'
                  height:
                    type:
                      - number
                      - 'null'
                  size_bytes:
                    type:
                      - number
                      - 'null'
                  mime_type:
                    type:
                      - string
                      - 'null'
                  description:
                    type: string
                required:
                  - id
                  - image_url
                  - uploaded_at
                  - width
                  - height
                  - size_bytes
                  - mime_type
        '400':
          description: Invalid file type or size
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
components:
  securitySchemes:
    bearerAuth:
      scheme: bearer
      bearerFormat: Bearer
      type: http

````