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

# Upload Audio for Voice Cloning

> Use this API to upload audio files for voice cloning.



## OpenAPI

````yaml /api-reference/speech/voice-cloning/api/upload-file.json POST /v1/files/upload
openapi: 3.1.0
info:
  title: MiniMax Voice Cloning API
  description: MiniMax Voice Cloning API with support for voice cloning and file upload
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.minimax.io
security:
  - bearerAuth: []
paths:
  /v1/files/upload:
    post:
      tags:
        - Files
      summary: Upload File
      operationId: uploadFile
      parameters:
        - name: Content-Type
          in: header
          required: true
          description: Indicates the request is a multipart file upload.
          schema:
            type: string
            enum:
              - multipart/form-data
            default: multipart/form-data
      requestBody:
        description: ''
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - purpose
                - file
              properties:
                purpose:
                  type: string
                  description: >-
                    The purpose of the file. Supported values and formats:

                    - __voice_clone__: For fast voice cloning of the original
                    audio file.

                    Supported formats: `mp3`, `m4a`, `wav`
                  default: voice_clone
                  enum:
                    - voice_clone
                  example: voice_clone
                file:
                  type: string
                  format: binary
                  description: |-
                    The file to upload. Provide the path to the audio file.

                    Requirements for uploaded files:
                    - Formats: mp3, m4a, wav
                    - Duration: Minimum 10 seconds, maximum 5 minutes
                    - Size: Must not exceed 20 MB
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadFileResp'
components:
  schemas:
    UploadFileResp:
      type: object
      properties:
        file:
          $ref: '#/components/schemas/FileObject'
        base_resp:
          $ref: '#/components/schemas/UploadFileBaseResp'
      example:
        file:
          file_id: 123456789012345680
          bytes: 5896337
          created_at: 1700469398
          filename: audio_sample.mp3
          purpose: voice_clone
        base_resp:
          status_code: 0
          status_msg: success
    FileObject:
      type: object
      properties:
        file_id:
          type: integer
          format: int64
          description: The unique identifier of the uploaded file.
        bytes:
          type: integer
          format: int64
          description: The size of the file in bytes.
        created_at:
          type: integer
          format: int64
          description: The Unix timestamp (in seconds) when the file was created.
        filename:
          type: string
          description: The name of the file.
        purpose:
          type: string
          description: >-
            The usage purpose of the file. For this API, the value will be
            `voice_clone`.
          enum:
            - voice_clone
    UploadFileBaseResp:
      type: object
      properties:
        status_code:
          type: integer
          description: >-
            Status codes and their meanings:

            - 0, Request successful

            - 1002, Rate limit triggered, please try again later

            - 1004, Account authentication failed, please check if the API Key
            is correct

            - 1008, Insufficient account balance

            - 1026, The image description contains sensitive content

            - 2013, Invalid input parameters, please check if the parameters are
            filled in as required

            - 2049, Invalid API Key

             For more information, please refer to the [Error Code Reference](/api-reference/errorcode).
        status_msg:
          type: string
          description: Detailed status message.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        `HTTP: Bearer Auth`

        - Security Scheme Type: http

        - HTTP Authorization Scheme: `Bearer API_key`, can be found in [Account
        Management>API
        Keys](https://platform.minimax.io/user-center/basic-information/interface-key).

````