Nodes/Civitai Comfy Nodes/CivitAI Lora Loader
ComfyUI Node

CivitAI Lora Loader

Download and apply a LoRA by AIR

By civitai·Created 3 years ago·Updated 2 months ago· 171
CivitAI Lora Loader
  • model
  • clip
  • MODEL
  • CLIP
lora_air{model_id}@{model_version}
lora_name
strength_model1.00
strength_clip1.00
api_key
download_chunks4
download_path

You know the loop: find a workflow, spot the one LoRA that makes it sing, go hunt it down on Civitai, download the safetensors, drop it in models/loras, restart, and only then wire it up. This node collapses all of that into a text box. You paste a Civitai AIR, it fetches the file into the right folder, and it applies the LoRA to your model in the same step. Skip the browser tab entirely.

Under the hood it's a normal LoRA loader with a downloader bolted on the front. A LoRA is a small low-rank patch that nudges a checkpoint toward a character, style, or concept without retraining it - it generates nothing on its own, it just modifies the weights already loaded. So this node takes your model and clip in, downloads the LoRA if it isn't on disk yet, patches both, and hands them back out. Functionally it's a drop-in for the stock LoraLoader; the only new trick is that it can go get the file for you.

What's an AIR

An AIR ("AI Resource") is Civitai's universal ID for a model. On the site it boils down to {model_id} or {model_id}@{version_id}. Give it the bare model id and it grabs whatever the author flagged as the default version. Pin the version too - like 109395@84321 - and you get exactly that file every time, which is what you want for a workflow you'll share or rerun. You can turn on AIR display in the Early Access section of your Civitai account settings to copy them straight off a model page.

The inputs that actually matter

  • lora_air - the AIR string. This is the whole point of the node.
  • strength_model / strength_clip - how hard the LoRA pushes. Both default to 1.0 (the field allows -10 to 10, but you'll basically never leave 0 to ~1.5). The old "0.5-0.8" rule is SDXL-era advice and still fine there; newer bases like Z-Image often want a full 1.0 or higher because dropping it costs likeness. Check the model page before you reach for 0.7.
  • lora_name - a dropdown of LoRAs already sitting in your folder. Use this instead of an AIR when the file's local and you don't want a download at all.

There's also an optional api_key (for models that need you authenticated - gated or early-access stuff), plus download_chunks and download_path if you want to tune the fetch. Leave those alone unless you have a reason.

The outputs are MODEL and CLIP. Wire them onward exactly like any LoRA loader: MODEL into your sampler (or the next LoRA in a stack), CLIP into your text-encode nodes. Chain several of these to stack LoRAs, but add them one at a time with a fixed seed - LoRA interactions are unpredictable and stacking blind is how you end up with a fried image and no idea which one did it.

Installing it

Easiest path is ComfyUI Manager: open it, search Civitai Comfy Nodes, install, restart. If you'd rather do it by hand:

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

then restart ComfyUI. No extra model downloads to stage - the whole idea is that it pulls those on demand. (Standard reminder: installing any pack runs its author's code, though a first-party Civitai repo is about as low-risk as custom nodes get.)

Where people get burned

Heads up: this repo is deprecated. Civitai moved development to a new pack (civitai-comfy-nodes) that wraps their cloud Orchestration API instead of downloading files locally. The old node here still works, but nobody's patching it, so if Civitai changes how AIRs or downloads behave, it can just quietly break.

The bigger gotcha is that the node downloads the LoRA but doesn't make it fit. LoRAs are architecture-locked - an SDXL LoRA does nothing useful on Flux, and Pony/Illustrious/base-SDXL LoRAs don't reliably cross even though they'll all load. Match the LoRA's base model to your checkpoint or you'll get a no-op or an error. And a downloaded LoRA still needs its trigger word in the prompt to fire; the loader can't put it there for you.

Then there's Civitai itself. Models get pulled - one user tracking two years of downloads clocked roughly 20% of old LoRA links returning 404 - so an AIR pointing at a removed model just fails. The site also split into civitai.com (SFW) and civitai.red in 2026 and withdrew from the UK and Australia, so if a download 403s or comes back empty, it may be a missing model or a blocked region rather than anything wrong with the node.

CategoryCivitAI/Loaders

Inputs (9)

NameTypeDefaultDescription
modelMODEL
clipCLIP
lora_airSTRING{model_id}@{model_version}
lora_nameCOMBO1 options: none
strength_modelFLOAT1.00-10–10
strength_clipFLOAT1.00-10–10
api_keyoptSTRING
download_chunksoptINT41–12
download_pathoptCOMBO1 options: models/loras

Outputs (2)

NameTypeDescription
MODELMODEL
CLIPCLIP