FLUX.3
FLUX.3 Image Klein is a 5.6B diffusion transformer from Black Forest Labs that generates images from text and edits or combines up to ten reference images. InvokeAI supports both published checkpoints:
- FLUX.3 Klein: step-distilled, for everyday use. Runs at 16 steps with CFG off (CFG Scale
1.0). It always samples without CFG, so Invoke is unavailable while CFG Scale is above 1. - FLUX.3 Klein Base: the undistilled checkpoint. Runs at 50 steps with CFG 3.5 and a negative prompt. It is meant mainly for fine-tuning and LoRA training, but generates normally too.
The variant is detected on install. A new FLUX.3 model starts with the defaults of its variant (steps, CFG, 1024×1024); when you switch from one variant to the other, use Reset all to model defaults in the Generate panel header to take over the new defaults.
License
Section titled “License”Both checkpoints are released under the FLUX Kommunity License v1.0: non-commercial use, or commercial use for companies below US$5M in annual revenue. The Black Forest Labs repositories are gated: accept the license on the model’s HuggingFace page and add your HuggingFace token under API Keys in the Model Manager. The GGUF copies are not gated, but the same license applies.
This is a summary, not legal advice. Read the full license on the model’s HuggingFace page before using a model commercially.
Hardware
Section titled “Hardware”| Transformer build | Transformer size | Notes |
|---|---|---|
| bf16 (Diffusers or single file) | ≈ 10.3 GiB | reference quality |
| GGUF Q8_0 (starter model) | ≈ 5.6 GiB | close to bf16 |
| GGUF Q4_K_M (starter model) | ≈ 3.1 GiB | lowest VRAM; fine detail differs from bf16 |
The Qwen3-VL 4B encoder (≈ 8.5 GB as bf16, about half as fp8) and the FLUX.2 VAE come on top. The encoder runs before the transformer, so the two do not have to fit on the GPU at the same time.
Reference images add to the work per step: each 1 MP reference costs about as much as the image itself. On an RTX 4090 a 1024² image takes about 15 s with Klein, 25 s with one reference, 50 s with three references, and about 50 s with Klein Base.
Installing
Section titled “Installing”The FLUX.3 launchpad bundle in the Model Manager installs the GGUF Q4_K_M transformer, the Qwen3-VL 4B encoder and the FLUX.2 VAE. None of these are gated.
FLUX.3 needs three components:
| Component | Diffusers install | GGUF / single-file install |
|---|---|---|
| Transformer | bundled | the .gguf or .safetensors file |
| VAE (FLUX.2) | bundled | installed separately |
| Text encoder (Qwen3-VL 4B) | bundled | installed separately |
- Diffusers (
black-forest-labs/flux-3-image-klein,black-forest-labs/flux-3-image-klein-base): an install of about 20 GB that bundles the VAE and the text encoder. Installing by repository id downloads only the Diffusers folders, not the single-file copy that sits next to them in the repository. - GGUF / single file: the file holds only the transformer. Install the FLUX.2 VAE and the Qwen3-VL 4B encoder as well. They are the same models FLUX.2 and Krea-2 use, so an existing install serves FLUX.3 too.
When you select a GGUF or single-file FLUX.3 model, pick the VAE and the Qwen3-VL encoder under Components if they are not filled in. A Diffusers model uses its bundled components unless you override them there.
Reference images
Section titled “Reference images”Add up to ten reference images on the Generate tab or the Canvas and describe the edit in the prompt. No extra model is needed. A single reference is used at up to 4 MP; with several, each is limited to 1 MP.
FLUX.3 names its references in the prompt as <ref_image_0>, <ref_image_1> and so on, for example
The fox from <ref_image_0> sitting next to the fox from <ref_image_1>. Each reference card shows its tag; click
the tag to copy it. Only enabled cards with an image are numbered, so turning a card off renumbers the cards below
it.
In the workflow editor, wrap each image in a Kontext Conditioning - FLUX node and connect them, or a collection of them, to the Reference Images input of Denoise - FLUX.3.
On Nvidia GPUs reference images are encoded whole, as in the reference pipelines, unless the card is too small for a large reference (a 4 MP reference needs about 8.5 GB to encode whole, so cards below 24 GB tile it). On AMD GPUs and Apple Silicon, where the encoder’s attention would need memory that grows with the square of the image size, they are always encoded in 512 px tiles. Tiling keeps memory bounded but changes the edit slightly.
Canvas
Section titled “Canvas”Image-to-image, inpainting and outpainting work on the Canvas as they do for FLUX.2. Using the canvas itself as a reference image is a manual step: create a reference image from the bounding box.
Layout boxes from regional guidance
Section titled “Layout boxes from regional guidance”On the Canvas, each enabled Regional Guidance layer becomes one box in the prompt. The layer’s Positive prompt describes what goes in the box, and the box is the rectangle around everything painted on the layer inside the generation frame. The shape does not matter, and separate painted areas on one layer share one box. A layer without a positive prompt is left out.
Without reference images, each box places an object. With reference images, FLUX.3 edits them, and each box says
where its content goes in the output: the boxes become edit rows with "from": "target" (see below).
FLUX.3 has one kind of box, so the layer offers no Region type. Regional negative prompts, auto-negative and regional reference images are not used with FLUX.3; the layer hides its negative prompt and auto-negative controls. When a layer with a positive prompt has paint inside the generation frame, the main prompt cannot be blank: Invoke is disabled with FLUX.3 needs a prompt to place regional guidance in its layout. Enter a prompt or disable the regional guidance layers.
The boxes are added when the generation runs, as the box table described below, so dynamic prompts and batches vary
the prompt in front of them. The caption FLUX.3 encoded is saved in the image’s metadata as flux3_caption; recalling
the image restores the prompt you typed.
Layout and box edits in the prompt
Section titled “Layout and box edits in the prompt”FLUX.3 reads a layout as the caption, one space, and a JSON list of rows, the box table, at the end of the prompt.
Boxes are [y_min, x_min, y_max, x_max] in whole numbers from 0 to 1000 across the image, with (0, 0) at the top
left. An object row places an object:
A misty coast at dawn. [{"id": "obj_1", "bbox": [80, 100, 450, 420], "desc": "a red hot-air balloon"}, {"id": "obj_2", "bbox": [300, 600, 950, 900], "desc": "a lighthouse on a cliff"}]An edit row, {"id", "from", "src_bbox", "tgt_bbox", "desc"}, takes an object from a reference image
("from": "ref_image_0") or adds a new one ("from": "target", with "src_bbox": null): src_bbox is where it is in
the reference, tgt_bbox where it goes in the output. Regional guidance writes only object rows and target rows.
Without regional guidance, InvokeAI adds nothing to the prompt. A list at the end of the prompt whose items are not
all rows like these, such as ["SALE"], is part of the caption. When boxes are added to a prompt that already ends
with a box table, its rows are kept, edit rows included, and the new rows follow them with ids numbered after the
highest obj_N.
PiD super-resolution decode
Section titled “PiD super-resolution decode”FLUX.3 latents are FLUX.2 latents, so the FLUX.2 PiD decoders decode them. See PiD Super-Resolution Decode.
Workflow nodes
Section titled “Workflow nodes”| Node | Purpose |
|---|---|
| Main Model - FLUX.3 | Loads the transformer, encoder and VAE |
| Layout Prompt - FLUX.3 | Adds boxes to a prompt as its box table, or to the table it already ends with: object rows, or with Edit Targets on, rows that place new content in the output of an edit. Each region is a description and a box [y_min, x_min, y_max, x_max] from 0 to 1000. Generate and Canvas graphs pass the prompt through it, turn on Edit Targets when reference images are attached, and fill its regions from regional guidance on the Canvas; the regions input has no editor widget |
| Prompt - FLUX.3 | Encodes the prompt |
| Denoise - FLUX.3 | Runs the diffusion; takes the VAE, optional reference images and, for Klein Base, CFG and a negative prompt |
| Latents to Image - FLUX2 / Image to Latents - FLUX2 | VAE decode / encode |
Denoise - FLUX.3 has no scheduler input: Klein steps its own flow map and Klein Base samples with Euler, as in the reference implementation.