latestOpenAPI 3.1.02026-08-12154749.3 KB

ebb545e26e94

Stem Separation

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

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":"..."}
post/api/v1/split/multistem/

Request body

source_idstring uuid4 required

ID of the source file to be processed.

idempotency_keystring 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.

Example request

{
  "source_id": "2fe8f214-1771-4900-9e7e-570f823bd359",
  "presets": {
    "stem_list": [
      "vocals",
      "drum",
      "piano",
      "bass",
      "electric_guitar",
      "acoustic_guitar"
    ]
  }
}

Response

OK

task_idstring required

ID of the created split task.

Example response

{
  "task_id": "e1fc1d8f-502e-4de0-bf3b-b30543d11c77"
}