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

# Vocal and Instrument Separation

> Use advanced audio processing technology to separate music into vocal, instrumental, and individual instrument tracks.

### **Usage Guide**

* Separate a platform‑generated mix into vocal, instrumental, and individual instrument components.
* Three processing modes are available:
  * `separate_vocal` — 2‑stem split (Vocals + Instrumental)
  * `split_stem`   — up to 12‑stem split
  * `split_stem_advanced` — advanced multi‑stem separation with specific instrument selection
* Ideal for karaoke creation, remixes, sample extraction, or detailed post‑production.
* Best results on professionally mixed AI tracks with clear vocal and instrumental layers.
* **Billing notice:** Each call consumes credits; **re‑calling the same track is charged again** (no server‑side caching).
* **Pricing:** Check current per‑call credit costs at [**https://api.box/billing**](https://api.box/billing).

### Separation Mode Details

| **Mode (<code>type</code>)** | **Stems Returned**                                                                                                                 | **Typical Use**                                             | **Credit Cost** |
| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- | :-------------- |
| `separate_vocal` *(default)* | **2 stems** – Vocals + Instrumental                                                                                                | Quick vocal removal, karaoke, basic remixes                 | **10 Credits**  |
| `split_stem`                 | **Up to 12 stems** – Vocals, Backing Vocals, Drums, Bass, Guitar, Keyboard, Strings, Brass, Woodwinds, Percussion, Synth, FX/Other | Advanced mixing, remixing, sound design                     | **50 Credits**  |
| `split_stem_advanced`        | **Specified instrument stems** — extract specific instruments via `stemName`                                                       | Precise instrument extraction, professional post‑production | **20 Credits**  |

### Parameter Reference

| **Name**      | **Type** | **Description**                                                                                                                                                                                                    |
| :------------ | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `taskId`      | string   | Unique identifier of the music generation task. Should be the taskId returned by the "Generate Music" or "Extend Music" endpoint                                                                                   |
| `audioId`     | string   | Unique identifier of the specific audio track to process for vocal separation. This ID is returned in the callback data after music generation completes                                                           |
| `type`        | string   | Separation type: `separate_vocal` (default), `split_stem`, or `split_stem_advanced`                                                                                                                                |
| `stemName`    | string   | Only used when `type` is `split_stem_advanced`, specifies the name of the specific track/instrument to separate. Supported instruments include: Lead Vocal, Drum Kit, Piano, Guitar, Bass, Synth, Percussion, etc. |
| `callBackUrl` | string   | URL for receiving vocal separation task completion updates                                                                                                                                                         |

### Developer Notes

* All returned audio-file URLs remain accessible for **14 days**.
* Separation quality depends on the complexity and mixing of the original track.
* `separate_vocal` returns **2 stems** — vocals + instrumental.
* `split_stem` returns **up to 12 independent stems** — vocals, backing vocals, drums, bass, guitar, keyboard, strings, brass, woodwinds, percussion, synth, FX/other.
* `split_stem_advanced` returns independent stems for specified instruments. Use the `stemName` parameter to specify the instrument name.
* **Billing:** Every request is charged. Re‑submitting the same track triggers **a new credit deduction** (no server‑side caching).


## OpenAPI

````yaml suno-api/suno-api.json POST /api/v1/vocal-removal/generate
openapi: 3.0.0
info:
  title: intro
  description: API documentation for audio generation services
  version: 1.0.0
  contact:
    name: Technical Support
    email: support@api.box
servers:
  - url: https://apibox.erweima.ai
    description: API Server
security:
  - BearerAuth: []
tags:
  - name: Music Generation
    description: Endpoints for creating and managing music generation tasks
  - name: Lyrics Generation
    description: Endpoints for lyrics generation and management
  - name: WAV Conversion
    description: Endpoints for converting music to WAV format
  - name: Vocal Removal
    description: Endpoints for vocal removal from music tracks
  - name: Music Video Generation
    description: Endpoints for generating MP4 videos from music tracks
  - name: Account Management
    description: Endpoints for account and credits management
paths:
  /api/v1/vocal-removal/generate:
    post:
      summary: Separate Vocals from Music
      operationId: separate-vocals-from-music
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - taskId
                - audioId
                - stemName
                - callBackUrl
              properties:
                taskId:
                  type: string
                  description: >-
                    Unique identifier of the music generation task. Should be
                    the taskId returned by the "Generate Music" or "Extend
                    Music" endpoint.
                  example: 5c79****be8e
                audioId:
                  type: string
                  description: >-
                    Unique identifier of the specific audio track to process for
                    vocal separation. This ID is returned in the callback data
                    after music generation completes.
                  example: e231****-****-****-****-****8cadc7dc
                type:
                  type: string
                  description: >-
                    Separation type. Options:

                    - `separate_vocal`: Separate vocals and accompaniment,
                    generating vocal and instrumental tracks

                    - `split_stem`: Separate various instrument sounds,
                    generating multiple instrument tracks

                    - `split_stem_advanced`: Advanced multi-stem separation with
                    specific instrument selection, generating more refined
                    instrument tracks
                  enum:
                    - separate_vocal
                    - split_stem
                    - split_stem_advanced
                  default: separate_vocal
                  example: separate_vocal
                stemName:
                  type: string
                  description: >-
                    Only used when type is split_stem_advanced. Specifies the
                    name of the specific track/instrument to separate.
                  enum:
                    - Lead Vocal
                    - Drum Kit
                    - Kick
                    - Snare
                    - Risers
                    - Bass
                    - Backing Vocals
                    - Piano
                    - Electric Guitar
                    - Percussion
                    - String Section
                    - Synth
                    - Acoustic Guitar
                    - Sound Effects
                    - Synth Pad
                    - Synth Bass
                    - Guitar
                    - Brass Section
                    - Organ
                    - Electronic Drum Kit
                    - Lead Electric Guitar
                    - Synth Keys
                    - Rhythm Electric Guitar
                    - Electric Piano
                    - Upright Bass
                    - Keyboards
                    - Distorted Electric Guitar
                    - Synth Strings
                    - Synth Lead
                    - Woodwinds
                    - Rhythm Acoustic Guitar
                    - Flute
                    - Harp
                    - Tambourine
                    - Trumpet
                    - Arpeggiator
                    - Accordion
                    - Fiddle
                    - Pedal Steel Guitar
                    - Synth Voice
                    - Violin
                    - Digital Piano
                    - Synth Brass
                    - Mandolin
                    - Choir
                    - Banjo
                    - Bells
                    - Clarinet
                    - Tenor Saxophone
                    - Trombone
                    - Shaker
                    - French Horn
                    - Glockenspiel
                    - Electric Bass
                    - Cello
                    - Timpani
                    - Harmonica
                    - Marimba
                    - Vibraphone
                    - Lap Steel Guitar
                    - Saxophone
                    - Orchestra
                    - Horns
                    - Cymbals
                    - Hand Clap
                    - Oboe
                    - Celesta
                    - Congas
                    - Drone
                    - Alto Saxophone
                    - Double Bass
                    - Ukulele
                    - Harpsichord
                    - Baritone Saxophone
                    - Xylophone
                    - Tuba
                    - Bass Guitar
                    - Whistle
                    - Lead Guitar
                    - Rhodes
                    - '808'
                    - Bongos
                    - Bassoon
                    - Cowbell
                    - Viola
                    - Sitar
                    - Steel Drums
                    - Piccolo
                    - Theremin
                    - Bagpipes
                    - Hi-Hat
                    - Music Box
                    - Melodica
                    - Tabla
                    - Koto
                    - Djembe
                    - Taiko
                    - Didgeridoo
                callBackUrl:
                  type: string
                  format: uri
                  description: >-
                    URL for receiving vocal separation task completion updates.
                    Required for all vocal separation requests.
                  example: https://api.example.com/callback
              x-apidog-orders:
                - taskId
                - audioId
                - type
                - stemName
                - callBackUrl
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          taskId:
                            type: string
                            description: Task ID for tracking task status
                            example: 5c79****be8e
        '500':
          $ref: '#/components/responses/Error'
      callbacks:
        vocalRemovalGenerated:
          '{$request.body#/callBackUrl}':
            post:
              description: >-
                System will call this callback when vocal separation is
                complete. The callback data structure varies based on the `type`
                parameter in the request.


                ### separate_vocal Type Callback Example

                ```json

                {
                  "code": 200,
                  "msg": "vocal Removal generated successfully.",
                  "data": {
                    "task_id": "3e63b4cc88d52611159371f6af5571e7",
                    "vocal_removal_info": {
                      "instrumental_url": "https://file.aiquickdraw.com/s/d92a13bf-c6f4-4ade-bb47-f69738435528_Instrumental.mp3",
                      "origin_url": "",
                      "vocal_url": "https://file.aiquickdraw.com/s/3d7021c9-fa8b-4eda-91d1-3b9297ddb172_Vocals.mp3"
                    }
                  }
                }

                ```


                ### split_stem Type Callback Example

                ```json

                {
                  "code": 200,
                  "msg": "vocal Removal generated successfully.",
                  "data": {
                    "task_id": "e649edb7abfd759285bd41a47a634b10",
                    "vocal_removal_info": {
                      "origin_url": "",
                      "backing_vocals_url": "https://file.aiquickdraw.com/s/aadc51a3-4c88-4c8e-a4c8-e867c539673d_Backing_Vocals.mp3",
                      "bass_url": "https://file.aiquickdraw.com/s/a3c2da5a-b364-4422-adb5-2692b9c26d33_Bass.mp3",
                      "brass_url": "https://file.aiquickdraw.com/s/334b2d23-0c65-4a04-92c7-22f828afdd44_Brass.mp3",
                      "drums_url": "https://file.aiquickdraw.com/s/ac75c5ea-ac77-4ad2-b7d9-66e140b78e44_Drums.mp3",
                      "fx_url": "https://file.aiquickdraw.com/s/a8822c73-6629-4089-8f2a-d19f41f0007d_FX.mp3",
                      "guitar_url": "https://file.aiquickdraw.com/s/064dd08e-d5d2-4201-9058-c5c40fb695b4_Guitar.mp3",
                      "keyboard_url": "https://file.aiquickdraw.com/s/adc934e0-df7d-45da-8220-1dba160d74e0_Keyboard.mp3",
                      "percussion_url": "https://file.aiquickdraw.com/s/0f70884d-047c-41f1-a6d0-7044618b7dc6_Percussion.mp3",
                      "strings_url": "https://file.aiquickdraw.com/s/49829425-a5b0-424e-857a-75d4c63a426b_Strings.mp3",
                      "synth_url": "https://file.aiquickdraw.com/s/56b2d94a-eb92-4d21-bc43-3460de0c8348_Synth.mp3",
                      "vocal_url": "https://file.aiquickdraw.com/s/07420749-29a2-4054-9b62-e6a6f8b90ccb_Vocals.mp3",
                      "woodwinds_url": "https://file.aiquickdraw.com/s/d81545b1-6f94-4388-9785-1aaa6ecabb02_Woodwinds.mp3"
                    }
                  }
                }

                ```
              requestBody:
                content:
                  application/json:
                    schema:
                      type: object
                      properties:
                        code:
                          type: integer
                          description: Status code
                          example: 200
                        msg:
                          type: string
                          description: Response message
                          example: vocal Removal generated successfully.
                        data:
                          type: object
                          properties:
                            task_id:
                              type: string
                              description: Task ID
                            vocal_removal_info:
                              type: object
                              description: >-
                                Vocal separation result information, fields vary
                                based on the requested type parameter
                              properties:
                                origin_url:
                                  type: string
                                  description: Original audio URL
                                instrumental_url:
                                  type: string
                                  description: >-
                                    Instrumental part audio URL (separate_vocal
                                    type)
                                vocal_url:
                                  type: string
                                  description: Vocal part audio URL
                                backing_vocals_url:
                                  type: string
                                  description: Backing vocals audio URL (split_stem type)
                                bass_url:
                                  type: string
                                  description: Bass part audio URL (split_stem type)
                                brass_url:
                                  type: string
                                  description: >-
                                    Brass instruments audio URL (split_stem
                                    type)
                                drums_url:
                                  type: string
                                  description: Drums part audio URL (split_stem type)
                                fx_url:
                                  type: string
                                  description: Sound effects audio URL (split_stem type)
                                guitar_url:
                                  type: string
                                  description: Guitar part audio URL (split_stem type)
                                keyboard_url:
                                  type: string
                                  description: Keyboard part audio URL (split_stem type)
                                percussion_url:
                                  type: string
                                  description: >-
                                    Percussion instruments audio URL (split_stem
                                    type)
                                strings_url:
                                  type: string
                                  description: >-
                                    String instruments audio URL (split_stem
                                    type)
                                synth_url:
                                  type: string
                                  description: Synthesizer audio URL (split_stem type)
                                woodwinds_url:
                                  type: string
                                  description: >-
                                    Woodwind instruments audio URL (split_stem
                                    type)
              responses:
                '200':
                  description: Callback received successfully
              method: post
              type: path
            path: '{$request.body#/callBackUrl}'
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        code:
          type: integer
          description: |-
            # Status Codes

            - ✅ 200 - Request successful
            - ⚠️ 400 - Invalid parameters
            - ⚠️ 401 - Unauthorized access
            - ⚠️ 404 - Invalid request method or path
            - ⚠️ 405 - Rate limit exceeded
            - ⚠️ 413 - Theme or prompt too long
            - ⚠️ 429 - Insufficient credits
            - ⚠️ 430 - Your call frequency is too high. Please try again later.
            - ⚠️ 455 - System maintenance
            - ❌ 500 - Server error
          example: 200
          enum:
            - 200
            - 400
            - 401
            - 404
            - 405
            - 413
            - 429
            - 430
            - 455
            - 500
        msg:
          type: string
          description: Error message when code != 200
          example: success
  responses:
    Error:
      description: Server error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        # 🔑 API Authentication


        All endpoints require authentication using Bearer Token.


        ## Get API Key


        1. Visit the [API Key Management Page](https://api.box/api-key) to
        obtain your API Key


        ## Usage


        Add to request headers:


        ```

        Authorization: Bearer YOUR_API_KEY

        ```


        > **⚠️ Note:**

        > - Keep your API Key secure and do not share it with others

        > - If you suspect your API Key has been compromised, reset it
        immediately from the management page

````