Nodes/Civitai Comfy Nodes/CivitAI Checkpoint Loader
ComfyUI Node

CivitAI Checkpoint Loader

Load a checkpoint straight from an AIR

By civitai·Created 3 years ago·Updated 2 months ago· 171
CivitAI Checkpoint Loader
    • MODEL
    • CLIP
    • VAE
    ckpt_air{model_id}@{model_version}
    ckpt_name
    api_key
    download_chunks4
    download_path

    This is the stock "Load Checkpoint" node with one upgrade: instead of picking a file that's already on your disk, you paste a Civitai ID and it downloads the model for you, then loads it. Someone shares a workflow, it references a checkpoint you don't have, and normally that's a trip to Civitai, a multi-gigabyte download, and a drag into models/checkpoints. Here you paste the AIR and hit run. The file lands in the right place and the graph just works.

    A checkpoint is the whole model - every weight needed to turn a prompt into an image, in one 2-12 GB file that generates on its own. It's the thing you load first and build everything else on top of. So this node does exactly what CheckpointLoaderSimple does - it just resolves and fetches the file first if it's missing.

    AIRs, and why you should pin the version

    The ckpt_air field takes a Civitai AIR: either {model_id} on its own, or {model_id}@{version_id}. The bare id grabs whatever the author currently marks as the default version - convenient, but it can change under you if they push an update. Pin the version ({model_id}@{version_id}) and you get the same weights every time, which matters the moment you want a workflow to be reproducible for someone else. You can copy AIRs directly from model pages once you enable AIR display in the Early Access part of your Civitai account settings.

    The inputs and outputs

    There are really only two knobs:

    • ckpt_air - the AIR of the checkpoint to download and load. The reason the node exists.
    • ckpt_name - a dropdown of checkpoints already in your folder. Use this when the file's local and you don't need a fetch at all; it turns the node back into a plain loader.

    Optional extras: api_key for models that require you signed in (gated or early-access releases), plus download_chunks and download_path if you want to steer the download. Defaults are fine for almost everyone.

    The outputs are the standard checkpoint trio - MODEL, CLIP, and VAE. That's everything a basic text-to-image graph needs: MODEL into your KSampler, CLIP into your positive and negative prompt encoders, VAE into the VAE Decode at the end. It slots in anywhere the normal loader would, so you can swap it into an existing workflow without rewiring a thing.

    Installing it

    Through ComfyUI Manager: search Civitai Comfy Nodes, install, restart. Or clone it yourself:

    cd ComfyUI/custom_nodes
    git clone https://github.com/civitai/civitai_comfy_nodes
    

    and restart ComfyUI. Nothing to pre-download - fetching models on demand is the entire feature. As always, installing a pack means running its author's code, though this being Civitai's own first-party repo puts it near the safe end of that spectrum.

    Where it bites

    First, the flag on the box: this repo is deprecated. Civitai has moved on to a newer pack (civitai-comfy-nodes) built around their cloud Orchestration API rather than local downloads. This older node still does the download-into-your-folder thing, which is often exactly what you want - but it's unmaintained, so a change on Civitai's end can break it with no fix coming.

    The practical snags are mostly about Civitai, not the node. Checkpoints are big; the first run on a new AIR will sit there pulling several gigabytes before anything renders, so don't assume it's hung. Models also get removed from the platform regularly - enough that a chunk of older links now 404 - so an AIR pointing at a deleted model simply fails to download. And in 2026 Civitai split into civitai.com (SFW) and civitai.red (full catalogue) and pulled out of the UK and Australia; a download that 403s or returns empty is usually a missing model, a gated one that needs your api_key, or a blocked region, not the loader misbehaving.

    One reproducibility note worth internalizing: because a bare model-id AIR follows the author's default version, two people running "the same" workflow can quietly pull different weights. If the output matters, pin the version.

    CategoryCivitAI/Loaders

    Inputs (5)

    NameTypeDefaultDescription
    ckpt_airSTRING{model_id}@{model_version}
    ckpt_nameCOMBO1 options: none
    api_keyoptSTRING
    download_chunksoptINT41–12
    download_pathoptCOMBO1 options: models/checkpoints

    Outputs (3)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE