Multi-Speaker Separation - AudioShake Developers

Create a Task

Separate a recording with multiple speakers into one stem per speaker — even when speakers overlap. Use the outputs for transcription, speaker-specific editing, or feeding clean single-speaker audio into downstream AI models.

Code Examples

Python

import requests

API_KEY = "your_api_key"
HEADERS = {"Content-Type": "application/json", "x-api-key": API_KEY}

response = requests.post(
    "https://api.audioshake.ai/tasks",
    headers=HEADERS,
    json={
        "assetId": "your_asset_id",
        "targets": [
            {"model": "multi_voice", "formats": ["wav"]}
        ]
    }
)

task_id = response.json()["id"]
print(f"Task created: {task_id}")

JavaScript

const API_KEY = "your_api_key";
const headers = { "Content-Type": "application/json", "x-api-key": API_KEY };

const createRes = await fetch("https://api.audioshake.ai/tasks", {
  method: "POST",
  headers,
  body: JSON.stringify({
    assetId: "your_asset_id",
    targets: [
      { model: "multi_voice", formats: ["wav"] }
    ]
  })
});

const { id: taskId } = await createRes.json();
console.log(`Task created: ${taskId}`);

cURL

curl -X POST "https://api.audioshake.ai/tasks" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $AUDIOSHAKE_API_KEY" \
  -d '{
    "assetId": "your_asset_id",
    "targets": [
      { "model": "multi_voice", "formats": ["wav"] }
    ]
  }'

Check Task status to monitor progress and download results, or use webhooks to be notified when each target completes. The model outputs one audio file per detected speaker. Even when speakers overlap, each stem contains only the isolated voice of a single speaker.

Use cases


Speech Recovery \ \ Denoise and de-reverb individual speaker stems after separation.

Dialogue Separation \ \ Separate all speech from music and effects instead.