FLUX.2 Klein
FLUX.2 Klein is the lightweight branch of Black Forest Labs’ FLUX.2 family. While FLUX.2 Dev/Pro/Flex/Max target maximum fidelity at 32B parameters, Klein scales the same architecture down to 4B and 9B parameters and ships in two flavours per size: a distilled few-step variant for sub-second generation, and a base variant that trades speed for the standard 50-step classifier-free guidance pipeline.

Architecture
Section titled “Architecture”Klein is FLUX.2’s rectified flow transformer compressed into 4B- and 9B-parameter checkpoints. Each size comes in two variants:
- Distilled (
4b,9b) — step-distilled to produce a finished image in 1–4 inference steps. Optimised for latency. Noguidance_scaleparameter — guidance is baked into the distillation. - Base (
base-4b,base-9b) — undistilled checkpoints that run the full 1–50 step diffusion pipeline with adjustableguidance_scale. Slower, but exposes the classic levers for fine-tuning prompt adherence.
All Klein variants accept the same 32K-token prompts as the rest of the FLUX.2 family and support the 17 built-in style_preset values.
Choosing a variant
Section titled “Choosing a variant”| Variant | Job type | Best for | Typical time | Price |
|---|---|---|---|---|
| 9b distilled | inference.flux-2.klein.9b.txt2img.v1 | Best quality at low latency | ~1s | $0.010–0.015 |
| 4b distilled | inference.flux-2.klein.4b.txt2img.v1 | Fastest generation, prototyping | ~0.5s | $0.010–0.015 |
| base-9b | inference.flux-2.klein.base-9b.txt2img.v1 | Highest quality in the Klein range | ~6s | $0.020–0.030 |
| base-4b | inference.flux-2.klein.base-4b.txt2img.v1 | Tuning prompt adherence at low cost | ~3.5s | $0.015–0.020 |
| default | inference.flux-2.klein.txt2img.v1 | Sensible default (alias of 4b distilled) | ~0.5s | $0.010–0.015 |
The unversioned klein.txt2img.v1 and klein.img2img.v1 job types are stable aliases — currently routed to the 4b distilled variant for the best latency/cost tradeoff. Pin to a specific size (4b, 9b, base-4b, base-9b) when you need consistent output across calls.
Klein vs FLUX.2 Dev/Pro
Section titled “Klein vs FLUX.2 Dev/Pro”| Feature | FLUX.2 Dev | FLUX.2 Klein 9b | FLUX.2 Klein 4b |
|---|---|---|---|
| Parameters | 32B | 9B | 4B |
| Generation time (txt2img) | ~3s | ~1.5s | ~0.5s |
| Price | $0.010–0.015 | $0.010–0.015 | $0.010–0.015 |
| Max resolution | 1920px | 2048px | 2048px |
| Distilled (few-step) variant | No | Yes (9b) | Yes (4b) |
Base variant with guidance_scale | Yes | Yes (base-9b) | Yes (base-4b) |
| Style presets | 17 | 17 | 17 |
| Max prompt length | 32K tokens | 32K tokens | 32K tokens |
| HEX colour control | Yes | Yes | Yes |
Klein matches FLUX.2 Dev on prompt handling and feature set. The tradeoff is fidelity — for portraits, text-in-image, and complex multi-subject compositions, Dev/Pro/Flex/Max still produce noticeably better output. Klein wins when you need many images per second or low-cost prototyping.
When to use FLUX.2 Klein
Section titled “When to use FLUX.2 Klein”- Interactive UIs — sub-second generation is fast enough to feel real-time in a prompt-and-preview loop
- Batch generation at scale — generate hundreds or thousands of images for synthetic data, A/B testing, or content libraries
- Prototyping prompts — iterate on a prompt with the 4b distilled variant, then graduate to FLUX.2 Pro or Max for the final render
- Cost-sensitive workloads — same flat per-call price as Dev, with much lower latency
- Tuneable guidance — when you need
guidance_scaleto steer prompt adherence, thebase-4bandbase-9bvariants give you that lever without leaving the Klein price band
For final-quality, photorealistic, or text-heavy output, prefer FLUX.2 Pro/Flex/Max or Recraft V4 for native text rendering.
Job types
Section titled “Job types”Text-to-image:
| Job type | Description | ETA |
|---|---|---|
inference.flux-2.klein.txt2img.v1 | Default (aliased to 4b distilled) | ~0.5s |
inference.flux-2.klein.4b.txt2img.v1 | 4B distilled — fastest | ~0.5s |
inference.flux-2.klein.9b.txt2img.v1 | 9B distilled — best quality at low latency | ~1.5s |
inference.flux-2.klein.base-4b.txt2img.v1 | 4B base — tuneable steps and guidance | ~3.5s |
inference.flux-2.klein.base-9b.txt2img.v1 | 9B base — highest quality | ~6s |
Image-to-image:
| Job type | Description | ETA |
|---|---|---|
inference.flux-2.klein.img2img.v1 | Default (aliased to 4b distilled) | ~0.5s |
inference.flux-2.klein.4b.img2img.v1 | 4B distilled img2img | ~0.5s |
inference.flux-2.klein.9b.img2img.v1 | 9B distilled img2img | ~2s |
inference.flux-2.klein.base-4b.img2img.v1 | 4B base img2img | ~5s |
inference.flux-2.klein.base-9b.img2img.v1 | 9B base img2img | ~8s |
All img2img variants accept up to 8 input images, each ≤1920x1920px.
Parameters
Section titled “Parameters”Common to all Klein variants:
prompt(required) — text description, up to 32K tokenswidth/height— output dimensions, 512–2048pxstyle_preset— one of3d-model,analog-film,anime,cinematic,comic-book,digital-art,enhance,fantasy-art,isometric,line-art,low-poly,neon-punk,origami,photographic,pixel-art,texture,craft-clayseed— integer for reproducible results
Distilled variants (4b, 9b, default) only:
steps— 1–4 (default: 4). Distilled inference is fastest at 4 steps; lower values trade quality for speed
Base variants (base-4b, base-9b) only:
steps— 1–50 (default: 50). More steps = more refinementguidance_scale— 1.0–10.0 (default: 4.0). Higher = more prompt-adherent, lower = more creative
Image-to-image (all variants):
images— optional array of input image filenames. Up to 8 images. When omitted, the first multipartinputpart is used and the output matches its dimensions
Prompting tips
Section titled “Prompting tips”- Pick the variant for the job: if you’re iterating, use
4bdistilled. If the prompt looks ready, render the final atbase-9bfor an extra quality bump without changing the model family - Use
style_presetrather than style keywords: the built-in presets (e.g.photographic,cinematic) produce more consistent results than appending “photorealistic, 4k” to your prompt - Reach for
base-*when distilled output drifts: if a distilled variant ignores part of your prompt, the base variant’sguidance_scale(try 5–7) typically pulls the model back on-prompt - Seed for reproducibility: Klein supports seeds across all variants — pin a seed when you’re A/B testing prompts to isolate the effect of wording changes
Examples
Section titled “Examples”Fast text-to-image (4b distilled, default):
{ "type": "inference.flux-2.klein.txt2img.v1", "config": { "prompt": "A serene mountain landscape at sunset, photorealistic, 4k", "width": 1024, "height": 1024 }}Higher quality at low latency (9b distilled):
{ "type": "inference.flux-2.klein.9b.txt2img.v1", "config": { "prompt": "A serene mountain landscape at sunset, photorealistic, 4k", "width": 1024, "height": 1024, "style_preset": "photographic", "seed": 42 }}Maximum quality with tuneable guidance (base-9b):
{ "type": "inference.flux-2.klein.base-9b.txt2img.v1", "config": { "prompt": "A serene mountain landscape at sunset, photorealistic, 4k", "width": 1024, "height": 1024, "steps": 50, "guidance_scale": 4.5 }}
Image-to-image (default 4b distilled):
{ "type": "inference.flux-2.klein.img2img.v1", "config": { "prompt": "Same scene as input but at midday with bright blue sky, photorealistic, 4k" }}