---
title: "POST /suno/v1/stems"
method: POST
path: "/suno/v1/stems"
---

# POST /suno/v1/stems

`POST /suno/v1/stems`

## Request body

- object
  - `isStorage` boolean — Whether to store the generated audio. - **true**: The audio will be stored and a TTAPI CDN URL will be returned - **false**: The original source URL will be returned
  - `hookUrl` string — Callback notification URL
  - `music_id` string, required — Audio ID of the track to split.
  - `stem_type` 'lead_vocal' | 'drum_kit' | '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' | 'kick' | 'snare' | 'risers' | 'synth_strings' | 'synth_lead' | 'woodwinds' | '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' — Stem type to extract. Defaults to lead_vocal. Use lead_vocal for vocal separation, or pass another supported stem code such as bass, piano, drum_kit, electric_guitar, and more.

## Response `200`

Request successful

- object
  - `status` string, required
  - `message` string, required
  - `data` object, required

## Other responses

- `400` — Parameter error
- `401` — Authorization failed

---

[API](https://skmtc.net/ttapi/apis/flowmusic-api-docs.md) · [All operations](https://skmtc.net/ttapi/apis/flowmusic-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ttapi/flowmusic-api-docs/versions/f27f8a59dbd0/schema)
