---
title: "Split a file into multiple stems in one request (multistem feature)"
method: POST
path: "/api/v1/split/multistem/"
tags: ["Stem Separation"]
---

# Split a file into multiple stems in one request (multistem feature)

`POST /api/v1/split/multistem/`

WARNING: The stems are internally extracted one by one, so the processing time is proportional to the number of stems selected.

    You will be charged an equal amount of minutes for each stem.
    For example, if you have an audio file with a duration of 1 minute,
    with stem_list=["vocals", "drum"], you will be charged 2 minutes (1 minute for "vocals", 1 minute for "drum").
    At the /check/ endpoint you will receive <number_of_stems> tracks with 1 additional track which is the source without all selected stems.
    Example response tracks for stem_list=["vocals", "drum"]:
    - stem:{"type":"stem", "label":"vocals", "url":"..."}
    - stem:{"type":"stem", "label":"drum", "url":"..."}
    - rest of source:{"type":"back", "label":"no_multistem", "url":"..."}

## Request body

- MultistemSplitParameters
  - `source_id` string, uuid4, required — ID of the source file to be processed.
  - `presets` MultistemSplitterPresetsV1, 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_list` string[], required — List of stems to extract. Any subset of supported stems is possible.
    - `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
- `422` — Unprocessable Entity

---

[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)
