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

# Upload Media Create

> Uploads a media file (like a product image) to be used as a reference for generating visuals.



## OpenAPI

````yaml post /upload-media/
openapi: 3.0.3
info:
  title: Gaana AI Visual On-Brand Generation
  version: v1
  description: >-
    This API helps external developers to use Gaana AI API to create visuals
    (image, video) which resonate with their brand guidelines. They can create
    visuals by giving a concept, providing product images, or using reference
    images that inspire them.
  contact:
    name: Gaana AI Support
    email: support@gaana.ai
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - description: Production
    url: https://production.getgaana.com/api
  - description: Stage/Sandbox
    url: https://experiment.getgaana.com/api
security: []
tags:
  - name: auth
    description: Authentication API to generate bearer token
  - name: file_upload
    description: File upload API to upload product images
  - name: products
    description: Product APIs
  - name: concept
    description: Concept APIs
  - name: media-config
    description: Media configuration APIs
  - name: media
    description: Media APIs
paths:
  /upload-media/:
    post:
      tags:
        - file_upload
      description: >-
        Uploads a media file (like a product image) to be used as a reference
        for generating visuals.
      operationId: upload_media_create
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadFileRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UploadFileRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadFileResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
      security:
        - jwtAuth: []
components:
  schemas:
    UploadFileRequest:
      type: object
      properties:
        file:
          type: string
          format: uri
    UploadFileResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/UploadFileData'
        message:
          type: string
        status:
          type: string
      required:
        - data
        - message
        - status
    ErrorResponse:
      type: object
      properties:
        data:
          type: array
          items: {}
        message:
          type: string
        status:
          $ref: '#/components/schemas/ErrorResponseStatusEnum'
      required:
        - message
        - status
    UploadFileData:
      type: object
      properties:
        message:
          type: string
        url:
          type: string
          format: uri
      required:
        - message
        - url
    ErrorResponseStatusEnum:
      enum:
        - failed
      type: string
      description: '* `failed` - failed'
  securitySchemes:
    jwtAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````