FLUX.2 klein 9B — GGUF build
9B step-distilled text-to-image — 4 inference steps, ~8s per 1024² image on an A100.
What this repo is: a requantized, split-layout build of the upstream model — weights only, not a retrain. The recommended settings below are the values these weights are actually run with day to day, not copied from the upstream card.
Samples
img2img
One source, three prompts, identical settings — so the difference you see is the prompt.
Do not run img2img at the txt2img step count
This model's txt2img preset is 4 steps — it is a distilled 4-step model and that is
correct for text-to-image. Running img2img at 4 steps produces output
indistinguishable from the source at every strength from 0.3 to 0.9: there is
not enough schedule left to restyle anything.
At 24 steps with guidance 4.0 — the settings this repo's own img2img integration test uses — it restyles properly. The three results above are the same photograph as oil, watercolour and pencil, with the composition intact in each and the medium genuinely different rather than a colour filter.
If img2img appears to do nothing, check the step count before anything else.
Recommended settings
Values this build is run with in practice. They are read out of a live config when this card is generated, so they cannot drift from what is actually used.
| Parameter | Production value | Meaning |
|---|---|---|
width | 1024 | Output width in pixels |
height | 1024 | Output height in pixels |
steps | 4 | Denoising steps |
guidance | 1.0 | Guidance scale |
max_sequence_length | 512 | Max prompt tokens |
strength | 0.9 | img2img denoise strength (1.0 = ignore the input image) |
Supported modes: txt2img, img2img
Notes and gotchas
- 4 steps is not a typo. FLUX.2 [klein] is step-distilled to 4 inference steps at guidance 1.0, per the upstream model card.
- Do not run this at 50 steps / guidance 4.0. An earlier preset did exactly that — roughly 10× slower (measured 78s → 8s on the A100) and the wrong guidance for a guidance-distilled model.
- img2img
strength0.90 is the verified value for this build.
Layout
Components ship as separate files rather than one bundle: the transformer, the text encoder(s) and the VAE each load independently, with configs and tokenizers under config/. Any loader that accepts explicit per-component paths can consume this directly — point it at the files listed below.
A generic
diffuserssnippet is deliberately omitted. This is a repacked split layout with substituted encoders, so an upstream example will not load it unmodified, and an untested snippet would be worse than none.
Files
| File | Size | Role |
|---|---|---|
split/flux-2-klein-9b-Q5_K_M.gguf | 6.54 GB | transformer (main weights) |
split/text_encoders/Qwen3-8B-Q4_K_M.gguf | 4.68 GB | text encoder |
split/vae/flux2-vae.safetensors | 320.64 MB | VAE |
config/tokenizer/tokenizer.json | 10.89 MB | tokenizer / processor |
config/tokenizer/tokenizer_config.json | 9.50 KB | tokenizer / processor |
config/tokenizer/config.json | 728 B | tokenizer / processor |
config/tokenizer/generation_config.json | 239 B | tokenizer / processor |
Provenance
- Upstream base model:
black-forest-labs/FLUX.2-klein-9B(upstream license: other) - This build: requantized and relaid out into a split component layout. Weights are not retrained; only the format and directory layout differ.
- License: left as
unknownin this repo's metadata. Refer to the upstream model's license for redistribution and commercial-use terms — several of these bases are non-commercial.