Seedance 2.5 is live — 30-second cinematic video with native audio & real-person references

Multistem Splitter API

Split one song into selected stems. The multistem splitter API can return vocals, drums, bass, piano, guitars, and a no_multistem remainder.

Highlights
Up to 6 stems in one pass · 7 splitter engines
Best for
Remixes, practice tracks, sampling
Input
Audio file URL
Output
Isolated stems (mp3 / wav / flac …)
Input
0/1 file

MP3 / WAV / AAC / OGG

Example: ["vocals","drum","bass"]

Default auto

deep_extraction or clear_cut

Optional

mp3, wav, flac, aac, or ogg

Result

What you can build with this model

Real-world workflows and production use cases you can build and ship with this model.

song separated into vocals drums bass piano and guitar stems

Multistem splitter API for remix tools

Use the multistem splitter API to extract vocals, drums, bass, piano, and guitars for remix editors, loop libraries, musician practice apps, and creator workflows. Your app sends one source file and receives several labeled tracks. The multistem splitter API avoids separate calls for every stem. That keeps a song project easier to track when users need several parts at once. The multistem splitter API is a better fit than repeated single-stem jobs when the user expects a bundle.

Split stems
single audio task producing several stem tracks

Multistem splitter API for several outputs

Send one source track and choose the stems your product needs. The multistem splitter API returns the selected stem tracks plus a no_multistem remainder when the task succeeds. This gives editors both the isolated parts and the source with those parts removed. A practice app can mute the selected parts, while an editor can drag each output into its own lane. The multistem splitter API keeps those outputs under one task id for project history.

billing estimate tied to selected audio stems

Multistem splitter API with per-stem billing

Processing time and cost scale with selected stems. A one-minute song with vocals and drums selected counts as two stem minutes. See current per-stem-minute rate in the pricing table on this page. The multistem splitter API surfaces that rule in both pricing and docs.

Pricing

Credit-based — 1 credit = $0.001 USD. Pay only for completed generations.

First test cost
$0.2200 credits

One sample at the cheapest tier (1 stem minute).

Testing budget guide
Add credits
$10
≈ 50 tests
$50
≈ 250 tests
$100
≈ 500 tests
ModelCategoryPrice
Multistem splitPer selected stem
$0.2
200 credits · 1 stem minute

Why reAPI

Why this multistem splitter API uses stem_list

The multistem splitter API lets your product request multiple supported stems from one audio task. That is cleaner than asking users to run the same file over and over. It also keeps task history tied to one source track.

Labels for every returned file

Use output.tracks to map vocals, drum, bass, piano, electric_guitar, acoustic_guitar, and no_multistem labels to the right UI slots or storage paths. The multistem splitter API returns labels that are easier to handle than guessing from filenames, especially when several jobs finish at once. Keep that mapping in your database if users can reopen projects, rename exports, share bundles, compare versions, or download stems days later. This matters for teams with shared workspaces and exports.

Multistem splitter API stem-list guardrails

The playground validates stem_list before submission: 1 to 6 values, no unsupported stem names. The multistem splitter API docs show the same contract for backend calls. That prevents a common class of bad requests before they reach processing. Keep the same validation server-side so direct API callers get the same behavior.

Integrate the multistem splitter API in three steps

  1. step 01

    Create an API key

    Generate a reAPI key from workspace settings. Use it for backend calls to the audio generation endpoint.

    Open
  2. step 02

    Submit a multistem task

    POST model audio-multistem with a public audio_url and a stem_list array. Choose only the stems your product actually needs.

    Open
  3. step 03

    Poll and map labels

    GET /api/v1/tasks/:id until completed. Use output.audio_urls for downloads and output.tracks to map each selected stem and no_multistem.

    Open
docs/api/multistem-splitter

API reference

Drop-in code and the full parameter table.

curl https://reapi.ai/api/v1/audio/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"audio-multistem","audio_url":"https://cdn.example.com/song.wav","stem_list":["vocals","drum","bass"],"encoder_format":"mp3"}'

Parameter validation failed

Rejected synchronously with the failing field named. Check enum values, ranges, and URL fields — nothing is charged.

Authentication or balance issue

401 means a missing or invalid Bearer key; 402 means the reserve exceeds your balance. Manage keys and credits in the console.

Content or material rejected

Reference material and outputs pass automated moderation. Rejected tasks fail with a clear error and a full refund.

Task failed or timed out

A task that reaches a failed state is never charged — the reserve refunds automatically. Keep the task id and retry when ready.

Frequently asked questions

Common questions about this model.

The multistem splitter API is an async audio stem splitter for extracting several selected stems from one source file. Send audio_url plus stem_list, then poll for labeled outputs when the task is complete. Use the multistem splitter API when one file needs multiple separated parts.

start building

Ready to ship?

Try it in the playground or grab an API key to integrate now.