Appearance
Black Forest Labs/FLUX.2-klein 9B
- License: FLUX Non-Commercial License
- Release date: 2026-01-15 (official model-family release announcement)
- Modalities: Input: text, image, multiple images; Output: image
- Original model: black-forest-labs/FLUX.2-klein-9B
Description
FLUX.2-klein 9B is a rectified-flow image model that combines text-to-image generation with single- and multi-reference editing. Its 9B flow transformer uses a separate 8B Qwen3 text encoder and is step-distilled for four-step inference, targeting interactive generation and editing. This checkpoint is the distilled 9B model, not the base or KV variant.
Run
bash
self serve flux2-klein:9bHere is a link to the API docs: Image API.
Example Request
With the server running, open another terminal and send a request:
bash
curl http://localhost:8080/v1/images/generations \
-H 'Content-Type: application/json' \
-d '{
"prompt": "A red fox in a snowy forest",
"size": "1024x1024",
"n": 1,
"output_format": "png"
}' \
-o response.jsonThe server returns JSON with base64-encoded image bytes in data[0].b64_json, not a hosted image URL. Decode the first result with jq and base64:
bash
jq -r '.data[0].b64_json' response.json | base64 --decode > output.pngEngine Parameters
Served by the unmodified upstream stable-diffusion.cpp sd-server through the sd-server adapter, with one loaded pipeline per process. These are startup settings; defaults below come from the registry. Unset settings are delegated to the engine rather than assigned a default by the adapter.
| Parameter | Default | What it controls |
|---|---|---|
steps | 40 | Sampling steps; accepts integers from 1 to 200. The upstream distilled checkpoint recommends four steps, but the registry currently sets 40. |
cfg_scale | 1.0 | Guidance scale; accepts values from 0 to 50. |
sampling_method | euler | Sampling method; the adapter accepts only euler. |
flash_attention | true | Enable flash attention. |
offload_to_cpu | Unset (engine default) | Offload inactive model stages to CPU. |
threads | Unset (engine default) | CPU workers; accepts integers from 1 to 1024. |
seed | Unset (engine default) | Default seed; accepts integers from 0 to 9223372036854775807. |
Override startup settings with --set <parameter>=<value>.
Use --set steps=4 to select the upstream four-step recommendation. Per-request fields such as size, n and output_format belong in the API request, not --set; a request's seed overrides the startup seed. Backend sampling overrides can be supplied through sd_cpp_extra_args.sample_params; see the Image API for the backend-specific request format. Omitting overrides keeps the startup sampling defaults.
Quantizations and Files
Default variant: q4. Sizes and SHA-256 hashes are pinned in the model registry. The pipeline requires all three files listed, including the separate encoder and safetensors VAE.
q4 (default)
| File | Role | Size | SHA-256 | Origin |
|---|---|---|---|---|
flux-2-klein-9b-Q4_K_M.gguf | model | 5.50 GiB (5909829920 bytes) | 5489463ed96056b0bb5472abb5d1bba7055e48d574e37877acb43b407465e26f | unsloth/FLUX.2-klein-9B-GGUF |
split_files/vae/flux2-vae.safetensors | vae | 320.6 MiB (336211292 bytes) | 868fe7b343cc8f3a19dbcfcafbc3d5f888802be3f89bd81b65b3621a066ce8f3 | Comfy-Org/flux2-klein |
Qwen3-8B-Q4_K_M.gguf | text-encoder | 4.68 GiB (5027784512 bytes) | 120307ba529eb2439d6c430d94104dabd578497bc7bfe7e322b5d9933b449bd4 | unsloth/Qwen3-8B-GGUF |
Total download: 10.50 GiB (11273825724 bytes).
Notes
- The 9B checkpoint uses the FLUX Non-Commercial License, not the 4B model's Apache-2.0 license. Review all license and acceptable-use restrictions before deployment; the original card requires filters or manual review under the license.
- The API exposes
POST /v1/images/generationsand multipartPOST /v1/images/edits, with at most eight reference images. See the Image API for uploads and remote reference URLs. - Rendered text may be inaccurate, prompts may not be followed, and outputs may reflect training-data biases. The model is not a source of factual information.
- Download size is not the total runtime memory requirement. Upstream latency claims do not establish performance for this GGUF pipeline.
- Native inference, editing and GPU performance still need verification on target hardware; registration and mocked protocol tests are not an inference benchmark.
Quality benchmarks
Arena Text-to-Image: #62 (1070.29)
flux-2-klein-9b
Upstream model; not this local quantization
Published 2026-10-07; 150782 votes
Checked 2026-10-13
Arena Image Edit: #42 (1224.74)
flux-2-klein-9b
Upstream model; not this local quantization
Published 2026-10-06; 540742 votes
Checked 2026-10-13
Benchmarks
No submitted benchmark reports yet.