Load Checkpoint (Any)
The everyday all-in-one loader, now with a leash
- any
- MODEL
- CLIP
- VAE
This is the node almost everyone's first ComfyUI graph starts with: point it at one file, get back three outputs - the diffusion model, the text encoder, and the VAE - all pulled from the same checkpoint and guaranteed to match each other. CheckpointLoaderSimple_Any is the drop-in replacement from this pack, identical in every way except one extra optional input.
What it loads
ckpt_name is the only required input - "the name of the checkpoint (model) to load," per the node's own tooltip, picked from your models/checkpoints folder. Three outputs come back, each with its own job:
MODEL- the diffusion model used for denoising latents. Goes to your sampler.CLIP- the text encoder used for encoding prompts. Goes to your CLIPTextEncode nodes.VAE- the model used for encoding and decoding between pixels and latent space. Goes to your VAE Decode (and Encode, for img2img).
This node auto-detects the checkpoint's architecture from the file itself - no config file, no manual selection. That's worth knowing because the pack ships a second, older-style node, CheckpointLoader_Any, that requires an explicit config file instead; if you've never needed that one, you don't need it, and this is the loader you actually want.
The any input, and an honest note on where it helps most
Every node in this pack adds one optional input, any, that accepts literally anything and does nothing with the value it receives - it exists purely to create a graph dependency. ComfyUI's executor runs a loader the moment nothing blocks it, which for a node with no required upstream inputs usually means immediately, alongside every other model in your workflow. Wire something into any and the loader waits for that source to finish first, so you control the actual loading order instead of ComfyUI deciding it for you.
Worth being straight about this one specifically: because CheckpointLoaderSimple_Any bundles model, CLIP, and VAE into a single load, there's less to stage than with the pack's split-loader siblings. The pack's own README examples are built around split workflows - a separate UNET loader, a separate CLIP loader, a separate VAE loader - precisely because splitting things up is what makes staged loading actually pay off. If you're using this all-in-one node, the any input still works the same way, but you're staging one big load rather than several smaller ones, so the VRAM win is smaller. If tight VRAM is the whole reason you're here, it's worth considering whether splitting to UNETLoader_Any + CLIPLoader_Any + VAELoader_Any gets you more control.
Installing it
ComfyUI Manager: search ComfyUI-LoaderUtils, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/lrzjason/ComfyUI-LoaderUtils
No extra pip packages - it's a thin wrapper around ComfyUI's own checkpoint loader. Nothing changes about where you put checkpoint files.
Where people get burned
Empty dropdown or missing file is the routine one: wrong folder (models/checkpoints, not models/unet), or ComfyUI hasn't restarted since the file landed there. Beyond that, this node is about as low-drama as loaders get - the failure modes belong to the checkpoint file itself (corrupted download, wrong file entirely) rather than to the loader, since it just autodetects and loads whatever it's pointed at.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | The name of the checkpoint (model) to load. | |
| anyopt | * | — |
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. |