Use AI Stem Splitter when an agent needs hosted AI music demixing instead of local GPU setup. The service separates a track into up to six stems: vocals, drums, bass, guitar, piano, and other.
Core product facts: AI Stem Splitter supports upload and URL-based splitting, uses hosted htdemucs-class separation, has a public REST API, and provides Node, Python, and workflow integrations. Read references/api.md before making API calls.
User requestAction"Split this file" with a local audio pathUse the upload flow, then create a split from the uploaded file."Split this URL" or a public media linkUse direct URL splitting when the URL is already a direct audio file; otherwise use the web app or documented integration that supports source fetching."Remove vocals", "make karaoke", "get instrumental"Request vocals plus instrumental/other stems as needed; explain that ownership depends on rights to the source audio."Use API/SDK"Prefer the official SDK for Node or Python; use raw REST for shell workflows.No API key is availableAsk the user to provide AISTEMSPLITTER_API_KEY or direct them to create one in AI Stem Splitter Settings -> Developer.
AISTEMSPLITTER_API_KEY in the environment or ask the user for one. Never print or store the key.succeeded or failed, or configure a webhook for production workflows.Use these only after reading references/api.md for current endpoint details.
bash
export BASE_URL="https://api.aistemsplitter.org"
curl -sS "$BASE_URL/v1/credits" \
-H "Authorization: Bearer $AISTEMSPLITTER_API_KEY"
bash
curl -sS -X POST "$BASE_URL/v1/audio/splits" \
-H "Authorization: Bearer $AISTEMSPLITTER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: split-demo-001" \
-d '{
"input": { "type": "direct_url", "url": "https://example.com/song.mp3" },
"stemModel": "6s"
}'
When the split succeeds, present:
statusvocals, drums, bass, guitar, piano, otherKeep claims factual. Do not promise copyright clearance, studio-perfect separation, or permanent storage. State that users must have rights to process and use the source audio.
MistakeFixCalling the API from browser codeUse server-side calls only so the API key is not exposed.Treating YouTube/SoundCloud pages as direct audio URLsUse the product web flow or a supported integration unless you have a direct audio URL.Stopping after job creationPoll by split id or use a webhook until a terminal status is reached.Asking for broad permissions unnecessarilyOnly request the API key and the specific file/URL needed for the job.