Nodes/Eric_Qwen_Edit_Experiments/Eric Qwen-Image Composite Harmonize
ComfyUI Node

Eric Qwen-Image Composite Harmonize

A ComfyUI node in Eric Qwen-Image with 30 inputs and 2 outputs.

By EricRollei·Created 5 months ago·Updated 3 months ago· 19
Eric Qwen-Image Composite Harmonize
  • pipeline
  • controlnet
  • composite_image
  • control_image
  • upscale_vae
  • image
  • control_image_used
prompt
cn_modeauto_canny
canny_low100
canny_high200
denoise0.42
sigma_schedulelinear
cn_strength1.0
cn_start0.00
cn_end0.70
negative_prompt低分辨率,低画质,肢体畸形,手指畸形,画面过饱和,蜡像感,人脸无细节,过度光滑,画面具有AI感。构图混乱。文字模糊,扭曲。
steps40
true_cfg_scale4.5
max_sequence_length1024
max_mp6.0
seed0
upscale_vae_keep_2xtrue
refine_passtrue
refine_denoise0.30
refine_steps40
refine_sigma_schedulekarras
refine_cfg4.5
refine_cn_strength1.0
refine_cn_start0.00
refine_cn_end0.50
refine_recannyfalse
CategoryEric Qwen-Image

Inputs (30)

NameTypeDefaultDescription
pipelineQWEN_IMAGE_PIPELINEFrom the Qwen-Image loader (Qwen-Image base, NOT Qwen-Image-Edit).
controlnetQWEN_IMAGE_CONTROLNETFrom the Qwen-Image ControlNet Loader. Use the InstantX Union model.
composite_imageIMAGEThe composited image to harmonise (e.g. ImageComposer output).
promptSTRINGDescription of the unified scene. If empty, a generic harmonisation preamble is used. RECOMMENDED: wire from the Qwen ControlNet Prompt Rewriter with the composite as input — it will list every subject in place so Qwen cannot delete them.
cn_modeoptCOMBOauto_cannyHow to obtain the control image: auto_canny: cv2 Canny edges of the composite (default, robust). auto_soft_edge: cv2 Sobel+Laplacian soft edges (smoother textures). external: use the wired control_image input (depth, pose, custom canny, etc.).
control_imageoptIMAGEExternal control image. Used only when cn_mode = external.
canny_lowoptINT1000–255Low threshold for cv2.Canny (auto_canny only).
canny_highoptINT2000–255High threshold for cv2.Canny (auto_canny only).
denoiseoptFLOAT0.420.05–1How much of the schedule to run. 0.20–0.30: very light — just colour/grain matching. 0.30–0.45: typical harmonisation — lighting + soft contact shadows. 0.45–0.60: stronger relight, may shift small details. 0.70+: nearly full re-render — use only if structure is locked by CN.
sigma_scheduleoptCOMBOlinearStep distribution within the active denoise range. balanced is safest.
cn_strengthoptFLOAT1.00–5ControlNet conditioning scale. 1.0 standard. >1.5 over-constrains.
cn_startoptFLOAT0.000–1Fraction of steps at which CN guidance begins.
cn_endoptFLOAT0.700–1Fraction of steps at which CN guidance ends. Stopping at 0.8 lets the last 20%% of steps refine textures without CN over-constraining detail.
negative_promptoptSTRING低分辨率,低画质,肢体畸形,手指畸形,画面过饱和,蜡像感,人脸无细节,过度光滑,画面具有AI感。构图混乱。文字模糊,扭曲。What to avoid (default = official Qwen-Image negative).
stepsoptINT404–100Total inference steps. 20–28 is a good range; effective denoise steps = round(steps * denoise).
true_cfg_scaleoptFLOAT4.51–12True CFG. 2.5–3.5 is best for harmonisation.
max_sequence_lengthoptINT1024128–1024Max prompt token length for the text encoder. 1024 is the Qwen-Image max and has negligible runtime cost — lets long override prompts (per-subject preservation lists) survive without truncation.
max_mpoptFLOAT6.00.5–16Max megapixels at which to run the harmonisation. The composite is resized to fit; output is upsampled back to composite size with Lanczos. Qwen-Image natively handles up to ~16 MP. Lower this (e.g. 4–8 MP) if you hit VRAM limits.
seedoptINT00–18446744073709550000Seed (0 = random).
upscale_vaeoptUPSCALE_VAEOptional. Wire the 2× Wan upscale VAE to replace the final decode with a sharper 2× reconstruction. No extra diffusion is done — the diffusion result is decoded through the upscale VAE instead of the pipeline's standard VAE, then resized down to the composite size with Lanczos. Adds ~1–3s and gives crisper textures and edges. If unwired, the standard pipeline VAE decode is used.
upscale_vae_keep_2xoptBOOLEANtrueWhen upscale_vae is wired and this is ON, output is kept at 2× the working resolution (NOT downsampled to the original composite size). Useful when you want the harmoniser to also act as a 2× upscaler. Ignored if upscale_vae is not wired.
refine_passoptBOOLEANtrueRun a second, lighter diffusion pass on the result of pass 1. The pass-1 latent stays on the GPU — NO VAE re-encode round-trip — so detail is not lost between passes. Pass 1 = structural harmonisation (lighting, shadows, water blends). Pass 2 = detail refinement (faces, fabric, marble texture). Two gentle passes consistently beat one heavier pass.
refine_denoiseoptFLOAT0.300.05–0.6Pass-2 denoise. Keep low (0.18–0.28). Pass 1 already locked structure; pass 2 should only sharpen detail.
refine_stepsoptINT404–80Pass-2 total steps. Effective = round(refine_steps * refine_denoise).
refine_sigma_scheduleoptCOMBOkarrasPass-2 sigma schedule. balanced is best for detail formation.
refine_cfgoptFLOAT4.51–12Pass-2 CFG. Slightly higher than pass 1 — commits harder to detail words like 'fine skin pores', 'individual eyelashes', etc.
refine_cn_strengthoptFLOAT1.00–5Pass-2 ControlNet strength. Lower than pass 1 — structure is already locked, so heavy CN here just over-constrains texture.
refine_cn_startoptFLOAT0.000–1Pass-2 CN start fraction.
refine_cn_endoptFLOAT0.500–1Pass-2 CN end fraction. Stop CN early so the last 50%% of pass-2 steps are free to refine textures without CN over-constraining.
refine_recannyoptBOOLEANfalseWhen ON and cn_mode is auto_canny/auto_soft_edge, re-derive the control image from the pass-1 result (now clean photographic edges, not collage edges). Costs one extra decode-to-PIL but does NOT round-trip the latent. When OFF (or cn_mode = external), pass 2 reuses the pass-1 control image.

Outputs (2)

NameTypeDescription
imageIMAGE
control_image_usedIMAGE