Checkpoint · ComfyUI Emotional Gallery
Load Checkpoint that notices you swapped the file
- MODEL
- CLIP
- VAE
EGCheckpointLoader looks exactly like ComfyUI's stock Load Checkpoint: one dropdown of checkpoint filenames, three outputs - MODEL, CLIP, VAE. If you saw the two side by side you wouldn't spot the difference.
There is one, and it's in the caching.
What it actually changes
The class is a subclass of CheckpointLoaderSimple with the loading code untouched. The only thing overridden is IS_CHANGED, which returns a fingerprint of the file instead of the filename:
{"path": ".../sd_xl_base_1.0.safetensors", "size": 6930040448,
"mtime_ns": 1733..., "ctime_ns": 1733...}
The source comment spells out why: a replacement at the same filename must invalidate its previews.
This is a real, boring, frequently-reported annoyance. ComfyUI caches node execution keyed on the input values - for a loader, that value is the string in the dropdown. Download a new build of your favourite Illustrious merge, drop it over the old file with the same name, hit queue, and the engine looks at ckpt_name, sees it hasn't changed, and reuses everything downstream. You get an old-looking image and no error. Users end up renaming files to -v2, -v2-FINAL, -v2-fixed purely to force a reload.
The file-identity hash kills that. Swap the bytes and the node re-runs.
Why it's here
The gallery keys every cached expression preview to an identity built from the model files - resolved path, size, mtime, ctime - plus prompts, strengths, seed and sampling settings, then hashes it into a 32-character set id. A new checkpoint at the same path is therefore a new set, not a mutation of the old one. That contract only holds if the loader re-executes when the file changes, hence this node.
The gallery uses it for every checkpoint-based model profile: Illustrious / NoobAI, Pony, SDXL and SD 1.5. Flux, Qwen Image, Z-Image and Anima are split-file architectures and use the separate diffusion/encoder/VAE loaders instead.
Inputs and outputs
- ckpt_name - a file from
ComfyUI/models/checkpoints. Your.safetensorsand.ckptfiles show up here; nothing else does. - MODEL - what the sampler denoises with.
- CLIP - the text encoder bundled in the checkpoint, feeding your
CLIPTextEncode. - VAE - the bundled decoder, feeding
VAEDecode.
That's the complete surface. No weight_dtype, no force-reload toggle, no bypass switch. If you need dtype control you're in the wrong node - the gallery's split profiles use EGDiffusionLoader for that.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/nikminer/ComfyUI-Emotional-Gallery.git comfyui_emotional_gallery
Restart ComfyUI, Ctrl+F5. No dependencies to install and no models downloaded - the pack runs on what you already have. It's in ComfyUI Manager as "ComfyUI Emotional Gallery" too.
Note the category: this node is filed under Emotional Gallery/internal and the pack's frontend hides it from the Add Node menu and search along with the other eight. It remains registered, so workflows containing it load and execute; you just can't browse to it. That's by design - the gallery is the interface, and these loaders exist so the generated graphs behave consistently.
Common issues
The dropdown is empty. No files in ComfyUI/models/checkpoints, or you're pointing at a portable install with a different base path. Fix the files first, then restart.
You added a checkpoint and it doesn't appear. ComfyUI lists the folder at startup; a restart (or the gallery's "Refresh models and LoRAs") picks up new files.
It behaves nothing like Load Checkpoint for me. It should be identical on the loading side. The difference only shows when a file is replaced in place: this one re-runs, stock doesn't. If you're seeing a genuine load failure, it's the checkpoint, not the node - check that the file isn't a truncated download.
Model loaded but images look wrong for the checkpoint. The three outputs are separate; the gallery wires the checkpoint's VAE into VAEDecode, but a hand-built graph that attaches a different VAE will drift in colour and detail. Use the one baked into the checkpoint unless you have a reason not to.
A missing-node error on an old workflow. If ComfyUI won't load the pack at all, it's usually an out-of-date ComfyUI rather than a missing file - see the triple-encoder node's article for why this pack touches comfy_extras at import time.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | The name of the checkpoint (model) to load. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | The model used for denoising latents. |
| CLIP | CLIP | The CLIP model used for encoding text prompts. |
| VAE | VAE | The VAE model used for encoding and decoding images to and from latent space. |