Guide: Train Your First FLUX LoRA in Under 6 Hours
LoRA (Low-Rank Adaptation) lets you fine-tune a model on your own images without training from scratch. This guide covers building a character or style LoRA for FLUX Dev using Kohya SS — the most reliable training tool available.
#Hardware Requirements
| GPU | VRAM | Training Time (10 epochs) |
|---|---|---|
| RTX 5080 | 16GB | ~2–3 hours |
| RTX 4090 | 24GB | ~1.5–2 hours |
| RTX 3080 16GB | 16GB | ~4–5 hours |
| RTX 3080 10GB | 10GB | Requires gradient checkpointing |
Minimum: 10GB VRAM with 8-bit Adam optimizer.
#Step 1 — Dataset Preparation
Quality of training data is 80% of your result.
Image Requirements
- →Quantity: 15–50 images (character LoRA), 50–200 (style LoRA)
- →Resolution: 1024x1024 minimum, consistent aspect ratio
- →Variety: Different angles, lighting, expressions (character), or diverse examples (style)
- →Quality: Sharp, no compression artifacts, no watermarks
Folder Structure
The number before the underscore (10_) is the repeat count — how many times each image is shown per epoch. For small datasets (15–20 images), use 10–15. For larger datasets (50+), use 3–5.
#Step 2 — Auto-Captioning
Every image needs a text caption. Use WD14 tagger for automatic captioning.
Edit the captions — Add your trigger word to the start of every caption:
Your trigger word (mycharcterv1) is what you type in prompts to activate the LoRA later.
#Step 3 — Install Kohya SS
#Step 4 — Training Configuration
Create flux_lora_config.toml:
Key Parameters Explained
network_dim (rank) — Controls LoRA size. Higher = more capacity, more VRAM.
- →Character LoRA:
32 - →Style LoRA:
16–64 - →Concept LoRA:
8–16
network_alpha — Usually set to half of dim. Controls learning rate scaling.
learning_rate — Start at 1e-4. If results are too strong, lower to 5e-5.
max_train_epochs — 8–12 for character, 5–8 for style.
#Step 5 — Run Training
RTX 5080 Performance
Watch the loss curve — it should decrease steadily. If it plateaus early, lower the learning rate.
#Step 6 — Evaluate Your LoRA
Test your LoRA in ComfyUI after each saved checkpoint:
Good signs:
- →Subject is recognizable at weight 0.7–0.9
- →Prompt still controls other elements (background, lighting)
- →No artifacts or distortion
Bad signs:
- →Only activates at weight 1.0+ (undertrained)
- →Breaks non-subject elements (overtrained)
- →Flickering or artifacts (learning rate too high)
#Step 7 — Export and Use
Your trained LoRA is saved as a .safetensors file in your output directory.
#Common Issues
OOM at start — Enable gradient_checkpointing = true and reduce batch_size to 1.
Loss not decreasing — Check your captions are correct and trigger word is consistent.
Subject not activating — Increase LoRA weight, or train more epochs.
Overfit (everything looks like subject) — Reduce epochs or increase dataset variety.
Slow training — Ensure cache_latents = true and mixed_precision = "bf16".