Overview
AudioPod AI’s Stem Separation API uses state-of-the-art AI models to separate mixed audio recordings into individual components (stems). Extract vocals, drums, bass, guitar, piano, and more from any song.Key Features
- Granular Separation: Single, two, four, six, eight(producer), twelve(studio), sixteen(mastering)
- File Upload & URL Support: Process local files or YouTube/SoundCloud URLs
- Quality Scores: Get AI-assessed quality metrics for each stem
- Presigned Downloads: Direct S3 URLs for fast stem downloads
Installation
- Python
- Node.js
Authentication
Get your API key from the API Keys Dashboard.- Python
- Node.js
- cURL
Separation Modes
| Mode | Stems | Output | Use Case |
|---|---|---|---|
single | 1 | Specified stem only | Vocal isolation, drum extraction |
two | 2 | vocals + instrumental | Karaoke tracks |
four | 4 | vocals, drums, bass, other | Standard remixing |
six | 6 | + guitar, piano | Full instrument separation |
producer | 8 | + kick, snare, hihat | Beat production |
studio | 12 | + cymbals, sub_bass, synth | Professional mixing |
mastering | 16 | Maximum detail | Forensic analysis |
Quick Start
Six-Stem Separation
- Python
- Node.js
- cURL
Examples by Mode
Four-Stem Separation (Standard)
Extract vocals, drums, bass, and other.- Python (URL)
- Python (File)
- Node.js (URL)
- Node.js (File)
- cURL (URL)
- cURL (File)
Single Stem Extraction (Vocals Only)
- Python
- Node.js
- cURL
Two-Stem Separation (Karaoke)
Separate vocals from instrumental.- Python
- Node.js
- cURL
Producer Mode (8 Stems with Drum Kit)
- Python
- Node.js
- cURL
Advanced Usage
Async Job Handling
For more control, useextract() and wait_for_completion() separately:
- Python
- Node.js
Get Available Modes
- Python
- Node.js
- cURL
Check Job Status
- Python
- Node.js
- cURL
Response Format
Completed Job Response:Pricing
Rate: $0.10 per minute of audio processed (all modes)| Duration | Cost |
|---|---|
| 3 minutes | $0.31 |
| 5 minutes | $0.50 |
| 10 minutes | $1.00 |
| 1 hour | $6.00 |
Check your balance and usage at API Wallet.
Error Handling
- Python
- Node.js
Status Codes
| Status | Description |
|---|---|
PENDING | Job queued, waiting for worker |
PROCESSING | Stem separation in progress |
COMPLETED | Success - download URLs available |
FAILED | Error occurred - check error_message |
