Cached Checkpoint
Stop Re-Loading the Same Model Every Run
- MODEL
- Model name
- CLIP
- VAE
Every ComfyUI user has watched the same small agony: you bump a slider, queue a run, and ComfyUI spends twenty seconds grinding through the checkpoint load before a single image appears. Load checkpoint from disk is expensive - a multi-gigabyte model read, parsed, and moved to the GPU - and in a batch or iteration workflow you can do it dozens of times in a row with the same model.
Cached Checkpoint is the pack's answer: it behaves like the stock Load Checkpoint but keeps the loaded model on the node instance, and if you ask it for the same checkpoint again, it hands back the cached copy instead of touching the disk. In a workflow that cycles through models, that turns repeated reloads into near-instant pass-throughs.
How it works
The node loads via the same comfy.sd.load_checkpoint_guess_config call the built-in loader uses, then remembers the checkpoint path it loaded. On the next execution it compares the requested ckpt_name against what it already has - match, and it returns the cached (MODEL, name, CLIP, VAE) tuple; different name, and it loads the new one and caches that instead.
Two things to know about the cache:
- It's per node instance. Two separate Cached Checkpoint nodes don't share state, so each one caches independently.
- It holds the model resident. That's the trade for speed - the loaded checkpoint sits in memory until you switch to a different one, so if you're memory-starved, a graph full of these keeps more resident than ComfyUI's default loader would.
The extra Model name output is a string (the checkpoint's filename) that returns alongside the MODEL, CLIP and VAE - handy when you're batching multiple checkpoints and want to record which one a given output came from.
What you set
Just the one input:
- ckpt_name - the checkpoint to load, picked from your
checkpointsfolder. The author's own tooltip says it plainly: "The name of the checkpoint (model) to load."
Outputs: MODEL, Model name (string), CLIP, VAE - wire them exactly like you would a stock loader.
Where this shines is pairing with the pack's MultiModel samplers: they do their own internal caching, but if you're loading a base checkpoint for conditioning while the sampler iterates other models, Cached Checkpoint stops that base from being re-read on every queue run.
Install
Ships with comfyui-rapidfire, no extra Python deps, no model downloads - it loads whatever's in your models/checkpoints. Get the pack via ComfyUI Manager (search "comfyui-rapidfire") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Zeks/comfyui-rapidfire
then restart ComfyUI. If you're only generating single images, the stock loader is fine and this is overkill - this node pays for itself the moment your workflow starts loading the same model twice.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | The name of the checkpoint (model) to load. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| Model name | * | — |
| CLIP | CLIP | — |
| VAE | VAE | — |