LZ Checkpoint Loader & Encode
The all-in-one loader that encodes both prompts before you ask
- MODEL
- CLIP
- VAE
- positive
- negative
- positive_text
- negative_text
- lz_pipe
- ckpt_name
- ckpt_hash
LZ Checkpoint Loader & Encode (class EZCheckpointLoader) is the node the pack's README tells you to start with, and it earns that. It loads a checkpoint, encodes your positive and negative prompts, and hands you the model, the CLIP, the VAE, both conditionings, both prompt texts, a ready-to-use pipe, and the checkpoint's hash - all from one node. Ten outputs off a single widget. It's the anti-spaghetti move.
How it works
Under the hood it's the same machinery you'd wire by hand: comfy.sd.load_checkpoint_guess_config() pulls MODEL/CLIP/VAE out of the checkpoint, then it tokenizes and encodes your two prompt boxes. Nothing clever, which is the point - it just does the five-node job in one node so you can't miswire it.
The two outputs that aren't in a vanilla loader are worth calling out:
- lz_pipe - a single LZ_PIPE connection bundling the model, CLIP, VAE, both conditionings, the prompt texts, and the checkpoint name/hash. Plug this into the pack's LZKSamplerDecode and your whole load-to-sample chain collapses to two nodes.
- ckpt_hash - a 10-character SHA-256 prefix of the checkpoint file, computed by streaming the file and cached by file modification time so you're not re-hashing a multi-GB file every run. This is a reproducibility gift: log it and you can prove which exact file made an image, even if someone renames it later. It feeds straight into LZSaveImageAndLog's metadata.
Inputs that matter
Just three: ckpt_name (the dropdown of everything in your models/checkpoints folder) and the positive / negative text boxes. That's the entire interface. The prompt defaults are empty, unlike the Anima-focused loader in this pack, which pre-fills Anima's score_ tags.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/liz-ils/ComfyUI-LZNodes
restart, and it's under MyCustomNodes/Loaders (search ComfyUI-LZNodes in ComfyUI Manager). No extra pip dependencies - no requirements.txt in the pack; it uses only ComfyUI's bundled sd/tokenize APIs.
Where people get burned
Two things, both mild. First, the prompts are required fields but empty by default - run it without typing anything and you'll generate from empty strings, which on SDXL means a grey mush, not a helpful error. Second, the ckpt_hash is a hash of the file on disk, not a hash of the model weights - it changes if the file is re-exported, and it's slow the first time on a huge file (hence the cache). Neither is a bug; they're just behaviors to know.
The bigger picture: this node is the entry point to the whole LZNodes pipe philosophy. EZCheckpointLoader → LZPipePack → LZKSamplerDecode → LZSaveImageAndLog is the pack's own recommended starter flow, and it genuinely removes the fiddliest wiring a beginner fights in vanilla ComfyUI. If you're loading one checkpoint and one prompt pair, this is the node you reach for.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | 0 options: | |
| positive | STRING | — | |
| negative | STRING | — |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| positive_text | STRING | — |
| negative_text | STRING | — |
| lz_pipe | LZ_PIPE | — |
| ckpt_name | STRING | — |
| ckpt_hash | STRING | — |