A LoRA is a small adapter file — usually 5 to 250 MB — that patches a large frozen AI model with a new style, character, concept, or motion without retraining the whole network. You don't replace the base; you add a LoRA on top and steer it with a strength dial.
LoRAs are why the open-weights image and video communities run on small downloads instead of multi-gigabyte checkpoints. This page explains the technique, where it came from, how it works, what it does and doesn't change, and which models support it.
What is a LoRA?
Answer capsule: LoRA (Low-Rank Adaptation) is a fine-tuning method that injects two small trainable matrices into a frozen base model so you can teach it a new concept without retraining the whole network.
LoRA was introduced by Microsoft Research in a 2021 paper titled "LoRA: Low-Rank Adaptation of Large Language Models" [[1]](#ref-paper) . The technique was originally designed for large language models — fine-tuning GPT-3 175B without paying for a full re-train. The open-source Stable Diffusion community picked it up in 2022–2023 and discovered the same approach worked spectacularly well for image generation. By 2025–2026 the technique reached video models like Wan 2.2 and HunyuanVideo.
In practice, you'll meet a LoRA as a single .safetensors file. You drop it into your image- or video-generation tool, point a "Load LoRA" node at it, and the next render reflects whatever the LoRA was trained on.
How does a LoRA work?
Answer capsule: A LoRA freezes the base model's weights and learns a pair of low-rank matrices whose product is added to the original weights only at inference time.
The math, in plain English:
- A standard fine-tune rewrites every weight in the base model. For a 12-billion-parameter model that means 12 billion updates and a new multi-gigabyte file every time.
- A LoRA freezes those 12 billion weights and learns two much smaller matrices — call them
AandB. Their productB × Ais added to the original weights when you generate an image. The matrices are "low-rank" — narrow, with onlyrankcolumns / rows of useful information.
Two hyperparameters control the update:
- Rank — the number of useful dimensions in the adapter. Higher rank = more expressive LoRA, but larger file. Image LoRAs usually use rank 16, 32, or 64.
- Alpha — a scaling factor. The effective contribution at inference is
alpha / rank. Adjusting alpha lets you compare runs at different ranks without re-tuning the rest of the recipe [[2]](#ref-raschka) .
The Microsoft paper showed LoRA reduces trainable parameters by up to 10,000× and GPU memory by ~3× versus a full Adam fine-tune of GPT-3 175B [[1]](#ref-paper) . For Stable Diffusion the practical effect is even more dramatic: a LoRA fine-tune that would have produced a multi-gigabyte DreamBooth checkpoint produces a 5–250 MB file and trains in a fraction of the time [[3]](#ref-replicate) .
What can a LoRA teach a model?
Answer capsule: A LoRA can teach a base model a visual style, a specific character, a concept the base never saw, or a camera motion — anything that fits into 20–40 reference images or 30–80 reference clips.
Four practical categories cover almost every LoRA you'll meet:
- Style LoRAs — push the whole image toward a visual register (oil paint, 90s film, anime cel, watercolor).
- Character LoRAs — teach a specific recurring character archetype (an original character, a Danbooru-tagged variant, a fictional persona). Real-person LoRAs are out of scope on UncensoredHub by policy.
- Concept LoRAs — add a noun, object, pose, or scene the base never saw. These are the densest category on our LoRA catalog for Flux 2 Klein 9B.
- Motion / scene LoRAs — for video bases like Wan 2.2 and HunyuanVideo, teach a specific motion or scene composition.
Two real examples from the catalog:
If you want a step-by-step walkthrough of loading and stacking these, read How to Generate Images and Videos with LoRAs.
LoRA vs checkpoint vs full fine-tune
Answer capsule: A checkpoint is the full base model; a full fine-tune rewrites every weight in that checkpoint; a LoRA is a small adapter that patches the checkpoint at inference without changing the original.
| Checkpoint | Full fine-tune | LoRA | |
|---|---|---|---|
| Typical size | 2–25 GB | 2–25 GB (new copy of the whole base) | 5–250 MB |
| Training time | n/a (you download it) | hours to days on multi-GPU | minutes to a few hours on a single GPU |
| What it represents | The complete model | A new checkpoint baked from old + delta | The delta only |
| How you use it | Load once per render | Same as checkpoint | Load on top of a checkpoint at inference |
| Stack multiple? | One at a time | One at a time | Yes, 3–5 commonly stacked |
| Distribution channel | Civitai, HuggingFace, vendor |
A LoRA's biggest practical advantage isn't size — it's swappability. You can change a single .safetensors file and re-render with a different style or concept without reloading a 12 GB checkpoint. That's what makes the LoRA stacking workflow viable.
Which AI image and video models support LoRAs?
Answer capsule: Most modern open-weights image and video bases support LoRAs natively — SDXL, Pony, Illustrious, Flux, Flux 2 Klein on the image side; Wan 2.2, HunyuanVideo, LTX-Video on the video side.
The constraint is family lineage, not generation. A LoRA only works correctly on the exact base it was trained against:
- SDXL-family — base SDXL, Pony Diffusion V6 XL (Pony LoRAs use
score_9, score_8_uptags), Illustrious XL (Danbooru tags, no score tags). Pony and Illustrious are both SDXL-derived but their LoRAs don't cross over because their internal weight ranges diverge. - Flux family — Flux dev and Flux schnell. Same architecture, LoRAs interchange. Different from SDXL: natural-language prompts, not tags.
- Flux 2 Klein 9B — Black Forest Labs' compact Flux 2 variant, new in 2026. Not compatible with Flux 1 LoRAs.
- Wan 2.2 — 14B (and a smaller 5B variant) open-weights video base [[4]](#ref-wan22) . Most UncensoredHub video LoRAs target the 14B i2v workflow.
- HunyuanVideo — Tencent's open-weights video model [[5]](#ref-hunyuan) . Accepts the same Load LoRA node as Wan 2.2 in ComfyUI.
A fine-tune of a fine-tune still counts as the same family. A Pony V6 LoRA works on derivatives like Cyberrealistic Pony or Pony Realism (slight feel shift). The same LoRA on a Hassaku XL Illustrious model — different family — will not work properly.
Where does the LoRA file live?
Answer capsule: A LoRA is a single .safetensors file you place in your generation tool's loras/ directory; a Load LoRA node references it by filename.
In a typical ComfyUI install — see What is ComfyUI? — LoRAs go in:
`` ComfyUI/models/loras/ ``
In Automatic1111 / SD.Next:
`` stable-diffusion-webui/models/Lora/ ``
In Forge / SwarmUI the path is similar. The file format is .safetensors — a binary tensor container designed by Hugging Face to be safe to load (no arbitrary code execution, unlike older .ckpt pickle files). A LoRA's filename has no semantic meaning to the loader; only the file content matters.
To actually run one: drop the file in the loras/ folder, restart the UI, then in your workflow connect a Load LoRA node between the checkpoint and the text encoder, set strength to 0.7–0.9, and render. The end-to-end recipe lives in our LoRAs guide. For Wan 2.2 specifically, also read the Wan 2.2 ComfyUI Workflow Guide.
Related concepts
- Checkpoint — the base model file a LoRA patches at inference.
- DreamBooth — older alternative fine-tuning method that bakes the adapter into a new checkpoint instead of keeping it separate. Larger output, slower training, no stackability.
- Textual Inversion / Embedding — even smaller than a LoRA (often <100 KB). Teaches the model a single new "word" but cannot change visual style or motion.
- ControlNet — also a small add-on file, but for pose, depth, and edge conditioning, not style or concept. Solves a different problem.
- Quantization (FP8, Q4) — shrinks the base model to fit smaller GPUs. Not a LoRA, but often combined with one.
References
[[1] LoRA: Low-Rank Adaptation of Large Language Models — Hu et al., arXiv 2106.09685](https://arxiv.org/abs/2106.09685) · [[2] How rank and alpha affect LoRA — Sebastian Raschka](https://sebastianraschka.com/faq/docs/lora-rank-alpha.html) · [[3] Faster fine-tuning of Stable Diffusion with LoRA — Replicate](https://replicate.com/blog/lora-faster-fine-tuning-of-stable-diffusion) · [[4] Wan 2.2 open-weights video model — GitHub](https://github.com/Wan-Video/Wan2.2) · [[5] HunyuanVideo — Tencent, HuggingFace](https://huggingface.co/tencent/HunyuanVideo)






