- Flux
- SDXL
- Comparison
- LoRA training
Flux vs SDXL for LoRA Training: Which Base Model Should You Use?
Flux.1 vs SDXL for character LoRAs: architecture, VRAM needs, dataset and caption differences, training settings, output quality, and licensing compared.
Flux.1 and SDXL are the two base models most character LoRAs are trained on today. Flux is newer, larger, and better at following prompts. SDXL is faster, cheaper to train, and sits on a much bigger ecosystem of checkpoints and ControlNets. Neither is the right answer for everyone. This comparison lays out the differences that actually change your results: architecture, hardware needs, dataset and caption requirements, training time, output quality, and licensing.
Flux vs SDXL at a glance
| Factor | Flux.1 dev | SDXL 1.0 |
|---|---|---|
| Architecture | Rectified-flow transformer, 12B parameters | Latent diffusion UNet, 2.6B UNet (3.5B base total) |
| Text encoders | T5-XXL + CLIP-L | OpenCLIP ViT-bigG + CLIP ViT-L |
| Native resolution | 1024², flexible aspect ratios | 1024², bucketed aspect ratios |
| Typical LoRA training VRAM | 24 GB at bf16; 12–16 GB with fp8 or quantized training | 8–12 GB |
| Relative training speed | Roughly 2–3× slower per step | Baseline |
| Images for a character LoRA | 10–20 | 20–30 |
| Caption style | Natural-language sentences | Tags or short sentences |
| Prompt adherence | Excellent, including text rendering | Good; weaker on complex scenes and text |
| Ecosystem | Growing; fewer fine-tuned checkpoints | Very large; thousands of checkpoints, LoRAs, ControlNets |
| License | dev: non-commercial license; schnell: Apache 2.0 | CreativeML Open RAIL++-M |
Architecture and what it means for LoRAs
SDXL is a latent diffusion model with a convolutional UNet. LoRA adapters attach to the attention layers of that UNet and optionally to the two CLIP text encoders. Flux replaces the UNet with a transformer trained as a rectified-flow model, and its LoRAs attach to the transformer’s attention and projection layers. In practice this means Flux LoRAs learn faster and generalize better from fewer images, but each training step pushes far more parameters and needs more memory.
Flux’s T5-XXL encoder is the other major difference. It reads full sentences with grammar, which is why Flux follows detailed prompts so well and why Flux training captions should be written as sentences rather than tag lists. See the captioning guide for formats per model.
Hardware requirements
SDXL LoRA training fits on a 12 GB consumer card with default settings and on 8 GB with gradient checkpointing and 8-bit optimizers. Flux at bf16 precision wants 24 GB. Community trainers such as ai-toolkit and kohya sd-scripts bring Flux down to 12–16 GB by loading the transformer in fp8 or with quantization, at some cost in speed and fine detail. If you rent GPUs, an SDXL character LoRA typically trains in 20–40 minutes on an A10 or 3090-class card, while Flux runs closer to 1–2 hours for a comparable dataset.
Budget rule
Dataset and caption differences
| Dataset element | Flux.1 | SDXL |
|---|---|---|
| Image count (character) | 10–20 diverse images | 20–30 diverse images |
| Caption format | One sentence, 20–60 words, trigger first | Tags or short sentence, trigger first |
| Regularization images | Rarely used | Optional; helps preserve the class |
| Sensitivity to bad images | High: learns artifacts quickly | Moderate |
| Over-training signal | Plastic, over-smoothed skin | Over-sharpened, saturated, rigid poses |
Because Flux learns fast, it also learns your mistakes fast. One inconsistent image in a set of twelve has more influence than one in thirty. Curate aggressively and confirm every image agrees with the reference; our guide to identity drift lists what to check. For the count ranges behind both columns, see how many images a LoRA needs.
Starting training settings
| Parameter | Flux.1 dev | SDXL |
|---|---|---|
| Network rank / alpha | 16 / 16 | 32 / 16 |
| Learning rate | 1e-4 | 1e-4 UNet, 5e-5 text encoder |
| Optimizer | AdamW8bit or Prodigy | AdamW8bit or Prodigy |
| Total steps (20 images) | 1,000–2,000 | 2,000–3,000 |
| Batch size | 1 | 1–2 |
| Train text encoder | Off (T5 frozen) | Optional, low rate |
| Guidance scale for samples | 3.5 | 7 |
Output quality and flexibility
On photorealistic faces, Flux LoRAs are generally more faithful and hold identity across a wider range of prompts, especially scenes with multiple subjects or readable text. SDXL LoRAs remain excellent for stylized and illustrated characters, where its huge library of fine-tuned checkpoints lets you retarget the same LoRA to anime, painterly, or 3D looks. SDXL also has mature ControlNet and IP-Adapter support for pose and composition control, while Flux’s control tooling is newer.
Licensing for commercial work
This is where many creators get surprised. Flux.1 dev is released under the FLUX.1 [dev] Non-Commercial License, which restricts commercial use of the model and its outputs without a separate agreement from Black Forest Labs. Flux.1 schnell is Apache 2.0 and free for commercial use, but it is a distilled four-step model that is harder to fine-tune well. SDXL uses the CreativeML Open RAIL++-M license, which permits commercial use subject to its use restrictions. If you plan to sell outputs or ship a product, verify the current license text before choosing a base.
Check the license, not the forum post
Which should you choose?
| Your situation | Recommendation | Why |
|---|---|---|
| Photorealistic character, 24 GB GPU or cloud budget | Flux.1 dev | Best face fidelity and prompt adherence |
| Commercial product on a budget | SDXL | Permissive license, cheap training, huge ecosystem |
| Anime or illustrated character | SDXL | Style checkpoints and LoRA compatibility |
| 12 GB consumer GPU, no cloud | SDXL | Trains comfortably; Flux needs quantization tricks |
| Only one reference image | Either | Expand to a diverse set first; Flux needs fewer, SDXL more |
| Need ControlNet pose control today | SDXL | Mature control tooling |
One dataset, both models
You do not have to pick before you build the dataset. A well-curated 20–30 image set at 1024 px with trigger-first captions trains on both. Write captions as sentences; SDXL handles them fine and Flux prefers them. LoRA Dataset exports exactly that format: identity-consistent variations of one reference at 1024 px, each with a natural-language caption starting with your trigger token, so you can train a Flux version and an SDXL version from the same folder and compare.
Frequently asked questions
Is Flux better than SDXL for LoRA training?
Flux produces more faithful photorealistic faces and follows prompts better, but it needs more VRAM, trains slower, and Flux.1 dev has a non-commercial license. SDXL is faster, cheaper, and has a larger ecosystem. The better choice depends on hardware, style, and licensing needs.
How much VRAM do I need to train a Flux LoRA?
About 24 GB at bf16 precision. Trainers such as ai-toolkit and kohya sd-scripts can reduce this to 12 to 16 GB using fp8 or quantized loading, with slower training and slightly reduced detail.
Can I use the same dataset for Flux and SDXL?
Yes. A 20 to 30 image set at 1024 pixels with sentence-style captions that start with the trigger word trains well on both models. Flux may need fewer of the images, but the same folder works.
Can I use Flux.1 dev LoRAs commercially?
Flux.1 dev is under a non-commercial license that restricts commercial use without an agreement from Black Forest Labs. Flux.1 schnell is Apache 2.0 and SDXL is CreativeML Open RAIL++-M, both of which permit commercial use subject to their terms. Always check the current model card.
Do Flux LoRAs need fewer training steps?
Usually. A 20-image character LoRA on Flux typically converges in 1,000 to 2,000 steps, compared with 2,000 to 3,000 on SDXL, because the larger model learns identity faster. Over-training on Flux shows up as plastic, over-smoothed skin.
Sources and further reading
- Black Forest Labs, "Announcing Black Forest Labs" (Flux.1 release, licensing)
- Podell et al., "SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis" (arXiv, 2023)
- FLUX.1 [dev] model card and license on Hugging Face
- Stable Diffusion XL 1.0 model card and CreativeML Open RAIL++-M license
- kohya-ss/sd-scripts: SDXL and Flux LoRA training