Confucius4 Unload Q8
The 'give me my VRAM back' node
- model
- status
Short one, and it earns its place. Transcription is often a step in front of generation - you turn a voiceover or a reference clip into text, then that text feeds an image or video prompt. Which means the speech model is squatting on VRAM right when you want it for the thing that matters. This node drops the Q8 model so the memory goes back.
The inputs and outputs
One input: model, from Confucius4 Q8 Loader. One output: status, a JSON string reporting whether the model is still loaded and which worker generation you're on. It's an output node, so it fires on every queue without needing anything chained after it.
What it actually does
It asks the isolated worker to release the decoder and projector. Two details from the code are worth knowing, because they explain behaviour you'd otherwise read as a bug:
- The worker process stays alive. Only the weights and the engine are dropped. That's deliberate - killing the process would mean paying Python startup again next time you transcribe.
- A live session blocks it. If a Live Microphone session still holds its model lease, unload returns a busy error rather than yanking the model out from under a running capture. Stop and finalize the session, then run the graph. Likewise, transcribe and unload are serialized inside the worker, so an unload can't cut in mid-decode - it waits its turn.
You don't need to re-run the Loader afterwards. Next time Transcribe runs it reloads the pinned pair itself using the config on the loader node, so unload is cheap to overuse.
Where to put it in a graph
At the end of the transcription branch, after Confucius4 Save Transcript. Since its only input is the model handle, it doesn't need the transcript to exist - but the worker serializes the two jobs anyway, so you won't see it preempting a decode. If you're batching a dozen clips through one queue, leave it out and call it once at the end; paying a reload per clip is the one way this node makes things slower.
Install
Same pack and same Windows/NVIDIA worker setup as everything else: ComfyUI Manager → Confucius4-R2T2 Q8 ASR, then scripts/setup_worker_windows.ps1 in PowerShell from the node directory. There are no model files specific to this node - it only releases what the Loader loaded.
Honest sizing, and where people get burned
The Q8 pair is about 2.19 GB on disk; with the CUDA context and cache, unloading isn't going to hand you back a 12 GB video model's worth of memory. It's a few GB, and a few GB is the difference between fitting and not fitting more often than people expect.
The gotcha is ComfyUI's own VRAM management: it doesn't know about this model at all. The pack's inference runs in a separate process that ComfyUI's model list never sees, so the "free model" button and the usual unload-on-OOM behaviour won't touch it. This node is the lever (comfyui-ecosystem.md covers how the node ecosystem keeps accumulating dependencies your installer isn't tracking).
If you get a busy error, a live microphone session is still open. Stop it, then run.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | R2T2_MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |