# FLUX.2 Klein

Source: https://docs.prodia.com/models/flux-2-klein/

FLUX.2 Klein is the lightweight branch of Black Forest Labs' FLUX.2 family. While [FLUX.2](https://docs.prodia.com/models/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.

![FLUX.2 Klein 9b — mountain sunset](https://docs.prodia.com/llms/assets/ce1d306d3104-flux-2-klein-9b-txt2img.jpg)

### 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. No `guidance_scale` parameter — guidance is baked into the distillation.
- *Base (`base-4b`, `base-9b`)* — undistilled checkpoints that run the full 1–50 step diffusion pipeline with adjustable `guidance_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

| 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

| 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

- *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_scale` to steer prompt adherence, the `base-4b` and `base-9b` variants give you that lever without leaving the Klein price band

For final-quality, photorealistic, or text-heavy output, prefer [FLUX.2](https://docs.prodia.com/models/flux-2/) Pro/Flex/Max or [Recraft V4](https://docs.prodia.com/models/recraft-v4/) for native text rendering.

### 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

*Common to all Klein variants:*

- `prompt` (required) — text description, up to 32K tokens
- `width` / `height` — output dimensions, 512–2048px
- `style_preset` — one of `3d-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-clay`
- `seed` — 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 refinement
- `guidance_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 multipart `input` part is used and the output matches its dimensions

### Prompting tips

- *Pick the variant for the job:* if you're iterating, use `4b` distilled. If the prompt looks ready, render the final at `base-9b` for an extra quality bump without changing the model family
- *Use `style_preset` rather 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's `guidance_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

Fast text-to-image (4b distilled, default):

```json
{
  "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):

```json
{
  "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):

```json
{
  "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
  }
}
```

![FLUX.2 Klein base-9b — same prompt rendered with the 50-step pipeline](https://docs.prodia.com/llms/assets/82f12fe9839b-flux-2-klein-base-9b-txt2img.jpg)

Image-to-image (default 4b distilled):

```json
{
  "type": "inference.flux-2.klein.img2img.v1",
  "config": {
    "prompt": "Same scene as input but at midday with bright blue sky, photorealistic, 4k"
  }
}
```

![FLUX.2 Klein img2img — the sunset landscape transformed to midday](https://docs.prodia.com/llms/assets/e36f226926c8-flux-2-klein-img2img.jpg)

### Guides

[Generating Images](https://docs.prodia.com/guides/generating-images/) — Step-by-step guide for generating images with Prodia — uses Klein by default.

[Transforming Images](https://docs.prodia.com/guides/transforming-images/) — Guide for image-to-image transformation — uses Klein img2img by default.
