Nodes/ComfyUI-GGUF-Loader/Z-Image img2img ⚡
ComfyUI Node

Z-Image img2img ⚡

Z-Image's whole prep step in one node — straight into a stock KSampler

By ChrisColeTech·Created about a month ago·Updated 3 days ago· 10
Z-Image img2img ⚡
  • model
  • clip
  • vae
  • image
  • control_patch
  • control_image
  • model
  • positive
  • negative
  • latent
  • denoise
prompt
negative_prompt
strength0.60
batch_size1
width1024
height1024
control_strength0.70

Z-Image is the model that put near-Flux quality on 12GB cards, and a big part of why it's so easy to live with is that the workflow is short: load, prep, sample, decode. This node is the prep - prompts, init latent, and optional Fun ControlNet all handled in one place, with the output wired to feed a stock KSampler directly. Leave image unconnected and it behaves as a txt2img prep instead.

The inputs that matter

Core: model, clip, vae, prompt, negative_prompt, then strength (0.6 default, img2img only), batch_size, width and height (1024×1024 default, steps of 8 - with an init image, width/height resize it).

The optional stack is where Z-Image gets interesting:

  • image - init image for img2img; unconnected for txt2img.
  • control_patch - a Z-Image Fun ControlNet loaded via stock ModelPatchLoader. Unlike the Qwen-Image side of this pack, Z-Image's control mechanism is a model patch (a MODEL_PATCH), so you attach it through the loader's MODEL_PATCH output rather than a custom wrapper type.
  • control_image - the control map, usually Canny. That's the standard Z-Image Fun ControlNet pairing: edges in, structure out.
  • control_strength - default 0.7, and the tooltip gives you the real tuning advice: 1.0 over-conditions and softens detail, while 0.7 keeps the structure with the detail intact. That's the single most useful knob on this node - most people land between 0.6 and 0.85.

The outputs

model, positive, negative, latent, denoise - five outputs into a stock KSampler. Z-Image Turbo is guidance-distilled (8–9 steps, CFG 1), so a stock KSampler at those settings is exactly right; this pack's own Z-Image KSampler exists too, with the same diffusers denoise-parity toggle the Qwen-Image one has.

How it fits the wider picture

Z-Image's text encoder is Qwen3-4B, so prompting is natural-language - write sentences, not tag soup. And because the whole family is Apache 2.0 and uncensored out of the box, this is the stack people actually build on when they want a permissive, low-VRAM daily driver. The Fun ControlNet is the one thing to plan around: it comes from Alibaba's PAI team, a different sub-team from the base model, which historically meant slightly different quirks in how hard you push control_strength - start at 0.7 and nudge.

Installing it

Part of the ComfyUI-GGUF-Loader pack under 🤖 CCTech/Z-Image. ComfyUI Manager → search "ComfyUI-GGUF-Loader" → install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
cd ComfyUI-GGUF-Loader
pip install -r requirements.txt

Common issues

The recurring one is over-conditioning: control_strength at 1.0 (or higher, since the range goes to 10) flattens fine detail until everything looks soft and samey. If your controlled Z-Image output looks "blurry but structured," the fix is usually dropping the strength toward 0.6–0.7, not a prompt rewrite. Second: a Canny map made at the wrong thresholds (too tight = noise walls, too loose = missing structure) is worth previewing with a Canny node before it hits control_image. And remember denoise/strength interplay: with an init image, low strength keeps the composition but lets the control map fight the image - if they disagree, you'll see it as artifacts. Resolve it by lowering one or the other, not both.

Category🤖 CCTech/Z-Image

Inputs (13)

NameTypeDefaultDescription
modelMODEL
clipCLIP
vaeVAE
promptSTRING
negative_promptSTRING
strengthFLOAT0.600–1img2img only. How much of the init image to discard. Ignored without an image.
batch_sizeINT11–4096
widthINT102416–16384Output size. With an init image this resizes it.
heightINT102416–16384
imageoptIMAGEInit image for img2img. Leave unconnected for txt2img.
control_patchoptMODEL_PATCHModelPatchLoader with a Z-Image Fun ControlNet.
control_imageoptIMAGEControl map, usually Canny.
control_strengthoptFLOAT0.70-10–101.0 over-conditions and softens detail; 0.7 keeps structure with detail.

Outputs (5)

NameTypeDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
denoiseFLOAT