Nodes/MiniMax H3 Prompt Enhancer/MiniMax H3 Unload GGUF Prompt Model
ComfyUI Node

MiniMax H3 Unload GGUF Prompt Model

The manual eject button for a stuck llama-server

By hyukudan·Created about a month ago·Updated 16 days ago· 15
MiniMax H3 Unload GGUF Prompt Model
    • unloaded
    • status
    unloadtrue

    This is the smallest node in the pack and the one you'll want exactly once: it stops the persistent GGUF prompt-enhancer server and releases its RAM and VRAM. That's the whole job. One boolean input, one status string, done.

    Why it exists

    The MiniMaxH3GGUFPromptEnhancer node normally runs its llama-server as a one-shot: spawn, enhance, terminate, VRAM freed - 100% back before H3 sampling starts. That's the default and it needs no help. But the node has a keep_server_loaded option for people re-running constantly who'd rather not pay the startup cost on every queue. Flip that on and the server stays resident between generations - which is exactly when you want an eject button. You're done generating, or you need that VRAM back for a diffusion render, and the server is just sitting there holding it. The Unload node is that release.

    Technically you could kill the process yourself, but the pack also wires unload_cached_server to atexit, and the source is careful about hard-crash scenarios where a leftover llama-server was found holding VRAM for hours. The node is the in-graph, on-demand version of that cleanup - it goes through the same code path, so it actually forgets the cached server rather than leaving a zombie to be rediscovered.

    Inputs and outputs

    • unload (boolean, default true) - fire it (set it true and run) and the node stops the persistent server. Leave it false and it's a no-op that reports nothing was loaded.
    • unloaded (boolean) - true if a server was actually stopped, false if there was nothing to unload.
    • status (string) - a human-readable confirmation: "Persistent GGUF server unloaded." vs "No persistent GGUF server was loaded."

    It's an output node, so the status shows up in the UI. The IS_CHANGED override always returns a new value, meaning it re-executes every queue - which is the right behavior for a trigger you pull deliberately.

    Install

    Same pack as everything here:

    cd ComfyUI/custom_nodes
    git clone https://github.com/hyukudan/ComfyUI-MiniMax-H3-Prompt-Enhancer.git
    

    Restart ComfyUI. No dependencies.

    The honest take

    If you never touch keep_server_loaded, you never need this node - the default lifecycle already reclaims VRAM after every invocation. Reach for it only when you've opted into the persistent server and you want control back without restarting ComfyUI. That's a narrow job, and it does it cleanly: flip the boolean, run it, and watch the status string tell you the truth about whether your VRAM is actually free again.

    CategoryMiniMax H3/Prompting

    Inputs (1)

    NameTypeDefaultDescription
    unloadBOOLEANtrue

    Outputs (2)

    NameTypeDescription
    unloadedBOOLEAN
    statusSTRING