Nodes/ComfyUI-QwenImageWanBridge/Qwen Lowres Fix (Two-Stage)
ComfyUI Node

Qwen Lowres Fix (Two-Stage)

Two-stage refinement for sharper Qwen images

By fblissjr·Created about a year ago·Updated 4 months ago· 188
Qwen Lowres Fix (Two-Stage)
  • model
  • positive
  • negative
  • latent
  • vae
  • LATENT
seed0
steps20
cfg7.00
sampler_name
scheduler
denoise0.50
upscale_factor1.5

"Lowres fix" is an old idea with a good track record: generate at a base resolution, then run a second sampling pass at higher resolution with partial denoise so the model adds detail instead of redrawing the whole thing. QwenLowresFixNode wraps that whole two-stage loop into a single node for the Qwen line, following the DiffSynth-Studio method. Instead of hand-wiring an upscale, a re-encode, and a second KSampler, you drop this in and it does the sample-upscale-refine sequence for you.

It's the difference between a base-resolution image that looks a little soft and one with crisp detail - done in one node rather than a spaghetti sub-graph. Handy, because a lot of these models have a native resolution sweet spot and want an upscale pass for anything bigger.

How it works

Stage one samples your latent normally. Then the node upscales that latent by your chosen factor and runs a second sampling pass at reduced denoise - high enough to add real detail, low enough not to invent a different image. The denoise default of 0.5 is the tuning knob that controls that balance: lower keeps the composition locked and just sharpens, higher lets the refine pass change more. Everything a KSampler needs (model, positive, negative, sampler, scheduler, seed, cfg, steps) is exposed on the node because both internal passes use it.

Because it operates in latent space and hands back a latent, it slots between your first sampler and your VAE decode - you decode the refined latent at the end.

The inputs and outputs that matter

  • model, positive, negative, latent, vae - the standard sampling ingredients, plus the base latent you're refining and the VAE for the internal upscale.
  • denoise (default 0.5) - the key dial. This decides how much the refine pass is allowed to change. Start here if results are either too soft (raise it) or drifting from the original (lower it).
  • upscale_factor (default 1.5) - how much bigger the second pass runs. 1.5x is a sane default; 2x is more detail and more compute.
  • steps (default 20), cfg (default 7), sampler_name, scheduler, seed - the usual sampler controls for the passes.

Output: a single LATENT - the refined result. Send it to your VAE decode to get pixels.

How to install it

ComfyUI Manager: search ComfyUI-QwenImageWanBridge, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/fblissjr/ComfyUI-QwenImageWanBridge

then restart. No dedicated model - it drives whatever Qwen model and VAE you feed it. It does run two sampling passes, so budget the extra time and VRAM the higher-res second pass costs.

Common issues & troubleshooting

The refine pass changed my image too much. Lower denoise. At 0.5 the model has meaningful freedom; drop toward 0.3-0.4 to keep composition and just add detail.

It's soft / the fix didn't do much. Raise denoise a little, or bump upscale_factor. Too low a denoise barely touches the image; you want it high enough to actually resolve detail at the new size.

Out of memory on the second pass. The upscale means the refine pass runs at a larger latent - that's where the VRAM goes. Lower upscale_factor, or generate a smaller base image. This is a compute-for-quality trade, and the second pass is the expensive half.

CategoryQwenImage/Refinement

Inputs (12)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
vaeVAE
seedINT00–18446744073709550000
stepsINT201–10000
cfgFLOAT7.000–100
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT0.500–1
upscale_factorFLOAT1.51–4Upscale by 1.5x recommended

Outputs (1)

NameTypeDescription
LATENTLATENT