calesthio/generative-media-skills/audioshake-stem-separation
Claude Code and agent skill by calesthio/generative-media-skills
- community
- ext:[{"type":"plugin","description":"Custom plugin integration"}]
Checking that the SKILL.md file is still in the repository.
Operate AudioShake's cloud source-separation service (developer.audioshake.ai) to split a recording into stems. Use when a task involves isolating vocals, drums, bass, guitar, piano, keys, strings, or winds from music; separating dialogue / music / effects (DME) for film-TV post-production, localization, and dubbing; splitting a mixed recording into one stem per speaker; lyric transcription or word-level alignment; music detection/identification; or speech denoise/dereverb. Covers the Tasks API…
Install
npx vskill@latest install calesthio/generative-media-skills/audioshake-stem-separationSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
AudioShake stem separation
AudioShake is a hosted audio source-separation service: it takes one mixed recording and returns isolated component tracks ("stems"). It does not generate, synthesize, mix, or master audio — it decomposes an existing mix. This skill covers driving its developer API, choosing the right separation targets for a production job, judging and repairing the resulting stems, the rights questions that separation raises, and when to reach for a local open model instead.
All API facts below were verified against developer.audioshake.ai on 2026-07-10. Endpoints, model names, credit rates, and limits are volatile — re-check the live models / billing / rate-limits reference pages and the OpenAPI spec (https://developer.audioshake.ai/api-reference/openapi.json) before relying on a specific number in production.
When this skill applies
Use it when the job is to pull apart a recording:
- Music stems — isolate vocals, drums, bass, guitar, piano, keys, strings, or winds for remixing, karaoke, sampling, sync, immersive/Atmos re-authoring, or practice/minus-one tracks.
- Dialogue / Music / Effects (DME) — split a film, TV, or podcast mix into clean dialogue, a music+effects bed, or an effects-only bed for localization, foreign-language dubbing, M&E (music-and-effects) deliverables, or archival restoration where the original stems are lost.
- Multi-speaker — separate an interview, panel, meeting, or overlapping-dialogue recording into one stem per speaker.
- Lyric transcription / alignment — line-level lyric transcripts or word-level karaoke timing.
- Content analysis / cleanup — detect or identify music inside long-form content (rights clearance), or denoise/dereverb speech.
Do not use it to write, generate, or synthesize audio, to compose music, to mix or master, or to add effects. Those are generative or engineering tasks, not separation. If the user already has clean stems and wants them combined or processed, that is out of scope.
API model: the Tasks API
Base URL: https://api.audioshake.ai (verified 2026-07-10). Auth: every request carries the header x-api-key: <key>. Keys are created in the dashboard (dashboard.audioshake.ai). New accounts receive 10 free credits on signup (first-party claim, verified 2026-07-10).
Note: AudioShake replaced its older Jobs API (/job,/upload, per-requestcallbackUrl) with the Tasks API. The Tasks API is the current interface:POST /assetsinstead of/upload,POST /tasksinstead of/job,GET /tasks/{id}instead of/job/{id}, and webhooks registered once viaPOST /webhooksinstead of a per-job callback. If you find code using/job, it is on the legacy path.
Job lifecycle
- Provide the source audio. Either pass a public `url` (HTTPS) directly, or upload a local file with
POST /assetsand pass the returned `assetId`.urlandassetIdare mutually exclusive per task. - Create a task with
POST /tasks, listing one or more targets. Each target is{ "model": "<name>", "formats": ["<fmt>", ...] }. A single task takes 1–20 unique targets and runs them together — this is both cheaper in round-trips and the recommended way to avoid rate limits. - Wait for completion by either polling
GET /tasks/{id}or registering a webhook. Each target moves throughprocessing→completed|error. - Download outputs from the
outputarray. Download URLs are presigned and expire ~1 hour after the task completes — fetch and store them promptly, or write directly to your own bucket (seewriteDestination).
Request body reference (verified 2026-07-10)
| Field | Type | Notes | |
|---|---|---|---|
url or assetId | string | Source media. Exactly one. | |
targets | array (1–20, unique) | Each item: model (2–255 chars) + formats array. | |
formats | array | Per target. wav / mp3 / flac / aiff for audio, mp4 for video, json / srt / txt for transcription & detection. Availability varies by model. | |
residual | boolean | Return everything except the target stem (the complement). Useful for "remove X" jobs and for catching energy a target misses. | |
language | string (ISO 639-1) | For transcription/alignment; auto-detected if omitted. | |
transcriptAssetId or transcriptUrl | string | Required only by the alignment model — the known transcript to align. | |
writeDestination | string | S3 URI prefix to write outputs to your own bucket instead of the expiring presigned URLs. | |
metadata | string (≤4096 chars) | Opaque client metadata echoed back. |
Response fields
id, createdAt, completedAt (or null), cost (credits actually charged), targets[] (each with status, output files, and error), a top-level output[] of downloadable files, and error (code + message, null on success).
Limits and formats (verified 2026-07-10)
- Rate limit: ~60 requests/second. On
429, back off exponentially, and prefer batching many targets into one task and using webhooks over tight polling. - Input audio: WAV, AIFF, FLAC, MP3, AAC (up to 192 kHz; 16/24-bit WAV recommended).
- Input video: MP4, MOV (AAC or PCM audio; the video track is ignored — audio is extracted).
- Output: WAV, MP3, FLAC, AIFF; MP4 (separated audio in the original container); JSON/SRT/TXT for text.
- Not supported: DRM/encrypted content, and multi-channel/surround formats (e.g. 5.1) — downmix to stereo first if needed.
- Duration caps by model:
multi_voice≤ 1.5 hours;transcriptionandalignment≤ 45 minutes. Other separation models have no documented cap but cost scales with length.
The model catalog
Credits are charged per minute of source audio, per target model, rounded up to the next whole minute (verified 2026-07-10). So a 3:10 song billed for two targets is charged as 4 min × 2 targets. Rates below are the documented per-minute costs.
Music / instrument stems — 1.0 credit/min each
vocals (all sung voice, lead + backing) · vocals_lead (lead only) · vocals_backing (harmonies, ad-libs, choir) · instrumental (full mix minus vocals) · drums · bass · guitar (all guitar) · guitar_electric · guitar_acoustic · piano (acoustic piano) · keys (keyboard family, incl. electric/digital pianos) · strings · wind (woodwind + brass) · other (everything except vocals/drums/bass) · other-x-guitar (everything except vocals/drums/bass/guitar).
Post-production DME — 1.5 credits/min each
dialogue (clean speech stem) · effects (ambience + SFX bed, dialogue and music removed) · music_fx (music + effects, dialogue removed).
Speech models
multi_voice (10.0 credits/min, ≤ 1.5 h) — one stem per detected speaker, keeping each speaker isolated even through overlap. speech_denoise (1.5/min) — remove background noise, hum, interference. speech_dereverb (2.0/min) — remove room reverb/echo for a drier, closer sound.
Copyright-compliance / analysis
music_detection (0.5/min) — return time ranges where music is present. music_identification — identify music and return track metadata. music_removal — keep speech + effects, remove background music.
Lyric transcription — 1.0 credit/min each (≤ 45 min)
transcription — line-level timestamped lyric transcript (JSON; convertible to SRT/VTT). alignment — precise word-level and line-level timestamps; requires a supplied transcript (transcriptUrl/transcriptAssetId).
Choosing targets for a production job
The single most common mistake is requesting the wrong granularity — either paying for stems nobody will use, or requesting a coarse stem when the job needs a fine one. Match targets to the deliverable:
- Karaoke / instrumental backing:
vocals+instrumentalcovers it. If you also need on-screen timed lyrics, addtranscription(oralignmentif you already have accurate lyrics and only need timing). Requestingdrums/bass/etc. as well wastes credits unless the product actually plays them separately. - Remix / production stems: request the specific instruments the remixer will touch (
vocals_lead,drums,bass,guitar,keys…). Useother/other-x-guitarto sweep up the remaining energy so the sum reconstructs the mix — otherwise instruments you didn't request vanish. - "Remove one instrument" (minus-one / practice track): request that instrument with
residual: trueto get the complement in one target, rather than requesting all the other stems and re-summing. - Localization / dubbing (M&E): request
dialogue(translation reference) +music_fx(the bed to layer the new voiceover onto). Addeffectsseparately only if the workflow needs music and effects independently (e.g. remixing the music but keeping SFX). - Interview / podcast cleanup: if speakers overlap and you need them apart,
multi_voice. If speech is buried in noise or a boomy room, chainspeech_denoiseand/orspeech_dereverbfirst, then separate. - Rights clearance on long-form content:
music_detectionto find where music appears, thenmusic_identificationon those ranges;music_removalif you must deliver a music-free version.
Prefer the finest stem the deliverable justifies, and always include a residual/other target when the stems must re-sum to the original.
Reviewing separated stems
Separation is never perfect. The following are production heuristics for judging output, not documented guarantees.
Listen to each stem soloed, and also summed back together, checking for:
- Bleed / crosstalk — traces of another source leaking into a stem (a snare ghost in the "vocals" track, vocal breath in "drums"). Most audible on soloed stems and in quiet passages.
- Musical-noise / "watery" artifacts — the burbling, underwater texture from spectral holes, worst on
vocalsand busyotherstems, and on heavily-compressed source (MP3 at low bitrate). - Transient smearing / pre-echo — softened or ghosted drum hits and pluck attacks; check
drums,bass, and pluckedguitar. - Phase / nulling problems — sum the stems and null-test against the original: a good multi-target set reconstructs the mix closely. Large residual energy means a source went missing (you didn't request an
other/residual target) or a stem is phase-rotated. - Missing energy — sustained pads, reverb tails, and room tone often collapse into
other; if you didn't request it they are simply gone.
Repair strategies
- Feed a cleaner source. Separation quality tracks input quality directly — a 24-bit WAV master separates far better than a 128 kbps MP3. Never up-transcode a lossy file and expect it to help.
- Cover the residual. If summed stems don't reconstruct the mix, add an
other/other-x-guitartarget or useresidual: trueso no energy is silently dropped. - Split then clean, in the right order. For speech, run
speech_denoise/speech_dereverbbeforemulti_voicewhen the recording is degraded; for music stems, separate first, then repair the isolated stem with a dedicated tool (e.g. iZotope RX spectral repair) rather than the source. - Use finer targets to reduce bleed.
vocals_lead+vocals_backingoften leaves less bleed than a singlevocalswhen only the lead is needed. - Re-derive DME by subtraction. If
dialogueis clean buteffectshas bleed, deriving effects asresidualof dialogue+music can beat the directeffectsmodel on some material — A/B them. - Escalate to manual finishing. Persistent artifacts are a mix/restoration problem: hand the stem to a spectral editor rather than re-running the API repeatedly.
Rights, consent, and privacy
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/providers/source-separation/audioshake-stem-separation/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Extension points
pluginCustom plugin integration
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/calesthio/generative-media-skills/audioshake-stem-separation)