MIT licensed·9 ops

Drop a node. Split any audio.

Add stem splitting to any n8n workflow in under five minutes — no glue code, no servers, on n8n Cloud or self-host. The maintained community node ships async operations (Submit Split, Wait for Split, plus a dedicated AI Stem Splitter Trigger for webhook receivers) so long-running jobs never time out the execution.

/ what you can build

Three workflows the node already supports end to end

Auto-stem Dropbox uploads

Watch a Dropbox folder for new tracks. Each upload runs Submit Split, waits on completion, and writes the four-stem set back to a per-track subfolder in Drive or Dropbox.

Daily karaoke playlist (YouTube cron)

A Schedule (cron) trigger pulls the day's YouTube uploads from a channel, sends each track through Submit Split with the vocals stem suppressed, and pushes the karaoke version into a public playlist or CDN bucket.

Slack stem bot

A Slack slash command posts an audio link. The AI Stem Splitter Trigger node receives the completion webhook and replies in-thread with download links for each stem.

/ install

Install on n8n Cloud or self-host

Self-hosted (npm)

Run npm install n8n-nodes-aistemsplitter from your custom-nodes directory, then restart n8n. Works on Docker, npm, and desktop self-host installs. MIT licensed.

txt
# 1. Install the package
npm install n8n-nodes-aistemsplitter

# 2. Restart your n8n instance
n8n start

# 3. The "AI Stem Splitter" node appears in your nodes panel.
n8n Cloud (Settings → Community Nodes)

Open Settings → Community Nodes, click Install, paste n8n-nodes-aistemsplitter, and confirm. Available on Cloud tenants where community nodes are enabled.

txt
# In n8n Cloud:
# 1. Settings → Community Nodes → Install
# 2. npm Package Name: n8n-nodes-aistemsplitter
# 3. Tick "I understand the risks", click Install
# 4. Refresh the workflow editor — node now in the panel
/ your first workflow

Your first workflow in 5 steps

01

Add a trigger

Pick the trigger that matches your workflow: Webhook for on-demand splits, Schedule for cron jobs, Google Drive or Dropbox for upload-driven runs, or Slack for chat-driven splits. The trigger feeds an audio URL into step 3.

Screenshot — Trigger picker (Webhook / Schedule / Drive / Slack)
02

Create the credential

Open Credentials → New, search for AI Stem Splitter API, paste your ast_live_ key, and save. The node verifies the key against the API and shows ✓ Connected. Same credential is reused by every AI Stem Splitter node in this instance.

AI Stem Splitter credentialsConnected
API Key
ast_live_••••••••••••••••••••
Base URL
https://api.aistemsplitter.org (default)
03

Add the AI Stem Splitter node

Drop the AI Stem Splitter node onto the canvas, choose operation Submit Split, and fill the three fields: audioUrl (from the trigger), model (default htdemucs_ft, four stems — switch to a six-stem model when you need guitar or piano), and stems (chip-pick the stems to return).

AI Stem Splitter — Submit Split
Resource
Split
Operation
Submit
Audio URL
{{ $json.audioUrl }}
Model
htdemucs_ft
Stems
vocalsdrumsbassguitarpianoother
04

Wait for completion

Stem splitting takes 30 seconds to a few minutes per file. Pick one of two patterns: the Wait for Split operation pauses this execution until the job finishes, or the dedicated AI Stem Splitter Trigger node receives the completion webhook in a separate workflow — better for high-volume queues that should not block the main run.

Screenshot — Wait for Split node OR AI Stem Splitter Trigger
05

Use the stems

The output is an array of stem URLs (vocals, drums, bass, other; plus guitar and piano when requested). Wire the URLs into your downstream nodes — Whisper for vocal-only transcription, Drive or S3 for storage, Slack for a chat reply, a Notion row for a stem library entry.

Screenshot — six stem URLs flowing into Drive / Slack / ffmpeg
/ templates & further reading

Templates and further reading

/ frequently asked

FAQ

  • Does the n8n node work on n8n Cloud or only self-host?

    Both. On self-host, run `npm install n8n-nodes-aistemsplitter` from your custom-nodes directory and restart n8n. On n8n Cloud, open Settings → Community Nodes, paste n8n-nodes-aistemsplitter, and confirm — community-node install is supported on all current Cloud plans (legacy tenants may need to enable community nodes in workspace settings first).

  • How does the workflow handle long-running jobs without timing out?

    Two patterns. The Wait for Split operation pauses the current workflow until the job finishes (good for low-volume queues). The dedicated AI Stem Splitter Trigger node receives the completion webhook in a separate workflow (better for high volume — main workflow returns immediately, downstream actions fire when stems are ready). Stem separation typically takes 30 seconds to a few minutes per file.

  • Does the trigger node work behind a firewall or behind a VPN?

    The Trigger node needs an inbound webhook URL the API can POST to. On n8n Cloud, the trigger URL is automatically public. On self-host behind a firewall, use n8n's built-in tunnel (n8n start --tunnel) for testing, or expose the webhook via a reverse proxy / Cloudflare Tunnel for production. If inbound webhooks aren't possible at all, fall back to the Wait for Split operation (polling, no inbound).

  • Can I export and share a workflow that uses this node?

    Yes. Use n8n's standard Workflow → Download to export the workflow as JSON. Credentials are referenced by ID, not embedded — recipients re-create the AI Stem Splitter API credential with their own ast_live_ key when they import. The same workflow JSON works across self-host and Cloud as long as the recipient also installs n8n-nodes-aistemsplitter.

  • Will the node break when n8n core upgrades?

    Community nodes pin against n8n's stable interfaces. We test against each new minor n8n release and publish a matching version of n8n-nodes-aistemsplitter to npm within a few days when needed. Pin a specific node version in your custom-nodes package.json if you want zero surprise; the GitHub repo's release notes call out any breaking change explicitly.

  • How is per-job cost calculated when the workflow runs on every upload?

    Per minute of input audio against credit packs that never expire — $0.08–$0.14 per minute depending on pack size. A 4-minute song is ~$0.32–$0.56; a 60-minute podcast is ~$4.80–$8.40. The first 3 minutes are free with no card required. There's no per-call surcharge, no concurrency tier gate, and no monthly subscription — only audio you actually process.

Ship the stem step before EOD.

Free 3 minutes to start (no card). Credit packs that never expire — $0.08–$0.14 per minute depending on volume. MIT licensed node, on n8n Cloud or self-host.