LZ Simple Checkpoint Loader
The lean loader that also gives you a pipe and a hash
- MODEL
- CLIP
- VAE
- lz_pipe
- ckpt_name
- ckpt_hash
Stock ComfyUI's checkpoint loader hands you MODEL, CLIP, and VAE and calls it a day. LZ Simple Checkpoint Loader does the same thing, then keeps three extra facts about the load that this pack's ecosystem wants: it also emits a ready-made lz_pipe, the checkpoint's file name, and a short hash of the file.
The "Simple" is doing real work in the name. Unlike the pack's EZCheckpointLoader, this one does not encode prompts or build conditioning - you get the raw components and nothing else. It's strictly for extracting model pieces, which is exactly what the README says. If you just want to feed a checkpoint into your own prompt-encoding setup or drop it into a pipe, this is the node.
The outputs
MODEL,CLIP,VAE- the three components, identical in nature to any stock loader's.lz_pipe- a bundle withmodel,clip,vae,ckpt_name, andckpt_hashalready packed, so you can wire it straight intoLZPipePack, a LoRA stacker, orLZSaveImageAndLogwithout manually packing.ckpt_name- the file name you selected.ckpt_hash- the first 10 hex characters of the file's SHA-256.
That hash is the interesting bit, and it's a genuinely useful feature: because the pipe carries it, LZSaveImageAndLog prints it in your log file, giving you a fingerprint of exactly which checkpoint file produced an image - even after the filename gets lost or a folder gets reorganized. It's short-hash (10 chars), not full SHA-256, so treat it as "almost certainly this file," not "mathematically this file."
The cost of the hash
Here's the trade-off the README won't tell you: computing SHA-256 means reading the entire checkpoint file the first time a given file is used. On a 6 GB model that's a few seconds of disk I/O the very first load. After that it's cached - the pack remembers (file mtime, hash) per file and only rehashes when the file changes - so it's a one-time tax per checkpoint, not per run. If you load a brand-new checkpoint and wonder why that first generation took a few seconds longer than usual, that's this node earning its provenance.
One honest note on scope
It uses ComfyUI's load_checkpoint_guess_config, the same path the stock loader uses, so it handles SD 1.5, SDXL, and their finetunes fine. For architectures where components load separately (Anima, and the "diffusion model / text encoder / VAE" split the pack's own LZAnimaLoader exists for), this node isn't the tool - it's for merged checkpoints. And because it doesn't create conditioning, you'll still need a CLIPTextEncode (or the pack's DualCLIPTextEncode) between the CLIP output and your sampler.
Installing it
Part of the ComfyUI-LZNodes pack:
cd ComfyUI/custom_nodes
git clone https://github.com/liz-ils/ComfyUI-LZNodes
Restart ComfyUI, or install via ComfyUI Manager by searching "ComfyUI-LZNodes". No requirements.txt, no model downloads - it leans entirely on ComfyUI's built-in checkpoint loading.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | 0 options: |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |
| lz_pipe | LZ_PIPE | — |
| ckpt_name | STRING | — |
| ckpt_hash | STRING | — |