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

# Upload Audio

> Upload an audio file to Suno for further processing

Upload an audio file by providing its URL. Suno will download and process the file. The uploaded audio can then be used with `upload_extend` or `upload_cover` tasks in the [Generate](/api-reference/suno/generate) endpoint.

<Info>
  This is an async task. The response contains a `taskId` — use [Get Task Status](/api-reference/suno/task) to poll for the upload result, which will contain the `clip_id` needed for subsequent operations.
</Info>

<Tip>
  The `audioUrl` must be a publicly accessible URL that our servers can download. Supported formats include MP3, WAV, and other common audio formats.
</Tip>

<Warning>
  Each single upload may use a **different Suno account**. To upload **multiple files on the same account** (for Inspiration, Persona, etc.), use [Batch Upload Session](/api-reference/suno/uploadSession) instead.
</Warning>


## OpenAPI

````yaml POST /suno/v2/upload
openapi: 3.0.0
info:
  title: Suno AI
  description: API documentation for Suno AI
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.mountsea.ai
    description: API Gateway
security: []
tags:
  - name: suno
    description: ''
  - name: suno/studio
    description: Studio Song Editor（与 audio/crop|fade|reverse 独立）
paths:
  /suno/v2/upload:
    post:
      tags:
        - suno
      summary: upload audio to suno
      description: upload audio to suno
      operationId: ApiPublicController_uploadFile
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadFileDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIdDto'
      security:
        - bearerAuth: []
components:
  schemas:
    UploadFileDto:
      type: object
      properties:
        audioUrl:
          type: string
          format: uri
          description: The audio url to upload, must be a url that we can download
      required:
        - audioUrl
    TaskIdDto:
      type: object
      properties:
        taskId:
          type: string
          description: task id. Use this id to query task status.
          example: 15c257ff-43f7-4678-bd41-202ad6b8488b
      required:
        - taskId
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````