---
title: "Separate Vocals from Music"
method: POST
path: "/api/v1/vocal-removal/generate"
---

# Separate Vocals from Music

`POST /api/v1/vocal-removal/generate`

## Request body

- union
  - object
    - `taskId` string, required — Unique identifier of the music generation task. Should be the taskId returned by the "Generate Music" or "Extend Music" endpoint.
    - `audioId` string, required — Unique identifier of the specific audio track to process. This ID is returned in the callback data after music generation completes. Required when using existing audio. Cannot be used together with audioUrl.
    - `type` 'separate_vocal' | 'split_stem' | 'split_stem_advanced' — Separation type. - `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
    - `stemName` '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' — Only used when type is split_stem_advanced. Specifies the name of the specific track/instrument to separate.
    - `callBackUrl` string, uri, required — URL for receiving vocal separation task completion updates. Required for all vocal separation requests.
  - object
    - `audioUrl` string, uri, required — URL of the audio file uploaded by the user. Maximum file size: 20MB. Cannot be used together with audioId.
    - `audioId` string — Unique identifier of the specific audio track to process. This ID is returned in the callback data after music generation completes. Required when using existing audio. Cannot be used together with audioUrl.
    - `type` 'separate_vocal' | 'split_stem' | 'split_stem_advanced' — Separation type. - `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
    - `stemName` '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' — Only used when type is split_stem_advanced. Specifies the name of the specific track/instrument to separate.
    - `callBackUrl` string, uri, required — URL for receiving vocal separation task completion updates. Required for all vocal separation requests.

## Response `200`

Request successful

- object
  - `code` 200 | 400 | 401 | 404 | 405 | 413 | 429 | 430 | 455 | 500 — # 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
  - `msg` string — Error message when code != 200
  - `data` object
    - `taskId` string — Task ID for tracking task status

## Other responses

- `500` — Server error

---

[API](https://skmtc.net/sunoapi/apis/file-upload-api.md) · [All operations](https://skmtc.net/sunoapi/apis/file-upload-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sunoapi/file-upload-api/versions/22d45ee33a4a/schema)
