Skip to main content
Qwen-Image-2.1 is the latest open-weight release in the Qwen-Image series from Alibaba’s Qwen team. A single model covers both text-to-image generation and instruction-based image editing, with native 2K output, professional typography, and an alpha channel for transparent backgrounds. Key Features:
  • Generation and editing in one model: the same weights serve text-to-image prompts and editing instructions, so a workflow does not need to swap checkpoints
  • Native 2K output: generate at up to 2048x2048 directly instead of upscaling a smaller result
  • Professional typography: dense small text and complex layouts hold up, for infographics, slides, UI mockups, posters, and packaging designs
  • Alpha channel support: the VAE carries four channels, so transparent-background images can be generated and edited directly instead of being cut out afterwards
  • Multi-image editing: reference images are spliced into the text encoder in slot order. The Text Encode Qwen Image 2.1 node accepts up to 16 slots (image_1 to image_16); the two edit templates on this page wire the first 10 (image_1 to image_10). image_1 is the image being edited and the rest supply content, so the prompt addresses them by index, for example image_1 is written as <image1>
  • Localized edits: describe the object or region to change and the rest of the image is preserved
Related Links:

Qwen-Image-2.1 workflow

Make sure your ComfyUI is updated.Workflows in this guide can be found in the Workflow Templates. If you can’t find them in the template, your ComfyUI may be outdated.If nodes are missing when loading a workflow, possible reasons:
  1. You are not using the latest ComfyUI version (Nightly version)
  2. Some nodes failed to import at startup

Qwen Image 2.1 Text to Image

Generate an image from a text prompt at the aspect ratio and megapixel target you select. Qwen-Image-2.1 text to image workflow preview

Download Workflow

Download JSON or search “Qwen-Image-2.1” in Template Library

Run on Comfy Cloud

Run ComfyUI online with zero setup
Example output Qwen-Image-2.1 text to image example output

Qwen Image 2.1 Image Edit

Edit an image with an instruction. Add reference images when the edit needs content that is not in the source image, such as putting a garment from a second photo onto the person in the first. Qwen-Image-2.1 image edit workflow preview

Download Workflow

Download JSON or search “Qwen-Image-2.1” in Template Library

Run on Comfy Cloud

Run ComfyUI online with zero setup
Input materials Upload these files to the matching LoadImage nodes:

portrait_model_denim.png

LoadImage node 470 · portrait_model_denim.png

clothing_light_blue_denim_shirt.png

LoadImage node 475 · clothing_light_blue_denim_shirt.png
Example output
Input imageQwen-Image-2.1 image edit example output

Remove Background: Qwen Image 2.1

Remove the background from a photo with an edit instruction. The workflow reuses the image edit subgraph with the prompt Remove the background, and output a PNG image, then compares the result with the original. Qwen-Image-2.1 background removal workflow preview

Download Workflow

Download JSON or search “Qwen-Image-2.1” in Template Library

Run on Comfy Cloud

Run ComfyUI online with zero setup
Input materials Upload this file to the matching LoadImage node:

angry_broccoli.png

LoadImage node 470 · angry_broccoli.png

Qwen Image 2.1 Turbo: Text to Image

Generate an image from a text prompt with Qwen Image 2.1 Turbo, the distilled checkpoint of the same model that samples in 8 steps instead of 25. The output size comes from the same Resolution Selector node, and the optional prompt enhancer behaves as in the base workflow. Qwen Image 2.1 Turbo text to image workflow preview

Download Workflow

Download JSON or search “Qwen Image 2.1 Turbo” in Template Library

Run on Comfy Cloud

Run ComfyUI online with zero setup
Example output Qwen Image 2.1 Turbo text to image example output

Qwen Image 2.1 Turbo: Image Edit

Edit an image with an instruction on the same 8-step Turbo checkpoint. The reference slots work as in the base image edit workflow: image_1 is the image being edited, the rest supply content, and the prompt addresses them by index as <image1>, <image2>, and so on. Qwen Image 2.1 Turbo image edit workflow preview

Download Workflow

Download JSON or search “Qwen Image 2.1 Turbo” in Template Library

Run on Comfy Cloud

Run ComfyUI online with zero setup
Input materials Upload this file to the matching LoadImage node:

ballet_dancer_photography_minimalist_architecture.png

LoadImage node 470 · ballet_dancer_photography_minimalist_architecture.png
Example output
Input imageQwen Image 2.1 Turbo image edit example output
Every workflow on this page shares the same VAE and base text encoder, and the text-to-image and image-edit templates each add a separate prompt-enhancement text encoder: qwen3.5_9b_qwen_image_2.1_pe_t2i for text to image and qwen3.5_9b_qwen_image_2.1_pe_i2i for image edit. The two Turbo templates load the Turbo diffusion model in place of the base one. text_encoders diffusion_models vae Model Storage Location

Workflow settings

Sampler settings

The base workflows sample with steps 25, cfg 1, the euler sampler, and the simple scheduler. The two Turbo templates sample in 8 steps with cfg 1, the euler sampler, and the fixed ManualSigmas schedule that ships with the distilled checkpoint, so raise the step count only together with a different schedule. At cfg 1 ComfyUI skips the negative conditioning pass, so a negative prompt has no effect on these workflows. The template keeps cfg 1, which is the path Qwen-Image-2.1 is published for; raise it only when you want the negative prompt to take effect. cfg 2 follows dense prompts more closely, including small text and numbers, at the cost of over-sharpened edges. Higher values shift exposure toward over-bright or over-dim, cfg 5 degrades quality badly, and cfg 0.5 breaks the image. Change one value at a time, and compare at a fixed seed. steps is the second lever for the base workflows: the two Turbo templates keep the fixed eight-step ManualSigmas schedule, so the ranges below describe the base model. The published pipeline for Qwen-Image-2.1 uses about 40 to 50 steps with the euler sampler, and the base template starts lower at 25. Simple localized edits hold up at 4 to 8 steps, so a request such as changing one garment’s color runs several times faster than at the default, while edits that rewrite the whole frame lose coherence and need the full 25. Stubborn fine detail such as hands and fingers settles by about 30 steps, and going from 25 to 40 steps reduces fizzle in detailed areas. Adjust steps only when something specific fails to resolve.

Resolution

Text to image: the Resolution Selector node sets the aspect ratio and a megapixel target, where 1.0 MP is about 1024x1024. Qwen-Image-2.1 generates natively at 2K, so set the target to about 4.0 MP for a 2048x2048 square output. Image edit: the canvas comes from the resolution control on the Image Edit subgraph node (range 0 to 4096, step 32). The node’s own default is 1024, and the template ships 0. With custom_size off, which is the template default, the edit is generated at the size of the first reference image, image_1:
  • resolution 0 keeps each reference at its own pixel size, rounded to a multiple of 32, so a 3000x4000 photo gives a 3008x4000 canvas
  • resolution above 0 scales image_1’s aspect ratio to a resolution x resolution pixel budget, which is a total pixel count rather than a width or height, rounded to multiples of 32, so resolution 1024 on the same photo gives about 896x1184
Turn on custom_size to take the canvas from the Resolution Selector instead, and keep it close to the resized image_1 size, otherwise the edit can shift. The canvas size is what drives the cost: a 3000x4000 reference with resolution 0 samples at 3008x4000 (about 12 MP), while the same edit at resolution 1024 samples at about 896x1184 (about 1 MP). On an RTX 5090 that is roughly 6 s/it against about 0.3 s/it. Lowering resolution speeds an edit up by generating a smaller result, not by adding detail. If an edit feels slow, check resolution and the pixel size of the reference images before changing anything else. Several large references slow the edit further, and the KV cache settings below affect that cost. Targets well above the model’s 2K trained size, such as 4K, lose prompt adherence.

Prompting for image edit

Reference images are spliced into the text encoder in slot order, and the prompt addresses each one by index:
To point an edit at one region, mark that region on the image first. Open the Mask Editor on the LoadImage node that supplies image_1 (node 470: right-click the node, then Open in Mask Editor), paint over the region with the Paint Pen, and save. Paint Pen strokes go on the image’s RGB layer rather than into the mask, so saving writes the marked image back into the node and the marks become part of the reference the edit reads. Naming the mark’s color in the prompt points the instruction at that region, for example “change the jacket in the red area”. Keep the mark inside the region you want changed, and state the color you want in the prompt as well when the mark’s color appears in the output.

KV cache

The edit workflows include the Qwen Image 2.1 Cache node, which keeps the cached text and reference prefix in memory between sampling steps. The template defaults work for most setups. The node is experimental, and it exposes two controls:

Prompt enhancement

The text to image and image edit templates include an optional prompt enhancement step. A dedicated text encoder rewrites the prompt before sampling, turning a short request into a longer, more detailed one. All four templates expose the controls on the Qwen Image 2.1 subgraph node:
  • refine_prompt: off by default in all four templates. Turn it on to have the image model sample with the rewritten prompt instead of the prompt you typed
  • PE_model: the text encoder that performs the rewrite, qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors for text to image and qwen3.5_9b_qwen_image_2.1_pe_i2i.int8_convrot.safetensors for image edit
  • thinking_mode (thinking on the image edit templates): off by default in all four templates. The checkpoint is trained with a reasoning block and loses quality without it, so turn it on together with refine_prompt after raising max_length (see below)
  • max_length: the token budget shared by the reasoning block and the rewritten prompt. Every template ships 4096, and the node accepts up to 32768
A Preview Any node inside the subgraph shows the prompt that actually reaches the image model, so you can read the rewrite before deciding whether to keep it. The instruction the rewriting model follows lives in a Text (System Prompt) node that you can edit. Because the enhancement branch is only evaluated when refine_prompt is on, the enhancement text encoder is optional in all four templates; turn refine_prompt on to use it. The background removal template does not include this step. The templates ship max_length at 4096 so a single rewrite does not run for many minutes. The prompt-enhancer model cards (T2I, I2I) sample with max_new_tokens 16256 for text to image and 24000 for image edit, both with thinking on. When the reasoning block uses up the 4096 budget, it never closes and the enhancer returns an empty string. Preview Any shows nothing, and the image model samples that empty prompt: an edit comes back close to its input, and text to image loses the request. Raise max_length to the card value before turning thinking on, and expect a longer wait per rewrite.

VAE decoding artifacts

The stock Qwen-Image-2.1 VAE can leave a fine checkerboard texture in detailed photo-style output. The artifact comes from the decoder rather than from sampling, so raising the step count does not clear it. texture_fix_vae_for_qwen_image_2.1_bf16.safetensors is an unofficial finetune of the same decoder that decodes identical latents with cleaner texture. Put it in ComfyUI/models/vae/ and select it on the Load VAE node instead of qwen_image_2.1_vae_bf16.safetensors. It trades a little reconstruction accuracy for cleaner texture.

Faster sampling with the Turbo LoRA

A Turbo LoRA for the base checkpoint samples in 8 steps with cfg 1. The official file ships in the Comfy-Org/Qwen-Image-2.1 repository as qwen_image_2.1_turbo_lora_avg_rank_178_bf16.safetensors. Download it into ComfyUI/models/loras/ and load it with a LoraLoaderModelOnly node on the model line that feeds the sampler. The Turbo workflows take the other route: a separate Turbo diffusion model with a fixed eight-step ManualSigmas schedule. The LoRA reuses the base checkpoint, so that second download is not needed. The base templates already run cfg 1 with euler and simple, so set steps to 8 on the Qwen Image 2.1 subgraph node and leave the sampler and scheduler as they ship.

Faster sampling with the Lightning LoRA

The base workflows sample in 25 steps. Qwen-Image-2.1-Lightning is an unofficial 4-step distilled LoRA for the same base checkpoint. Download pytorch_lora_weights.safetensors into ComfyUI/models/loras/ and load it with a LoraLoaderModelOnly node on the model line that feeds the sampler. The LoRA runs at cfg 1 with a four-step schedule. Its card lists a 1.0, 0.75, 0.5, 0.25 grid, which is the grid before the exponential time shift the schedule is built with, not the values the sampler runs on. ComfyUI’s Qwen-Image-2.1 sampling settings carry the same shift, fitted at 1024x1024, so steps 4 with the template’s euler and simple reproduces the distilled schedule there: about 1.0, 0.857, 0.667, 0.4. Set steps to 4 on the Qwen Image 2.1 subgraph node and leave the scheduler as it ships. A ManualSigmas node is marked experimental and passes its numbers through unchanged, so a hand-written schedule has to start from the shifted values. ComfyUI fits its shift at 1024x1024, so the match loosens at other output sizes.

Alpha channel output

The Qwen-Image-2.1 VAE decodes four channels, so a decoded image carries alpha as well as RGB. The background removal workflow depends on this: the transparent background is generated into the alpha channel rather than cut out afterwards. Nodes and custom nodes written for three-channel images can fail on that output, and the error surfaces in the node that receives the image rather than on the Qwen-Image-2.1 nodes. Insert a SplitImageWithAlpha node after the decode and feed those nodes from its RGB output. Both nodes use the mask convention where 1 marks transparent pixels, so the mask output of one feeds the alpha input of JoinImageWithAlpha directly.