ElevenLabs - Audio Isolation
Strip the background noise out of any audio in your graph
- audio
- audio
Every audio pipeline in this pack quietly assumes the input is clean. Voice cloning wants a clean reference. Speech to Speech wants a clean source. Speech to Text is noticeably worse when a fan is humming under the words. This node is the pre-flight check: feed it any AUDIO, it calls ElevenLabs' /v1/audio-isolation endpoint, and returns the same audio with the background noise pulled out - traffic, wind, hum, room tone, you name it.
Interface is deliberately small. Required: api_key and audio. Optional: output_format (the same 26-option menu as the rest of the pack, mp3/wav/pcm, with the Creator-tier caveat on the high-bitrate and opus variants). One output: audio.
That's the whole node. It's a cleanup stage, and it earns its place by sitting in front of the nodes that care.
How it fits a workflow
The highest-value spot is upstream of voice cloning. Clones learn whatever is in the reference audio - if the sample has room tone, the clone carries room tone into every generation. Run the reference through AudioIsolation first and the clone is clean from birth. Same story in front of AIS_EL_STS: you're asking a model to re-voice your audio, and it will faithfully re-voice the background noise too. There's a remove_background_noise toggle on both STS and VoiceClone, but for a heavily contaminated recording a full isolation pass is the stronger move.
It's also the fix for field recordings you can't re-take. One take of narration on a windy street, one isolation pass, and it's usable - not perfect, but a massive improvement over raw.
Installing it
Part of the ComfyUI API Toolkit pack. Manager: search "API Toolkit". Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
cd ComfyUI-API-Toolkit
pip install -r requirements.txt
Restart. Needs requests and soundfile.
Gotchas
- It's a hosted model, so your audio leaves the machine and the call is metered. Fine for one-off cleanups, annoying for bulk cleaning a whole podcast archive - that's a job for a local tool.
- Isolation can flatten the audio slightly. It's trading ambience for clarity, which is the right trade for cloning and transcription and the wrong one if you actually want the room sound preserved.
- The pack's API nodes re-run on every queue (IS_CHANGED), so if you leave isolation between a loader and a TTS node, each queue re-processes the whole file. Route it carefully or cache the cleaned result to a save node.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| audio | AUDIO | — | |
| output_formatopt | COMBO | mp3_44100_128 | Audio output format. mp3_44100_192 and opus require Creator tier+. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |