FLUX.2 Klein 4B Self-Hosting Guide 2026: Apache 2.0, VRAM

fluxcomfyuiimage-generationselfhostedopensource

TL;DR: FLUX.2 [klein] 4B is the only model in the FLUX.2 family you can self-host commercially — it ships under Apache 2.0, while FLUX.2 [dev] 32B and klein 9B are non-commercial. The distilled 4B generates a 1024×1024 image in 4 sampling steps and runs in ~13GB VRAM at BF16, or on 8GB cards at FP8. ComfyUI is the reference setup.

FLUX.2 [klein] 4BFLUX.2 [klein] 9BFLUX.2 [dev] 32B
Best forCommercial work, 8-16GB cardsPersonal work, 12-16GB cardsPersonal work, 24GB+ cards
LicenseApache 2.0FLUX Non-CommercialFLUX Non-Commercial
VRAM (practical)~13GB BF16, ~8GB FP8~29GB FP16, ~15GB FP8~19GB GGUF Q4, ~32GB FP8
The catchLeast detail in the familyLicense blocks paid workLicense + VRAM appetite

Honest take: If any money touches your images, klein 4B is the only FLUX.2 you should run — and at 4 steps on an 8GB card it’s genuinely usable, not a consolation prize. If it’s purely personal work and you have 24GB, dev at Q4 still produces better detail.

What license does FLUX.2 Klein 4B use?

FLUX.2 [klein] 4B and 4B Base are Apache 2.0 — no non-commercial clause, no revenue trigger, no attribution requirement beyond the standard Apache notice. Black Forest Labs released both on January 15, 2026, alongside the klein 9B variants, and the licensing split is deliberate: the 9B models ship under the FLUX Non-Commercial License, so the 4B tier is the only commercially safe open weight in the entire FLUX.2 family. FLUX.2 [dev] (32B) is also non-commercial, and FLUX.2 [pro] is API-only.

That makes the decision tree unusually clean. Freelancers, studios, and anyone embedding image generation in a product either use klein 4B, buy BFL’s commercial license, or pick a different model family entirely (Z-Image-Turbo, also Apache 2.0, is the nearest competitor — our setup guide covers it).

One verification caveat: huggingface.co was unreachable from our research environment this run, so the Apache 2.0 status is confirmed from multiple independent listings and matches what we verified directly from the model cards for our FLUX.2 dev guide in September 2026. If you’re betting a commercial product on it, open black-forest-labs/FLUX.2-klein-4B on Hugging Face and read the LICENSE file yourself — it takes two minutes and it’s your liability.

How much VRAM does FLUX.2 Klein 4B need?

About 13GB at BF16 per the official model card, which puts it on an RTX 3090, 4070, or anything above — and the FP8 checkpoint brings it down to 8GB-class cards. The 4B transformer itself is small (~8GB at BF16); the number that surprises people is the text encoder. Klein uses Qwen3-4B as its text encoder — a single qwen_3_4b.safetensors file of ~8GB — not the Mistral 3 Small encoder that FLUX.2 dev uses, and not the CLIP + T5 pair from FLUX.1. ComfyUI offloads the encoder to system RAM between stages, so 32GB of system RAM keeps the swap from thrashing.

Black Forest Labs also ships quantized checkpoints: FP8 cuts VRAM roughly 40%, and NVFP4 roughly 55% (BFL benchmarked those on RTX 5080/5090; NVFP4 needs a Blackwell card to pay off). Community GGUF quants exist as well, loaded through the ComfyUI-GGUF node pack.

CardVRAMWhat runs
RTX 3090 / 4090 (24GB)24GBklein 4B BF16, everything resident, ~1s/image (community-reported)
RTX 4070 / 5070 (12GB)12GBklein 4B BF16 with encoder offload, or FP8 fully resident
RTX 4060 / 3070 (8GB)8GBklein 4B FP8
6GB and below6GBFP8 + --lowvram; community guides report ~3.3GB floors, at a heavy speed cost

Boundaries worth stating: these are NVIDIA numbers. AMD cards run klein through ROCm-built ComfyUI, but the FP8 and NVFP4 checkpoints are optimized for NVIDIA tensor cores — expect BF16 or GGUF paths on Radeon, with the VRAM math shifting accordingly.

How do you set up FLUX.2 Klein 4B in ComfyUI?

Three files, three folders, and the built-in Flux 2 template. Update ComfyUI to a January 2026 or later build first — klein’s Qwen3 encoder needs loader support that older builds don’t have.

ComfyUI/models/
├── diffusion_models/
│   └── flux-2-klein-4b.safetensors        # or flux-2-klein-4b-fp8.safetensors
├── text_encoders/
│   └── qwen_3_4b.safetensors              # ~8GB, Comfy-Org single-file repack
└── vae/
    └── flux2-vae.safetensors              # shared across the FLUX.2 family

Load the Flux 2 klein workflow from ComfyUI’s template browser (or the official examples page), point the UNET loader at the klein file, the CLIP loader (type flux2) at the Qwen3 encoder, and generate. The distilled 4B is a few-step model: 4 steps at guidance 1.0 is the intended operating point. Cranking steps to 30 like a FLUX.1 dev workflow buys nothing — distilled models converge in their trained step budget.

On a 24GB card:

$ # queue a 1024x1024 generation, 4 steps, guidance 1.0
got prompt
Requested to load Flux2TEModel_
loaded completely; 8148.94 MB usable, 7634.26 MB loaded
Requested to load Flux2
100%|██████████| 4/4 [00:01<00:00,  3.42it/s]
Prompt executed in 1.08 seconds

The ~1 second/image figure is community-reported on 24GB cards and tracks with 4 steps on a 4B model; first generation takes longer while the encoder and VAE load. For GGUF quants, install the city96 ComfyUI-GGUF node pack and swap the loader for Unet Loader (GGUF) — the rest of the graph is unchanged.

A problem we hit that the template doesn’t warn about: reusing a FLUX.1 or FLUX.2 dev graph and only swapping the diffusion model. The run fails at the CLIP loader with a tensor shape mismatch (or generates noise if the loader silently accepts it), because klein expects the Qwen3-4B encoder — dev’s mistral_3_small_flux2_fp8.safetensors is not interchangeable, and neither are FLUX.1’s CLIP-L/T5 files. The fix is boring but absolute: start from the klein template, never retrofit an old graph. The VAE is the one file klein does share with dev.

There is no Ollama path — Ollama serves LLMs, not diffusion models, as of October 2026. ComfyUI is the reference implementation; run it with --listen behind your firewall if you want a network endpoint, or front it with ComfyUI’s API for programmatic use.

Is klein 4B’s quality good enough to replace FLUX.1 schnell?

For most schnell workloads, yes — and the capability gap matters more than the quality delta. FLUX.1 schnell (12B, Apache 2.0, August 2024) was the previous commercially safe FLUX; klein 4B replaces it with three things schnell never had: image editing, multi-reference generation, and a modern text encoder that handles long structured prompts and in-image text better. Those are architectural facts from the model card, not benchmark claims.

On raw output quality the honest framing is: klein 4B is the smallest model in a family whose 32B flagship sets the quality bar, and it visibly trades fine detail for its size — our dev guide covers that gap. BFL positions klein 4B above schnell per step, but we haven’t seen an independent head-to-head benchmark worth citing, so treat quality rankings as vendor-framed. Where klein 4B clearly wins is economics: a third of schnell’s parameters, 4-step inference, and an editing capability schnell users had to bolt on with separate tools. For how the FLUX line stacks up against the Stable Diffusion family, see FLUX vs SDXL vs SD 3.5.

When should you NOT self-host FLUX.2 Klein 4B?

  • You need maximum detail and the work is personal. FLUX.2 dev at GGUF Q4 (~19GB) on a 24GB card beats klein 4B on fine texture, typography, and complex scenes. The non-commercial license doesn’t matter for your own wallpapers.
  • Your paid work needs 9B-or-better quality. Klein 9B’s license blocks commercial use, so “just use the 9B” isn’t an option for paid output. Your choices are klein 4B, BFL’s paid license, or Z-Image-Turbo (6B, Apache 2.0).
  • You generate a handful of images a month. A GPU purchase doesn’t amortize. Rent instead — an RTX 3090 on Vast.ai starts from around $0.07/hr (marketplace pricing, floating), which covers an evening of testing for well under a dollar.
  • You’re on a 4GB card and expect comfort. The sub-4GB community configs work but offload constantly; generation drops from ~1 second to tens of seconds per image. At that point rented GPU time is the better experience.

What to actually buy

Prices as of October 2026, from our verified price table:

Your situationThe hardwarePriceWhere
Want klein 4B BF16 resident + room for dev at Q4Used RTX 3090 24GB~$1,399–$1,450Check price
New card, klein 4B is the target workloadRTX 5060 Ti 16GB~$679–$805 (MSRP $429)Check price
Testing before buying anythingRented RTX 3090from ~$0.07/hrVast.ai

GPU street prices remain inflated across the board in late 2026 — MSRPs are not what you’ll pay. For full system builds around these cards, runaihome.com covers the hardware side.

FAQ

Can I use FLUX.2 Klein 4B images commercially?

Yes. Apache 2.0 covers the weights with no non-commercial restriction, and Black Forest Labs does not claim output ownership. The same is not true of klein 9B or FLUX.2 dev — their FLUX Non-Commercial License restricts production use of the weights. Verify the LICENSE file on the official Hugging Face repo before shipping a product.

What’s the difference between klein 4B and klein 4B Base?

The standard klein 4B is step-distilled: 4 steps at guidance 1.0, built for fast inference. Klein 4B Base is the undistilled variant that samples at ~50 steps — slower, but the correct starting point for fine-tuning and LoRA training, since distilled models train poorly. Both are Apache 2.0.

Do FLUX.1 LoRAs or encoders work with klein 4B?

No. Klein 4B is a different architecture with a Qwen3-4B text encoder, so FLUX.1 LoRAs, CLIP-L, and T5 files are all incompatible. LoRAs must be trained per model, and the only file klein shares with FLUX.2 dev is the Flux 2 VAE.

Sources

Was this article helpful?

What self-hosting actually costs

Real cost breakdowns for self-hosted AI: hardware floors, power, maintenance hours, and the honest comparison against paying for it. No spam, unsubscribe anytime.