Black Forest Labs Releases FLUX.3 Image Klein with Bounding-Box Layout Control
Black Forest Labs launched FLUX.3 Image Klein with day-one support in Hugging Face Diffusers. The model introduces normalized bounding-box layout control, multi-reference editing, and quantized FP8 and NVFP4 checkpoints that generate 1024x1024 images in two seconds on an H100.

Why it matters
You can now dictate exact spatial composition and object coordinates in generated graphics directly via prompt-level JSON bounding boxes.
TL;DR
- 01Layout control uses normalized JSON bounding boxes on a 0–1000 scale directly inside Diffusers.
- 02Distilled checkpoint renders 1024x1024 images in ~2 seconds on NVIDIA H100 accelerators.
- 03FP8 and NVFP4 single-file weights allow lower VRAM execution on modern hardware.
Key facts
- Distilled Latency
- ~2s for 1024x1024 on H100
- Default Steps
- 16 (distilled), 50 (base)
- Quantization
- NVFP4, FP8 (fp8r), bfloat16
- Text Encoder
- Qwen3-VL
- Layout Scale
- 0 to 1000 normalized coordinates
Spatial Control via JSON Bounding Boxes
FLUX.3 Image Klein introduces direct layout conditioning within prompt captions. Developers define a caption containing bracketed tokens like <silhouette_1> and append a JSON array defining each token's location and description:
[{"id": "silhouette_1", "bbox": [150, 150, 850, 850], "desc": "A black silhouette of a person in motion."}]Coordinates use a normalized 0–1000 scale ordered [y_min, x_min, y_max, x_max], making layout definitions resolution-agnostic. For targeted editing, the API accepts src_bbox and tgt_bbox keys alongside reference image tags like <ref_image_0>, allowing specific entities to be moved across the frame while the surrounding scene remains static.
Checkpoints and Quantized Pipeline Setup
The model ships in black-forest-labs/flux-3-image-klein (distilled, 16 steps default) and black-forest-labs/flux-3-image-klein-base (50 steps default with guidance_scale=5.0). The distilled variant generates 1024×1024 outputs in approximately 2 seconds on an H100.
Memory footprint can be reduced using the single-file loader with fp8r (rowwise FP8) or nvfp4 weights via Flux3Transformer2DModel.from_single_file and BFLQuantizationConfig. NVFP4 targets Ada, Hopper, and Blackwell architectures, dequantizing weights at each step to drastically lower VRAM usage.
Try it in 2 minutes
import torch
from diffusers import ModularPipeline
pipe = ModularPipeline.from_pretrained("black-forest-labs/flux-3-image-klein")
pipe.load_components(dtype=torch.bfloat16)
image = pipe(
prompt="a red fox",
generator=torch.Generator().manual_seed(0),
output="images",
)[0]
image.save("fox.png")python
✓ When to use
- Generating complex compositions where subjects must reside in precise screen regions.
- Multi-reference image editing requiring selective object displacement without backdrop shifts.
- Production image microservices needing fast sub-3-second diffusion generation on NVIDIA H100.
✕ When NOT to use
- Deployments on edge devices lacking FP8/NVFP4 matrix acceleration.
- Pure conversational multimodal workflows where standard visual question-answering LLMs suffice.
What to do today
- Upgrade diffusers and transformers to the latest versions supporting ModularPipeline and Qwen3-VL.
- Test bounding-box prompting with src_bbox and tgt_bbox dictionaries to pin static background objects during edits.