vocal-separate
Separates vocals from music with the same models and the same GPU endpoint as the site's /stem-splitter, and returns two files: `vocals` and `instrumental` (or one of them). Use it to lift a voice out of a voice note recorded over music, or to make a backing track. Priced exactly like the site's splitter. Stage the input with POST /v1/uploads first. ASYNCHRONOUS: returns 202 with a run id; a cold GPU can take several minutes to start — poll GET /v1/runs/{id} or register a webhook.
v1 beta server · 1875 tokens
Price (server): 1250 + 625 tokens per started minute, at least 1875 per call; paid plans: −5%, rounded up. The exact figure for your file: POST /v1/tools/vocal-separate/estimate.
Call it
POST https://timbrica.com/v1/tools/vocal-separate/runs
Authorization: Bearer $TIMBRICA_KEY
Idempotency-Key: <your retry-safe key>
Content-Type: application/json
Input
| Field | Type | Required | Notes |
|---|---|---|---|
audio | object | yes | Staged input file, 2 s to 15 min. Upload it with POST /v1/uploads. |
stems | string | no |
Which files to return. The price is the same: one separation makes both.
one of: both, vocals, instrumental default: both |
format | string | no |
Output format (stereo, 44.1 kHz). mp3 = 256 kbps.
one of: wav, flac, mp3 default: wav |
Input file
Stage it with POST /v1/uploads (multipart `file`, or JSON {"url": "…"}), then pass {"file_id": "<id>"} in each listed input field.
file fields: audio
Errors it can return
validation_failed
too_long
insufficient_tokens
concurrency_limited
upstream_unavailable
History
- v1 — 2026-10-18 — Initial release (server lane, async, GPU).
This contract cannot change without a new version and a line above: a test compares the published schema, pricing and limits against a committed lockfile and fails the build otherwise. Subscribe to /v1/changelog to be told when something moves.