MiniMaxRef Pure VRAM
A big red button that unloads every model when H3 starts eating your card
- anything
- anything
MiniMax H3 is not a small model. At 33B with a reported ~42.5 GB of full-precision weights, it eats VRAM in a way that makes long multi-segment batches feel like a memory leak even when nothing is wrong - every loaded checkpoint, VAE, and local LLM is a chunk of your card you can't use for the next segment. MiniMaxRefPureVRAM is the deliberately dumb tool for that: you wire it into the end of your graph (or anywhere a trigger flows), it nukes the models and GPU cache, and passes your input straight through so the graph doesn't break.
Three inputs, none of them clever. anything is an any-type input used purely as a trigger - the moment this node executes, it does its thing. purge_vram (default on) empties the GPU cache; purge_models (default on) unloads all loaded models. Both default to true, so the out-of-box behavior is the full reset. There's a single anything output that echoes your input through, which is the author's way of letting you drop it into an existing chain without adding a dangling node - though honestly, for a node this side-effect-heavy, hanging it off the end of the workflow and letting it fire last is the cleaner pattern.
The description is refreshingly honest about its purpose: "Purge all models and GPU memory, for testing VRAM usage." It's the same idea as ComfyUI's built-in Free/Unload-to-RAM nodes, but with a couple of pack-specific touches: it also unloads any llama-cpp VLM models the pack loaded (so your GGUF prompt-writer doesn't hold the card hostage), and it forces itself to run on every loop iteration rather than being cached out. That last bit matters - put it inside a loop and you get a clean slate per segment, which is a legit strategy for H3 batches where the previous segment's conditioning bloat can slowly eat your runway.
The honest take: it's a utility node, not a workflow feature, and its best use is diagnostic. Stuck on a long batch where the second half of the timeline suddenly OOMs? Insert a PureVRAM between segments and see if the failure moves. Testing whether your card can hold the base checkpoint plus the video VAE plus a GGUF at once? Purge between runs so each measurement starts clean. The node's own framing - "for testing VRAM usage" - is the right expectation to set.
Install it with the rest of the pack: ComfyUI Manager (search "MiniMaxRefDirector-ComfyUI") or
cd ComfyUI/custom_nodes
git clone https://github.com/eaglering/MiniMaxRefDirector-ComfyUI
cd MiniMaxRefDirector-ComfyUI
pip install -r requirements.txt
then restart. Nothing extra is required beyond PyAV, which the pack installs anyway. One real-world caveat: "unload all models" also means whatever you were mid-use - if you place it in a spot where a later node still expects a loaded model, the purge happens first and the load happens again, which is just wasted time, not breakage. And a reminder that the underlying model you're clearing space for has a licence that geofences local weights out of the US, EU, UK, and Korea - check before you build a workflow around the local H3 path at all.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| anything | * | Any input to trigger the purge. | |
| purge_vram | BOOLEAN | true | Whether to purge GPU memory. |
| purge_models | BOOLEAN | true | Whether to purge all models. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| anything | * | Any output to trigger the purge. |