Nodes/comfyui-zimage-sdnq/ZImage SDNQ I2I Sampler
ComfyUI Node

ZImage SDNQ I2I Sampler

The refiner the community actually uses

By GeneralShan·Created 8 months ago·Updated 6 months ago· 1
ZImage SDNQ I2I Sampler
  • pipeline
  • image
  • images
prompt
negative_prompt
steps8
guidance_scale0.0
strength0.70
seed0
num_images1

ZImageSDNQSamplerI2I takes a pipeline from ZImageSDNQPipelineLoader, an input image, a prompt, and regenerates the image at the same resolution with the prompt steering the result. On paper that's "image-to-image." In practice, for Z-Image Turbo it's the second half of one of the most popular workflows in the community: Turbo as a universal refiner. People generate a base image in another model - Chroma, Flux, Qwen, SD 1.5, Wan - and run it through a low-strength I2I pass here to add realism and detail. Turbo is fast enough to make that a legit single extra pass instead of a patience exercise.

The mechanism is standard img2img: the input image is encoded to latents, noise is added according to strength, and the model denoises from there. strength is your denoise dial, and it's the input that matters most.

Inputs, ranked by importance

  • strength (default 0.7, 0–1) - how much of the original survives. At 0.1 you're barely nudging pixels; at 1.0 you've basically thrown the source away and done T2I at the same size. The refiner pattern lives at 0.3–0.6: keep the composition, let Turbo re-render the detail. Above ~0.8 you should be asking whether you wanted I2I at all.
  • image - the required source. It defines the working resolution, so there's no width/height here - you get whatever you feed in, at whatever size it is. Feed it a 512x512 and you get a 512x512 back.
  • prompt / negative_prompt - same story as the T2I sampler: at the default guidance_scale 0, negatives are decorative. The prompt should describe the result you want, not re-describe the source.
  • steps - default 8. One subtlety: with I2I, the effective denoising is strength × steps. At strength 0.5 and 8 steps you're really only denoising 4 steps' worth of noise, which is exactly why low-strength refinement is so cheap.
  • guidance_scale - default 0, same distilled-model contract as T2I.
  • seed / num_images - seed behaves as usual; num_images gives you 1–8 variants of the same denoise.

Output: a single images tensor, ready for SaveImage.

Where this shines

Two patterns worth copying:

  1. The refiner pass - generate anywhere (including a different model entirely), drop the result here at strength 0.4–0.5, and let Turbo's photorealism bias re-surface the details. This is the "Chroma for style, Z-Image for detail" combo that keeps coming up, and it works precisely because Turbo is good at detail and fast at it.
  2. The palette/interpretation pass - stronger strength (0.7+), a rewritten prompt, and the source becomes a suggestion rather than a constraint. Same image, different mood.

The honest limit, same as T2I: Turbo's seed sameness means the I2I pass isn't your tool for exploring wildly different compositions from one seed. Keep that job on Base or another model; use this node to lock in what you've got.

Install

Pack-standard: Manager (search "Z-Image SDNQ") or git clone https://github.com/GeneralShan/comfyui-zimage-sdnq into custom_nodes, restart, pip install sdnq diffusers for the base pipeline. Wire it as Loader → SamplerI2I with a LoadImage feeding image, and you're done - the pack's example graph (zimage_sdnq_i2i.json) is exactly that.

CategoryZImage SDNQ/Samplers

Inputs (9)

NameTypeDefaultDescription
pipelineZIMAGE_PIPELINE
imageIMAGE
promptSTRING
negative_promptSTRING
stepsINT81–100
guidance_scaleFLOAT0.00–20
strengthFLOAT0.700–1
seedINT00–18446744073709550000
num_imagesINT11–8

Outputs (1)

NameTypeDescription
imagesIMAGE