C ComfyAtlas

Published May 20, 2026

LoRA Basics in ComfyUI: How to Apply Style and Character Models

What a LoRA is, where it lives in your ComfyUI folder, and how to wire one into a text-to-image workflow. Includes the strength dial, stacking multiple LoRAs, and the trigger-word habit that catches most beginners off guard.

A LoRA (Low-Rank Adaptation) is a small file that nudges a base diffusion model toward a specific style, character, or concept without retraining the whole model. A typical LoRA is 50–200 MB. A full SDXL checkpoint is 7 GB. That ratio is why LoRAs are everywhere — they’re cheap to train, cheap to share, and you can stack them.

This guide assumes you already have a working text-to-image workflow. If not, build one first using the first workflow guide. Once that runs, adding a LoRA is one more node.

What a LoRA actually does

A diffusion model is a stack of weight matrices. Training a LoRA produces a much smaller pair of matrices for each layer. At inference time, those small matrices are multiplied together and added to the base weights. The model behaves like a slightly different model — one that’s been pulled toward whatever the LoRA was trained on.

Practical consequences:

Where LoRA files go

Drop them into:

ComfyUI/models/loras/

Subfolders are allowed. Most users organize by source or type:

ComfyUI/models/loras/
  character/
    aragorn-sdxl.safetensors
    sailor-moon-1.5.safetensors
  style/
    pixel-art-xl.safetensors
    studio-ghibli.safetensors
  concept/
    wide-angle-lens.safetensors

After adding files, hit the refresh button (top right of ComfyUI) — the dropdown reads the folder fresh. No restart needed.

Where to download LoRAs

Two main hubs:

A LoRA listing always tells you the base model. SD 1.5, SDXL, FLUX, Pony, Illustrious — these are not interchangeable. Download a LoRA matching the checkpoint you load in Load Checkpoint.

A good listing also includes:

If a listing has no trigger word and no example prompts, it’s a bad listing. Skip it.

The Load LoRA node

Search Load LoRA in the node menu. The node has:

Inputs (left side):

Outputs (right side):

Widgets:

The node sits between Load Checkpoint and the rest of your graph, intercepting both MODEL and CLIP.

Wiring it in

Take your working text-to-image graph. Find the wires going from Load Checkpoint:

Don’t touch the VAE wire — LoRAs don’t affect the VAE. But intercept the MODEL and CLIP wires:

  1. Add a Load LoRA node between Load Checkpoint and the rest.
  2. Disconnect the MODEL wire from Load Checkpoint to KSampler.
  3. Connect: Load Checkpoint.MODEL → Load LoRA.model → Load LoRA.MODEL → KSampler.model
  4. Disconnect the CLIP wires.
  5. Connect: Load Checkpoint.CLIP → Load LoRA.clip → Load LoRA.CLIP → both text encoders.

That’s it. Pick a LoRA from the dropdown, set strengths to 1.0 to start.

The trigger word habit

This is where most beginners trip up. Many LoRAs need a specific token in the positive prompt to activate. The token is set during training — without it, the LoRA’s effect is partial or invisible.

Examples (made up, but representative):

LoRA: aragorn-sdxl.safetensors
Trigger: aragorn-strider
Use it like: "portrait of aragorn-strider in a forest, cinematic lighting"
LoRA: pixel-art-xl.safetensors
Trigger: pixel art
Use it like: "pixel art of a fox sitting on a moss-covered rock"

Always check the LoRA’s listing for the trigger word. If you put the LoRA in the graph at strength 1.0 and the output looks normal — no trigger word, that’s why.

Some LoRAs are “always on” and don’t need a trigger. The listing will tell you.

Strength tuning

Three numbers, three different effects:

strength_modelstrength_clipBehavior
1.01.0Full effect, default starting point
0.60.6Subtle. Good for blending into base style.
1.21.0Strong on visuals, normal prompt response. Risk: can cook the image.
1.00.0Visual style applied, but prompt encoding stays clean. Useful for tricky combinations.
0.00.0LoRA disabled (same as not having the node)

For a first run, 1.0/1.0. If results are too strong (faces deformed, colors blown out), drop to 0.7. If too weak, try 1.1 — but going much above 1.2 usually breaks generation.

strength_clip matters more than people realize. If a character LoRA is contaminating your prompt understanding (the model “forgets” what blue means), drop strength_clip toward 0.5 while keeping strength_model at 1.0.

Stacking multiple LoRAs

To use two LoRAs at once, chain Load LoRA nodes:

Load Checkpoint → Load LoRA (style) → Load LoRA (character) → KSampler

Each node modifies the MODEL and CLIP it receives, then passes them on. Order matters less than total strength.

Rule of thumb for stacking: the sum of strengths should stay around 1.0–1.5. Two LoRAs at 0.7 each is fine. Three at 1.0 each almost always produces garbage. The model has limited “headroom” before competing fine-tunes start fighting.

If you stack a style LoRA + a character LoRA:

Common failures

Result looks identical with and without the LoRA

Output is over-saturated, distorted, or “fried”

Faces are mangled when you weren’t even asking for faces

”LoRA not found” / dropdown empty

Color/style applied but the character is wrong

LoRAs vs. checkpoints vs. embeddings

A quick mental map of the three things you might download:

TypeSizeWhere it goesWhat it does
Checkpoint2–24 GBmodels/checkpoints/Whole model. Replaces the diffusion brain.
LoRA50–500 MBmodels/loras/Patches the model. Style/character/concept.
Embedding5–500 KBmodels/embeddings/Text-side only. A new “word” the model knows.

LoRAs are the middle ground — small enough to download casually, expressive enough to actually change generations. Most workflows you’ll see online use one or two LoRAs plus the base checkpoint.

What’s next

You can now apply any character or style LoRA to your base text-to-image workflow. Two natural next directions:

Each gets its own guide.

#lora#fine-tuning#workflow#stable-diffusion#tutorial