CivitAI LoRA
Chain cloud LoRAs by AIR URN — no download, no VRAM
- lora_stack
- lora_stack
The CivitAI LoRA node does one thing, and it's important to get that up front: it does not generate anything. It doesn't load a file, it doesn't touch your GPU, and it has no image output. All it does is add a LoRA to a stack - by AIR URN instead of a filename - so the pack's CivitAI Generator node can send that LoRA along with your text-to-image request to CivitAI's cloud. If you're used to local ComfyUI, where a LoRA node loads weights straight into the UNet, this feels backwards. That's because it is a different thing: here the LoRA is applied on CivitAI's servers, and this node is just the shopping list.
It's a thin node, and honestly the pack could have gotten away with a couple of text fields on the Generator. But the stack design is nice: chain as many as you want, one after another, and the whole list rides along in a single API call. Each entry is just an AIR URN plus a strength.
How it works
The node keeps a Python list of {air, strength} dicts. Wire an existing lora_stack into its input and it appends the new entry; leave it unwired and it starts a fresh stack. When the Generator runs, it converts that list into the additionalNetworks object in the API payload, keyed by AIR URN with the strength attached. One job, several LoRAs, all applied server-side.
Inputs and output
lora_air- the LoRA's AIR URN, e.g.urn:air:sdxl:lora:civitai:1105685@1242203, from the AIR section on the model page. Must start withurn:air:.strength- how hard to apply it, −2.0 to 2.0, default 1.0. Zero or negative values are allowed and passed through as-is.lora_stack(optional input) - chain the previous LoRA node's output here.
The single output, also lora_stack, feeds the Generator's optional lora_stack input:
[CivitAI LoRA] ──► [CivitAI LoRA] ──► lora_stack ──► [CivitAI Generator] ──► IMAGE
Installing
Same pack as the Generator: search CivitAI SDK API nodes for ComfyUI in ComfyUI Manager, or
cd ComfyUI/custom_nodes
git clone https://github.com/Ave-Mollan/CivitAI-SDK-API-nodes-for-ComfyUI.git
pip install -r CivitAI-SDK-API-nodes-for-ComfyUI/requirements.txt
then restart. Dependencies are just requests and Pillow; no model files to fetch.
Gotchas
The one that will actually bite you: the base model is sniffed from the checkpoint's AIR, not the LoRA's. The API assumes a LoRA with sdxl/sd3/flux in its URN belongs to the SDXL family, but a mismatched pair (an SD 1.5 LoRA on a Flux checkpoint) won't complain until the cloud job returns garbage or nothing. Check the family in both URNs before you burn Buzz.
The other thing to remember is that this node is a dead end unless it's wired to the Generator - run it on its own and you get a stack you never look at. And because the whole point is not downloading anything, the usual local wisdom about trigger words and stacked LoRA conflict applies server-side: strengths stack, and two style LoRAs fighting each other will smear in the cloud just the same as they would locally.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_air | STRING | urn:air:sd1:lora:civitai:82098@87153 | — |
| strength | FLOAT | 1.00-2–2 | — |
| lora_stackopt | CIVITAI_LORA_STACK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| lora_stack | CIVITAI_LORA_STACK | — |