---
title: "Split a file into stems using the stem separator presets"
method: POST
path: "/api/v1/split/stem_separator/"
tags: ["Stem Separation"]
---

# Split a file into stems using the stem separator presets

`POST /api/v1/split/stem_separator/`

Result of /check/ includes 2 tracks:
    - stem:{"type":"stem", "label":"<stem_name>", "url":"..."}
    - without stem:{"type":"back", "label":"no_<stem_name>", "url":"..."}

    LEAD_BACK VOCALS:
    For 'vocals' stem you can use parameter multivocal="lead_back" and receive both lead and backing vocals as separate stems.
    Result of /check/ includes 4 tracks. Backing vocals track is optional and could be suppressed if not found in the audio:
    lead vocals:{"type":"stem", "label":"vocals@0", "url":"..."}
    backing vocals:{"type":"stem", "label":"vocals@1", "url":"..."}
    instrumental:{"type":"back", "label":"no_vocals", "url":"..."}
    instrumental + backing vocals:{"type":"back", "label":"mix_no_lead", "url":"..."}

## Request body

- StemSeparatorSplitParameters
  - `source_id` string, uuid4, required — ID of the source file to be processed.
  - `presets` StemSeparatorSplitterPresetsV1, required
    - `splitter` 'andromeda' | 'perseus' | 'orion' | 'phoenix' | 'lyra' | 'lynx'
    - `dereverb_enabled` boolean — Enabling dereverb removes echo from the audio for clarity, which may slightly alter the voice. Disabling dereverb preserves the natural echo of the recording for authenticity. Only for {'vocals', 'voice'} stems.
    - `encoder_format` 'mp3' | 'wav' | 'flac' | 'aac' | 'ogg'
    - `stem` 'vocals' | 'drum' | 'piano' | 'bass' | 'guitar' | 'electric_guitar' | 'acoustic_guitar' | 'synthesizer' | 'strings' | 'wind', required — Stem to extract. ['synthesizer', 'strings', 'wind'] are available only phoenix splitter. 'guitar' is available only andromeda splitter.
    - `multivocal` 'lead_back', nullable — Use parameter 'lead_back' and receive both lead and backing vocals as separate stems vocals@0 and vocals@1
    - `extraction_level` 'deep_extraction' | 'clear_cut'
  - `idempotency_key` string, uuid4, nullable — Unique uuid4 key to ensure idempotent requests. Prevents duplicate task execution with the same parameters. Can be reused until the task starts. Once processing begins, reusing this key will return an error.

## Response `200`

OK

- Task
  - `task_id` string, required — ID of the created split task.

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/lalal/apis/lalal-ai-api.md) · [All operations](https://skmtc.net/lalal/apis/lalal-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lalal/lalal-ai-api/revisions/ebb545e26e94/schema)
