Qwen Image 2.1 - 20260923 Update - For Patreon Supporters (Patreon)
Downloads
Content
Hey everyone. If you watched the Qwen Image 2.1 upscaling video ( https://www.patreon.com/aifuturetech/posts/qwen-image-2-1-170349095 ), this is the run guide. Three workflows are attached: the latent upscale one from the video (also in the free post), plus the character sheet generator and the full image edit pipeline that supporters get exclusively. Everything below is the settings I actually ran, straight from the workflow files.
First, the downloads. All model files come from the Comfy-Org repack: https://huggingface.co/Comfy-Org/Qwen-Image-2.1
WHAT TO DOWNLOAD (MODEL FILES)
----------------------------------------
Diffusion model (pick one):
- qwen_image_2.1_bf16.safetensors — 14.2 GB, full precision
- qwen_image_2.1_int8_convrot.safetensors — 7.26 GB, lower VRAM
Folder: ComfyUI/models/diffusion_models/
Text encoder (pick one):
- qwen3vl_8b_bf16.safetensors — 17.5 GB, full precision
- qwen3vl_8b_int8_convrot.safetensors — 9.35 GB, lower VRAM
- qwen3vl_8b_w4a8.safetensors — 6.31 GB, lowest memory
Folder: ComfyUI/models/text_encoders/
Prompt enhancer models (each workflow loads the one it needs, edit and character sheet use both):
- qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors — 9.47 GB, text-to-image prompt rewriter
- qwen3.5_9b_qwen_image_2.1_pe_i2i.int8_convrot.safetensors — 9.47 GB, image-edit prompt rewriter
Folder: ComfyUI/models/text_encoders/
VAE:
- qwen_image_2.1_vae_bf16.safetensors — 676 MB
https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors
Folder: ComfyUI/models/vae/
The loaders ship pointing at qwen-image-2_1_bf16.safetensors in a QwenImage subfolder and qwen3vl_8b_bf16.safetensors in text_encoders. Repoint the UNET and CLIP loaders to whatever filenames you downloaded. The prompt enhancer models load through their own CLIP loaders (type qwen_image), not the generation text encoder.
CUSTOM NODES
----------------------------------------
- ComfyUI-Qwen-Image-2.1-Prompt-Enhancer (mine) — the prompt rewrite nodes:
https://github.com/benjiyaya/ComfyUI-Qwen-Image-2.1-Prompt-Enhancer
- ComfyUI-DLSS5-Enhancer — the DLSS 5 final refinement pass, install notes here:
https://github.com/Blueforcer/ComfyUI-DLSS5-Enhancer#installation
- ComfyUI-KJNodes — Set/Get nodes and the SageAttention patch
- rgthree-comfy — Image Comparer, Any Switch, Fast Groups Bypasser
- ComfyUI-Custom-Scripts (pysssss) — ShowText
- ComfyUI-Easy-Use — the GPU cleanup nodes
- ComfyMathExpression and SaveImageAdvanced come from math/output node packs
Fastest route: load the workflow and use ComfyUI Manager's "Install Missing Custom Nodes". The list above is what it will ask for.
QUICK START
----------------------------------------
1. Download the model files above and drop them in the folders listed.
2. Install the custom nodes above.
3. Load QwenImg_2-1_t2i-upscale.json (or the character sheet / imgedit file).
4. Check the loaders point at your files.
5. Type your idea into the prompt rewrite node (image edit: paste your edit instruction instead).
6. Set the resolution in the ResolutionSelector, it ships at 1 megapixel.
7. Check the scale value, it ships at 1.5.
8. Queue. That's the whole loop. First sampling generates, second sampling upscales, DLSS 5 refines, and the Image Comparer previews show you each stage side by side.
WHAT TO INPUT (PROMPT FORMAT)
----------------------------------------
Text to image (upscale and character sheet workflows): type a short idea into the prompt rewrite node and it expands it into the formatted prompt the model wants, and picks the aspect ratio. Example input that ships in the file:
"A deep-sea diver in vintage brass helmet checking equipment on a rusted oil rig platform during a storm, crashing waves, gritty industrial realism, dramatic chiaroscuro lighting"
You get a full formatted paragraph back, you can see it in the ShowText node before anything runs.
Character sheet: the format prompt is already in the workflow:
"A character sheet of an actor, showing face close up shot, full body front view, full body back view, full body side view of the character. Using the character from <image1>."
Two modes, switch with the Fast Groups Bypasser. T2I group: replace <image1> with a text description, a monster works the same as a person. i2i group: drop your image into the LoadImage node and run, you do not touch the prompt at all.
Image edit: reference your inputs with tags. The model reads <image1>, <image2> up to <image10>. The example that ships in the file does a full composite:
"Composite the subject from <image1> into the scene from <image4> while changing outfit, adding prop, and performing door-opening action: extract the female figure from <image1> preserving her exact facial identity, long black hair, and skin tone unchanged, replace her current outfit with the complete outfit from <image3>..."
That is the level of detail to aim for. Say what to preserve (face, hair, pose) and what to change (outfit, prop, action). Feed reference images into the LoadImage nodes in order, <image1> is the first one.
The second sampling pass does not need input from you. Its prompt is wired in the graph, it tells the model this is an upsampling to higher resolutions while preserving the image.
KEY SETTINGS (AND WHY)
----------------------------------------
SAMPLING: both KSamplers run 30 steps, CFG 1, euler, simple, denoise 1.0. CFG stays at 1, the model is trained for it. Denoise 1.0 on the second pass looks alarming but this is the whole trick: the pass runs through the image edit mode with your first image as the reference, so it resamples pixels to the bigger latent without redrawing the character. Jacket, beard, expression, all of it stays.
RESOLUTION: ResolutionSelector ships at 1 megapixel. For slow GPUs drop it, the model is fine at lower res and the second pass still upscales clean.
UPSCALE FACTOR: the scale value ships at 1.5. It multiplies width and height into the second empty latent (the a*b math nodes), so 1.5 from 1 megapixel lands you around 2K. 2.0 works if you have the VRAM, but 1.5 is what I use by default.
PROMPT REWRITE (temperature 1, top_p 0.95, top_k 20, presence_penalty 1.5, max_new_tokens 16256): these ship correct, leave them.
SAGE ATTENTION: auto, leave it. Falls back on its own if SageAttention is not installed.
DLSS 5: ships with my tested settings, leave them. This is the pass that fixes lighting direction and texture. In the fisherman example the sunset light goes to shadow on his face and the light comes from the background, which is what actually makes sense, and the dirty jacket texture gets refined too.
GPU CLEANUP NODES: leave as shipped, they free VRAM between passes.
TIPS
----------------------------------------
1. Do not be afraid of denoise 1.0 on the second pass. If details drift on you, something upstream is disconnected, see COMMON ISSUES. When the image, VAE and CLIP are all feeding the edit encode, nothing moves.
2. Start at 1 megapixel and 1.5x. That is the sweet spot I use for most of the video. Push the factor to 2.0 for the final version of an image you really like.
3. The character sheet in image mode does not use the prompt enhancer at all. One standard prompt, drag and drop, done. That is the simplified path, do not overthink it.
4. Character sheets come out with no background attached, ready to feed MiniMax H3 or whatever video model you use for reference.
5. Rain and night scenes are the stress test. Watch the raindrops after upscaling. Older models turn them into pixel blocks when you enlarge, if yours do that, lower the scale factor.
6. Run the DLSS 5 pass even on non-realistic styles. The cyberpunk example in the video is not photoreal and the shiny wet ground still improved.
7. For multi-reference composites, order matters. <image1> is your subject, later tags are outfit, props, scene. The composite example in the file is a good template to copy.
----------------------------------------
COMMON ISSUES
----------------------------------------
"Out of memory" — Use the int8 diffusion model (7.26 GB) and the int8 or w4a8 text encoder, drop the ResolutionSelector down, and keep the factor at 1.5.
"Prompt enhancer connects but output is wrong" — The prompt rewrite node needs its own CLIP loader with the PE model (pe_t2i for text to image, pe_i2i for edits). Connecting it to the default Qwen 3 VL 8B text encoder will not work. This is the mistake I see most.
"Second pass changes my character" — The edit encode is missing an input. Make sure the first image, the VAE and the CLIP are connected into the second sampling group. Without the reference image it becomes a fresh generation instead of a resample.
"Loaders show file not found" — The workflow ships with my filenames including a QwenImage subfolder. Repoint the loaders to the files you downloaded.
"Missing custom nodes on load" — ComfyUI Manager, Install Missing Custom Nodes. If DLSS5Settings is one of them, install from the Blueforcer link above.
"Generation is very slow" — Your hardware is not happy at 1 megapixel. Turn the resolution down to 1024 and it will run fine.
----------------------------------------
Questions? Drop a comment with your GPU, VRAM, and the exact error. I check these regularly.
Thanks for supporting the channel. You guys make these deep dives possible.
— Benji
Reference links:
- Qwen Image 2.1 ComfyUI weights (Comfy Org): https://huggingface.co/Comfy-Org/Qwen-Image-2.1
- Qwen Image 2.1 official weights: https://huggingface.co/Qwen/Qwen-Image-2.1
- Qwen Image 2.1 GitHub: https://github.com/QwenLM/Qwen-Image-2.1
- Qwen Image 2.1 blog: https://qwen.ai/blog?id=qwen-image-2.1
- ModelScope mirror: https://modelscope.cn/models/Qwen/Qwen-Image-2.1
Files