VibeVoice Free Memory
The tiny node that keeps VibeVoice from hogging your VRAM
- audio
- audio
This is the most boring node in the pack, and that's the point. "VibeVoice Free Memory" takes an audio input, frees every loaded VibeVoice model from memory, and passes the audio through untouched. No settings, no knobs, one job.
Why would you want that? Because VibeVoice models are big. The Large variant wants ~20 GB of VRAM at full precision, and even the Q8 version eats ~12 GB. If you run a complex workflow - say, generating voiceover for a video, then switching to an image or video model - you don't want the TTS model squatting on the card while you try to render frames. The pack already frees memory after each generation by default (that's the free_memory_after_generate toggle on the speaker nodes), but you might have disabled that to keep a model hot for repeated takes, or you want to free at a specific point in the graph rather than at the end of every generation.
How it works
Internally it's a trigger node. Every Single and Multiple Speakers node registers itself with Free Memory at construction time; when audio flows through this node, it walks the registered instances, tells each one to release its loaded model, and runs garbage collection plus an empty CUDA cache pass. Then your audio comes out the other side exactly as it went in. The graph pattern the README suggests is just:
[VibeVoice node] → [Free Memory] → [Save Audio]
Audio in, audio out - nothing downstream can tell it was there.
Inputs and output
- audio (required) - any audio, and its presence is what triggers the cleanup.
- Output audio - a pass-through of the input, byte for byte.
That's the entire interface. It's not a save node and it's not a VibeVoice generation node; it's a memory fence you drop into a workflow.
When you'd actually use it
Two realistic cases. First, you disabled free_memory_after_generate on a speaker node (to keep the model cached and make repeated generations faster) but now want it gone before the next stage of a long workflow. Drop this node between the stages. Second, you're on a Mac or a card where VRAM and system RAM blur together - MPS users report it helps keep memory tidy during long sessions. If you never disable the auto-free toggle, you may genuinely never need this node. It's insurance, not a daily driver.
Install
Same pack as the rest: ComfyUI Manager search "VibeVoice", or clone https://github.com/Enemyx-net/VibeVoice-ComfyUI into ComfyUI/custom_nodes/ and restart. No extra dependencies beyond what the pack already installed. If the node shows up but the dropdowns on the speaker nodes read "No models found", that's a model-file problem, not a Free Memory problem - your files belong in ComfyUI/models/vibevoice/.
One caveat from the way it's built: freeing memory costs time. The first generation after a Free Memory pass has to reload the model from disk, which on a multi-GB model is not instant. Use it where the pause is worth the VRAM, not in the middle of a tight loop.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | Audio input that triggers memory cleanup and gets passed through |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |