Nodes/MiniMaxRefDirector-ComfyUI/MiniMaxRef Pure VRAM
ComfyUI Node

MiniMaxRef Pure VRAM

A big red button that unloads every model when H3 starts eating your card

By eaglering·Created 19 days ago·Updated about 9 hours ago· 23
MiniMaxRef Pure VRAM
  • anything
  • anything
purge_vramtrue
purge_modelstrue

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.

Categoryminimaxrefdirector

Inputs (3)

NameTypeDefaultDescription
anything*Any input to trigger the purge.
purge_vramBOOLEANtrueWhether to purge GPU memory.
purge_modelsBOOLEANtrueWhether to purge all models.

Outputs (1)

NameTypeDescription
anything*Any output to trigger the purge.