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 | from $0.0030 |
| 4b distilled | inference.flux-2.klein.4b.txt2img.v1 |
Fastest generation, prototyping | ~0.5s | from $0.0030 |
| base-9b | inference.flux-2.klein.base-9b.txt2img.v1 |
Highest quality in the Klein range | ~6s | from $0.0030 |
| base-4b | inference.flux-2.klein.base-4b.txt2img.v1 |
Tuning prompt adherence at low cost | ~3.5s | from $0.0030 |
| default | inference.flux-2.klein.txt2img.v1 |
Sensible default (alias of 4b distilled) | ~0.5s | from $0.0030 |
Prices are per image and rise with output resolution (megapixel bucket) and the number of input images. The full 4b distilled table is on the FLUX.2 Klein 4B Pricing page, and every Klein variant is on the Pricing page.
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 (1 MP, no inputs) | $0.012 | $0.0030 | $0.0030 |
| 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 — a fraction of Dev’s per-image price, 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" }}