Checkpoint VAE Loader Resident
Just the VAE out of a checkpoint, held resident
- VAE
Checkpoint VAE Loader Resident is the "I just need the VAE" node. Give it a checkpoint and you get back a single VAE - no UNet, no text encoder, no full checkpoint materialization. If an equivalent VAE object is already alive in memory, it reuses that instead of rebuilding it.
The VAE is the easiest component to overlook because it's small next to a diffusion model, but it's also the one you most often want separately. Common reasons: you're using a specialized VAE (a better latent decoder, or one tuned for a specific model) alongside a checkpoint that bundles a mediocre one, or you're doing img2img / VAE encode-decode passes where you want the same VAE resident while you switch models around it. The stock ComfyUI loader forces you to take the checkpoint's own VAE; this node lets you pick a checkpoint purely for its VAE and stage it independently.
Interface is tiny:
ckpt_name- the checkpoint file.- Optional
policy_override- a residency policy string; connect Set Global Residency Policy here.
One output, VAE, which feeds your VAE Encode / VAE Decode (or Latent) nodes.
The "reuse live equivalent" behavior is the point here more than speed. Because the pack tracks loads in its residency registry, loading the same VAE twice - or switching checkpoints that share a VAE - can hand you back the live object instead of re-reading from disk. Combined with the sticky_gpu policy (automatic when ComfyUI starts with --highvram or --gpu_only), the VAE stays pinned on the GPU side, which the pack's patched VAE.encode/VAE.decode path is specifically built to preserve: under sticky residency it caps the working batch when needed and falls back to tiled encode/decode rather than blowing your VRAM headroom.
Usual pack caveats: the selective fast path is a .safetensors thing, pickle checkpoints are CPU-first, and this node inherits the pack's startup monkey patches whether you use the residency controls or not. Also worth saying plainly: the VAE is usually a few hundred MB, so if your only goal is saving VRAM, this isn't where the big win is - the resident loaders earn their keep on multi-gigabyte UNets. This node is about staging and reuse, not raw memory savings.
Install:
cd ComfyUI/custom_nodes
git clone https://github.com/xmarre/ComfyUI-GPU-Resident-Loader
cd ComfyUI-GPU-Resident-Loader
pip install -r requirements.txt
Restart ComfyUI, or find "comfyui-gpu-resident-loader" in ComfyUI Manager.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | Checkpoint file to load. | |
| policy_overrideopt | STRING | Optional residency policy override. Connect Set Global Residency Policy here. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VAE | VAE | — |