> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnichar.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Train a FLUX.2 LoRA in about 8.6GB

> Train a FLUX.2 LoRA locally on klein Base 4B or 9B. 4B peaks at 8.6GB at 512px and 9.9GB at 1024px, so both resolutions fit a 16GB card.

FLUX.2 is the cheapest model to train, and both resolutions fit a 16GB card. You train on an undistilled klein Base build and generate with the distilled klein checkpoint. The LoRA carries over unchanged, and there's no adapter to download.

## Choose a base

> [tab] klein Base 4B (default)
>
> Put `flux-2-klein-base-4b.safetensors` in `models/diffusion_models/`, train, then generate with the distilled **klein 4B** checkpoint. Apache-2.0 and ungated.

> [tab] klein Base 9B
>
> The larger tier. Put `flux-2-klein-base-9b.safetensors` in `models/diffusion_models/` with the **Qwen3-8B** text encoder in `models/text_encoders/`. 9B doesn't use the 4B encoder; the model popup fetches the right one once **Base** is set to 9B. This checkpoint is gated and non-commercial, so accept Black Forest Labs' licence on Hugging Face first.

Both bases can sit in `models/diffusion_models/` at once; the **Base** setting picks which one a run trains. The trainer refuses a distilled checkpoint at the start, instead of letting a run produce a bad adapter hours later.

## VRAM

Measured on an L40S. These peaks leave room on a smaller card, but no 16GB run has been done.

| Configuration | bf16 base | 4-bit base |
| - | - | - |
| klein Base 4B, 512px | 8.6GB | 8.6GB |
| klein Base 4B, 1024px | 9.9GB | 9.9GB |
| klein Base 9B, 512px | 19.2GB | 15.7GB |
| klein Base 9B, 1024px | 20.8GB | 16.9GB |

## Leave base precision on Auto

On 4B, the 4-bit base saves nothing and costs about 10 percent a step. klein's base is 7.4GB and its Qwen3-4B text encoder is 7.5GB, so the peak comes from the caption and latent caching pass at the start of the run, not from training. Quantizing the frozen base shrinks a part of the run that was never the peak. Auto keeps it at bf16.

On 9B, 4-bit drops the resident base from 18.2GB to 4.7GB but the peak only to about 16GB, because the Qwen3-8B caching pass sets the ceiling. A 24GB card runs 9B in bf16. 4-bit is for a card short of that, and it doesn't make the run faster. Black Forest Labs' own floor for 9B is 22GB of VRAM and 64GB of system RAM.

## Speed

On an L40S, klein Base 4B trains at about 0.3s a step at 512px and 1.0s at 1024px, so a 1500-step run takes around 8 minutes at 512px and 25 minutes at 1024px. 9B runs at about 0.53s and 1.95s a step. FLUX.2 hasn't been timed on a T4.

## Licence

klein 4B, its Base build and the VAE are Apache-2.0. FLUX.2 dev and the 9B builds are non-commercial.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.