Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ faster generation.
| **Z-Image** | Images | 6B model in a fast, few-step Turbo variant and a Base variant. Understands English and Chinese prompts, with ControlNets. | Apache 2.0 | [Z-Image](/users-guide/models/local-models/z-image/) |
| **ERNIE-Image** | Images | Baidu's 8B text-to-image model, in standard and distilled Turbo variants. | Apache 2.0 | [ERNIE-Image](/users-guide/models/local-models/ernie-image/) |
| **Qwen Image** | Images | Text-to-image (2512) and instruction-based image editing (Edit 2511), with fast Lightning variants. | Apache 2.0 | [Qwen Image](/users-guide/models/local-models/qwen-image/) |
| **Qwen-Image-2.1** | Images | 7B text-to-image model with strong text rendering and transparent (RGBA) output, in a base and an 8-step Turbo variant. | Non-commercial | [Qwen-Image-2.1](/users-guide/models/local-models/qwen-image-2-1/) |
| **Qwen-Image-2.1** | Images | 7B text-to-image model with strong text rendering and transparent (RGBA) output, in a base and an 8-step Turbo variant. Edits from reference images, and LoRAs. | Non-commercial | [Qwen-Image-2.1](/users-guide/models/local-models/qwen-image-2-1/) |
| **Krea-2** | Images | 12B model in fast Turbo and undistilled Raw variants, with training-free style reference. | Community, free under $1M revenue | [Krea-2](/users-guide/models/local-models/krea-2/) |
| **Ideogram 4** | Images | Structured prompts that place described elements in regions of the image. | Non-commercial | [Ideogram 4](/users-guide/models/local-models/ideogram4/) |
| **Anima** | Images | Compact 2B anime-focused model, with ControlNet-LLLite adapters for inpainting and sketch guidance. | Non-commercial | [Anima](/users-guide/models/local-models/anima/) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,9 @@ not check, so a quantized file there fails with an unclear error or decodes inco
| FLUX.1 | ✓ (LyCORIS, Diffusers, OMI) | ✓ | Control LoRA, IP-Adapter, Redux |
| FLUX.2, Z-Image | ✓ (LyCORIS, Diffusers) | FLUX.2 [dev] (single-file checkpoint), Z-Image | |
| Qwen-Image, Krea-2, Wan 2.2, Anima | ✓ (LyCORIS/kohya, including LoKR where noted on the family page) | Qwen-Image (single-file checkpoint), Anima (ControlNet-LLLite) | |
| Qwen-Image-2.1 | ✓ (ComfyUI, diffusers/PEFT and kohya low-rank, and DoRA except LyCORIS DoRA on ComfyUI's fused `gate_up`; LoKR and LoHA install as unknown) | ✗ | |
| LTX-2, MiniMax H3 | ✓ (plain low-rank; LoKR, LoHA and DoRA are refused) | ✗ | |
| SD 3, CogView4, Ideogram 4, ERNIE-Image, Qwen-Image-2.1 | ✗ | ✗ | |
| SD 3, CogView4, Ideogram 4, ERNIE-Image | ✗ | ✗ | |

[PiD decoders](/users-guide/image-generation/advanced-topics/pid-decode/) load for FLUX.1, FLUX.2, SD 3, SDXL and
Qwen-Image (v1 and v1.5, bf16 and int8 builds).
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Two variants are available, and the variant is detected on install:
- **Qwen-Image-2.1** — the base model. 40 steps by default.
- **Qwen-Image-2.1 Turbo** — distilled for 8 steps on a fixed schedule of its own.

Text-to-image, image-to-image, inpainting and outpainting on the Canvas are supported. Reference images (image editing), LoRAs and regional guidance are not supported yet.
Text-to-image, image-to-image, inpainting and outpainting on the Canvas are supported, with the Diffusers models also edits from [reference images](#reference-images), and [LoRAs](#loras). Regional guidance is not supported yet.

### License

Expand Down Expand Up @@ -57,12 +57,31 @@ The text encoder runs first and is unloaded from the GPU when the transformer ne

The VAE needs about 8 GB of working memory to decode a 1024×1024 image, and is priced the same to encode one for image-to-image, inpainting or outpainting (twice that with `precision: float32`). When an image is too large for the card to handle in one piece, Invoke decodes and encodes it in tiles; see [Large decodes](/configuration/optimization/low-vram-mode/). Invoke picks 1024-pixel tiles, and 768 or 512 only on cards with less memory: measured at 2048×2048, 1024-pixel tiles came close to an untiled decode (47.7 dB PSNR), while the 256-pixel tiles other VAEs default to left visible seams (35.6 dB).

### Reference images

With a Qwen-Image-2.1 **Diffusers** model, add up to four images with **Add reference image** in the Guidance section (see [Adding reference images](/users-guide/image-generation/generate-panel/#adding-reference-images)) and say in the prompt what to do with them, for example *put the jacket from the first image on the person in the second* or *the same cat, as a watercolor*. The model reads each reference twice: its Qwen3-VL encoder looks at it alongside the prompt, and the transformer sees it as clean latents next to the image it generates.

- **Diffusers models only.** Only the encoder that comes with the Diffusers model keeps the Qwen3-VL vision tower, which reads the images. A single-file or GGUF transformer with a standalone encoder does not offer reference images, and on a Diffusers model the references refuse to run while a standalone **Qwen3-VL Encoder** is selected under **Components**; clear it to edit.
- **Size.** Each reference is read at about one megapixel at its own aspect ratio, whatever its size. The generated image takes the size set in the panel; **Use size** on a reference's thumbnail matches it.
- **Transparency.** The encoder sees a transparent reference over white, as the model was trained; its latents keep the transparency.
- **Memory.** The vision tower adds about 1.1 GB to the Diffusers model's encoder, on every generation with it. Each reference adds about 4,100 tokens to the start of the sequence, which the model keeps for the whole generation: about 2 GB per reference, twice that with **CFG** above 1. Where that would take more than half of the GPU, Invoke reprocesses the references at every step instead of keeping them, which uses less memory but takes noticeably longer. Reading the references also needs encoder memory that grows quickly with their number: about 7 GB beyond its weights for four, so on a 24 GB card part of the encoder then runs from system memory.

### Transparent images

The Qwen-Image-2.1 VAE decodes an alpha channel along with the colors, so a prompt such as *a sticker of a red fox on a transparent background* produces a cut-out image. An image is saved with transparency only when it has some: when more than 0.1% of its pixels are noticeably transparent. Opaque images are saved as ordinary RGB, so the faint edges tiled decoding leaves in the alpha channel never turn an opaque image transparent.

Image-to-image, inpainting and outpainting read the colors of the input image and treat it as fully opaque, whatever its alpha channel holds.

### LoRAs

Qwen-Image-2.1 LoRAs install like any other and appear under **Concepts** in the Generate panel. Files from ComfyUI (keys starting `diffusion_model.`), diffusers/PEFT trainers (`transformer.`) and Kohya-style trainers (`lora_unet_`) all load. ComfyUI's builds fuse each block's two MLP input projections into one `gate_up` layer; Invoke splits a LoRA on it to match the diffusers model.

- LoRAs for [Qwen Image](/users-guide/models/local-models/qwen-image/) (2512, Edit 2511) do not fit Qwen-Image-2.1 and are not offered for it, nor its LoRAs for them.
- They work on every format. On GGUF, int8 and fp8 transformers the LoRA runs alongside the packed weights rather than being merged into them. Full weight differences on the attention and text norms, which ComfyUI's Turbo LoRA carries, are merged on every format.
- A LoRA trained on the base model also applies to Turbo; how well it holds up at Turbo's 8 steps depends on the LoRA.
- Low-rank LoRAs (`lora_A`/`lora_B` or `lora_down`/`lora_up`) are recognized, DoRA ones included — except a LyCORIS DoRA on ComfyUI's fused `gate_up`, whose magnitude spans both halves and cannot be split. LoKR and LoHA files are not: they install as an unknown model and do not appear under **Concepts**.
- A LoRA is recognized only if every layer it targets exists in Qwen-Image-2.1, so none applies only in part. One case cannot be told apart: a FLUX.2 Klein 9B LoRA trained on nothing but the image attention of its first blocks has exactly the layers of a Qwen-Image-2.1 one, and installs as one.

### Generation settings

- **Steps** — 40 for the base model and 8 for Turbo. Turbo's schedule is tuned for 8 steps; other step counts are spread over the same curve and work, but 8 is what it was distilled for.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ Concepts, also called LoRAs, are small add-on models that teach the main model a

</Steps>

You can add as many concepts as you like and combine them. Use the switch on each row to turn a concept off without removing it, and the trash button to remove it. If you change to a model from a different family, its concepts are marked **Incompatible** or removed. SD3, CogView4, ERNIE Image, Ideogram 4, Qwen-Image-2.1 and external API models don't support concepts, so with one of them selected the section says so instead of offering LoRAs.
You can add as many concepts as you like and combine them. Use the switch on each row to turn a concept off without removing it, and the trash button to remove it. If you change to a model from a different family, its concepts are marked **Incompatible** or removed. SD3, CogView4, ERNIE Image, Ideogram 4 and external API models don't support concepts, so with one of them selected the section says so instead of offering LoRAs.

## Adding reference images

Expand All @@ -120,7 +120,7 @@ What a reference does, and what options it has, depends on the model family:
| **SD 1.5, SDXL** | An IP-Adapter model carries the reference's look into the image. | **Mode**: **Style**, **Composition** or **Both**. **Weight**. Under **Advanced**: the IP-Adapter model, a **Style variant** and the **Active steps** range. |
| **FLUX.1** | An IP-Adapter, or a **FLUX Redux** model, which transfers the reference's content. | IP-Adapter options as above, or **Image influence** (Lowest to Highest) for Redux. |
| **FLUX.1 Kontext** | Kontext edits or recombines the reference images according to your prompt. | None beyond the model. |
| **FLUX.2, Qwen Image Edit** | The model reads the references directly and uses them as your prompt instructs, for example *put the jacket from the first image on the person in the second*. | None. |
| **FLUX.2, Qwen Image Edit, Qwen-Image-2.1** | The model reads the references directly and uses them as your prompt instructs, for example *put the jacket from the first image on the person in the second*. | None. |
| **Krea-2** | One reference's look — palette, texture, rendering — is transferred into the image while the prompt keeps driving the content; see [Krea-2](/users-guide/models/local-models/krea-2/#style-reference). | **Style strength** (0–2; 0 turns the reference off). |

Reference images require an extra model for SD 1.5, SDXL and FLUX.1 (an IP-Adapter or FLUX Redux model). These are available as starter models in the Model Manager, and an installed IP-Adapter is selected automatically.
Expand Down
4 changes: 2 additions & 2 deletions docs/src/content/docs/contributing/new-model-integration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -885,8 +885,8 @@ Paths below are relative to `invokeai/frontend/webv2/src/features/generation/cor

### Reference images

- Backend: set `FeaturesFacet.max_reference_images` (and `reference_images_require_variant` if only one variant supports them). Wire the images into the text encoder and/or the denoise node, as the reference pipeline does.
- webv2: extend the reference-image config union (`types.ts`), `getDefaultReferenceImageConfig` and `getReferenceImageConfigSupported` (`baseGenerationPolicies.ts`), and wire the images in the builder.
- Backend: set `FeaturesFacet.max_reference_images`, plus `reference_images_require_variant` if only one variant supports them or `reference_images_require_format` if only one format does. Wire the images into the text encoder and/or the denoise node, as the reference pipeline does.
- webv2: extend the reference-image config union (`types.ts`); the config-type set and the normalize, clone and sync switches in `settings.ts`; the persisted union in `src/workbench/canvasMigration.ts`; and `getDefaultReferenceImageConfig` and `getReferenceImageConfigSupported` (`baseGenerationPolicies.ts`). Wire the images in the builder, and report any setting that keeps them from running in `getReferenceImageValidationReasons`, not only from the builder.

### Control and regional guidance

Expand Down
5 changes: 3 additions & 2 deletions docs/src/content/docs/development/Guides/recall-api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -250,12 +250,13 @@ separate adapter model:
- **FLUX.2 Klein** — built-in reference image support.
- **FLUX Kontext** — reference image associated with the main model.
- **Qwen Image Edit** — reference image associated with the main model.
- **Qwen-Image-2.1** — reference images read by its own encoder, on the Diffusers model only.

Because there is no adapter model to resolve, these entries carry only
`image_name`. When the frontend receives them, it picks the appropriate
config flavor (`flux2_reference_image`, `flux_kontext_reference_image`,
or `qwen_image_reference_image`) based on the currently-selected main
model, matching the behavior of a manual drag-and-drop.
`qwen_image_reference_image` or `qwen_image_2_1_reference_image`) based on
the currently-selected main model, matching the behavior of a manual drag-and-drop.

## Usage Examples

Expand Down
Loading
Loading