Skip to main content
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

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.
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.

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.