Nodes/ComfyUI Civitai Advanced Loader/Civitai Checkpoint Loader
ComfyUI Node

Civitai Checkpoint Loader

A checkpoint loader that hands you the trigger word

By rattskr·Created 26 days ago·Updated 25 days ago· 1
Civitai Checkpoint Loader
    • MODEL
    • CLIP
    • VAE
    • trigger_word
    ckpt_name
    trigger_choice

    The most annoying thing about downloading a LoRA or a style checkpoint from Civitai isn't the download. It's the model page telling you a trigger word you have to type perfectly, by hand, into a text box that has no idea what you're about to type. This node is the checkpoint side of fixing that: it's a normal Load Checkpoint that also reads the model's Civitai metadata and hands you the trained word as a proper string output you can wire straight into your prompt.

    It comes from the Civitai Advanced Loader pack (rattskr/ComfyUI_CivitaiAdvanceLoader), which pairs it with a sibling Civitai Lora Loader and a big three-panel "manager" UI for fetching and editing Civitai metadata. It's a small, fairly new project - expect rough edges, not a huge community behind it.

    How it works

    Look under the hood and the magic is thin, in the good way. The node takes your checkpoint and calls the exact same core function a stock ComfyUI checkpoint loader uses (load_checkpoint_guess_config, with the VAE and CLIP pulled out and the embeddings folder pointed at yours). So image quality, resolution, and architecture handling are byte-for-byte what you'd get from the built-in loader - this is a convenience wrapper, not a magic sampler, and "advanced" refers to the metadata plumbing, not the math.

    The Civitai part runs only when you ask for it. On a plain queue, this node makes no API calls and needs no key. If it can find metadata for the selected file it reads the trigger list out of a local JSON; if not, the trigger_word output is just an empty string and the node behaves like any other checkpoint loader. The actual fetching from Civitai's API happens in the Manager UI (there's a "Bulk Fetch" and per-model controls), where it resolves your local file to a Civitai model by hash - index cache first, then a .civitai.info sidecar, then computing the SHA-256 itself.

    That metadata lives next to your models: a Metadata/ folder beside your checkpoints directory, with index.json and one subfolder per model. Trigger words you hand-edit in the manager are saved as user overrides and win over Civitai's own trainedWords.

    The inputs that matter

    Only two, and you'll touch one:

    • ckpt_name - a dropdown of whatever's in your ComfyUI models/checkpoints folder. Pick a file that has metadata; otherwise there's nothing to resolve.
    • trigger_choice - a free-text string. Leave it empty and the node grabs the model's first trained word. Type a specific one and it uses that instead, if it's in the list.

    The four outputs are the payoff: MODEL, CLIP, VAE wire into your positive/negative conditioning exactly like a stock loader, and trigger_word (a STRING) can be spliced into your prompt text. It doesn't auto-append anything - you connect the string where you want it, usually by putting it at the front of your positive prompt with some formatting, which is exactly how you'd type a trigger anyway.

    Installing it

    ComfyUI Manager is the easy route - search for "Civitai Advanced Loader". Or clone it directly:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/rattskr/ComfyUI_CivitaiAdvanceLoader.git
    

    Then restart ComfyUI. No extra Python dependencies and no model downloads - the README says so and there's no requirements.txt in the repo to argue. First time in, open the Manager and run a fetch so the dropdowns actually know their trigger words.

    Where people get burned

    The common "it doesn't work" turns out to be no metadata for that file yet - the trigger output is empty because nothing's been fetched, or because the checkpoint was never on Civitai or doesn't hash-match. Fetch it in the manager, or just accept the empty string and move on.

    Also worth knowing: most checkpoints don't use a trigger word at all. Trained words matter for LoRAs and for character/style models; your everyday realistic merge will hand you a blank string and that's correct, not a bug. If your goal is trigger words for LoRAs, the pack's Civitai Lora Loader is the more useful half. But for the checkpoints that do carry trained words, this beats alt-tabbing to a model page and praying you copied the right one.

    Categoryloaders

    Inputs (2)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:
    trigger_choiceSTRING

    Outputs (4)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE
    trigger_wordSTRING