Nodes/ComfyUI-LZNodes/LZ Checkpoint Loader & Encode
ComfyUI Node

LZ Checkpoint Loader & Encode

The all-in-one loader that encodes both prompts before you ask

By liz-ils·Created 7 months ago·Updated 12 days ago· 1
LZ Checkpoint Loader & Encode
    • MODEL
    • CLIP
    • VAE
    • positive
    • negative
    • positive_text
    • negative_text
    • lz_pipe
    • ckpt_name
    • ckpt_hash
    ckpt_name
    positive
    negative

    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.

    CategoryMyCustomNodes/Loaders

    Inputs (3)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:
    positiveSTRING
    negativeSTRING

    Outputs (10)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE
    positiveCONDITIONING
    negativeCONDITIONING
    positive_textSTRING
    negative_textSTRING
    lz_pipeLZ_PIPE
    ckpt_nameSTRING
    ckpt_hashSTRING