> ## 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 Session Item

> Upload one audio file to the session-bound account (Step 2)

Upload a single audio file using the account bound in [Prepare Upload Session](/api-reference/suno/uploadSessionPrepare).

<Info>
  **Async** — returns `taskId`. Poll [Get Task Status](/api-reference/suno/task) with the item `taskId` for clip details. The clip ID is also appended to the session's `audioIds` list automatically.
</Info>

| Field       | Type          | Required | Description                     |
| ----------- | ------------- | -------- | ------------------------------- |
| `sessionId` | string (UUID) | Yes      | From Step 1                     |
| `audioUrl`  | string (URL)  | Yes      | Publicly downloadable audio URL |

<Warning>
  Multiple items may be submitted **concurrently** with the same `sessionId` — they still share one account.
</Warning>

<Tip>
  Part of [Batch Upload Session](/api-reference/suno/uploadSession). Poll the **sessionId** (not item taskId) to get all `audioIds` when batch upload finishes.
</Tip>


## OpenAPI

````yaml POST /suno/v2/audio/upload/session/item
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/audio/upload/session/item:
    post:
      tags:
        - suno
      summary: upload one audio to the session-bound account
      description: >-
        Async upload using the account bound in the prepare step.

        Returns taskId — poll /status?taskId={taskId} to get clip info (id,
        etc.).

        The clip ID is also appended to session.audioIds automatically.

        Multiple items can be submitted concurrently with the same sessionId.
      operationId: ApiPublicController_uploadSessionItem
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadSessionItemDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIdDto'
      security:
        - bearerAuth: []
components:
  schemas:
    UploadSessionItemDto:
      type: object
      properties:
        sessionId:
          type: string
          format: uuid
          description: uploadSession/prepare 返回的 sessionId
          example: e3f2c1a0-1234-5678-abcd-000000000000
        audioUrl:
          type: string
          format: uri
          description: 要上传的音频 URL（可公网访问）
          example: https://example.com/audio.mp3
      required:
        - sessionId
        - 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

````