--- title: "Qwen-Image-2.1 ComfyUI Native Workflow Example" description: "Run Qwen-Image-2.1 in ComfyUI: one model for image generation and editing, native 2K output, professional typography, and alpha channel support." sidebarTitle: "Qwen-Image-2.1" --- import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' **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 node exposes `image_1` through `image_16` slots, and the prompt addresses them by index, for example `image_1` is written as `` - **Localized edits**: describe the object or region to change and the rest of the image is preserved **Related Links**: - [GitHub Repository](https://github.com/QwenLM/Qwen-Image) - [Hugging Face (Comfy-Org/Qwen-Image-2.1)](https://huggingface.co/Comfy-Org/Qwen-Image-2.1) - [Qwen Image 2.1 on Comfy](https://comfy.org/qwen-image-2.1/) ## Qwen-Image-2.1 workflow ### Qwen Image 2.1 Text to Image {#image_qwen_image_2_1_t2i} 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 JSON or search "Qwen-Image-2.1" in Template Library Run ComfyUI online with zero setup **Example output** ![Qwen-Image-2.1 text to image example output](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/output/Qwen_image_2.1.png) ### Qwen Image 2.1 Image Edit {#image_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 JSON or search "Qwen-Image-2.1" in Template Library Run ComfyUI online with zero setup **Input materials** Upload these files to the matching `LoadImage` nodes: `LoadImage` node 470 ยท `portrait_model_denim.png` `LoadImage` node 475 ยท `clothing_light_blue_denim_shirt.png` **Example output**
Input image Qwen-Image-2.1 image edit example output
### Remove Background: Qwen Image 2.1 {#image_qwen_image_2_1_background_removal} 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 JSON or search "Qwen-Image-2.1" in Template Library Run ComfyUI online with zero setup **Input materials** Upload this file to the matching `LoadImage` node: `LoadImage` node 470 ยท `angry_broccoli.png` ## Model links The three workflows load the same files. All of them use the int8 versions of the diffusion model and the text encoder by default. **text_encoders** - [qwen3vl_8b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/blob/main/text_encoders/qwen3vl_8b_int8_convrot.safetensors) (loaded by the templates, lower memory) - [qwen3vl_8b_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/blob/main/text_encoders/qwen3vl_8b_bf16.safetensors) (full precision, needs more memory) **diffusion_models** - [qwen_image_2.1_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/blob/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors) (loaded by the templates, lower memory) - [qwen_image_2.1_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/blob/main/diffusion_models/qwen_image_2.1_bf16.safetensors) (full precision, needs more memory) **vae** - [qwen_image_2.1_vae_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/blob/main/vae/qwen_image_2.1_vae_bf16.safetensors) **Model Storage Location** ``` ๐Ÿ“‚ ComfyUI/ โ”œโ”€โ”€ ๐Ÿ“‚ models/ โ”‚ โ”œโ”€โ”€ ๐Ÿ“‚ text_encoders/ โ”‚ โ”‚ โ”œโ”€โ”€ qwen3vl_8b_int8_convrot.safetensors โ”‚ โ”‚ โ””โ”€โ”€ qwen3vl_8b_bf16.safetensors โ”‚ โ”œโ”€โ”€ ๐Ÿ“‚ diffusion_models/ โ”‚ โ”‚ โ”œโ”€โ”€ qwen_image_2.1_int8_convrot.safetensors โ”‚ โ”‚ โ””โ”€โ”€ qwen_image_2.1_bf16.safetensors โ”‚ โ””โ”€โ”€ ๐Ÿ“‚ vae/ โ”‚ โ””โ”€โ”€ qwen_image_2.1_vae_bf16.safetensors ``` ## Workflow settings ### Sampler settings All three workflows sample with `steps` 25, `cfg` 1, the `euler` sampler, and the `simple` scheduler. ### 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 output follows the first reference image's aspect ratio, scaled to about `resolution` x `resolution` pixels (default 1024). Set `resolution` to 0 to keep each reference image at its own size. Turn on `custom_size` to use the **Resolution Selector** canvas instead, and keep it close to the resized reference size, otherwise the edit can shift. ### Prompting for image edit Reference images are spliced into the text encoder in slot order, and the prompt addresses each one by index: ``` Keep the character and pose in unchanged, put this light blue denim shirt from on the character, preserve the original facial features, hair, body shape and pose ``` ### 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.