Model Sampling ZImage
The shift knob Z-Image was missing
- model
- MODEL
On flow-matching models, the scheduler dropdown stopped being where the tuning happens. That job moved to a different knob: the timestep shift, which controls how much of your denoising effort goes into composition versus fine detail. On Z-Image, "raise the shift to 7" is the most repeated piece of tuning advice in the community - and stock ComfyUI doesn't give you a clean way to do it for this model family without dragging in the wrong node. Model Sampling ZImage is that node.
What it actually is
It's the Z-Image/Lumina2/AuraFlow equivalent of ComfyUI's built-in ModelSamplingAuraFlow, and it's deliberately thin. Give it your model, and it clones it and swaps in a ModelSamplingDiscreteFlow sampling object with your chosen shift and multiplier. That's the entire job. It exists so you don't have to go hunting for which stock node happens to work with your checkpoint - though honestly, if you already run the stock one happily, this buys you little. It's a convenience node, and the convenience is real: one place, sensible defaults, a model-specific label.
The two knobs:
shift- default 3.0, which matches ComfyUI's own default for these models. Lower (toward 1.0) is a flatter, linear schedule; higher pushes sampling effort toward the high-noise early steps. Z-Image Turbo's community-tested sweet spot is 7, so the default here is the starting point, not the recommendation.multiplier- the timestep scaling, and the one that's a trap if you get it wrong. Z-Image/AuraFlow run timesteps in the 0–1 range, so1.0is correct. SD3/Flux run 0–1000 and want1000. Set the wrong one and your sampling is mathematically nonsense - broken images, instantly.
Wiring it up
It's a model patch, so placement is the same as any sampling modifier:
UNETLoader → ModelSamplingZImage → KSampler (or SamplerCustom) model input
It slots between the loader and your sampler. Order relative to LoRA loaders is generally fine either way, but keep it after the model load and before the sampler.
Installation
One of five nodes in ComfyUI-LG_SamplingUtils:
cd ComfyUI/custom_nodes
git clone https://github.com/LAOGOU-666/ComfyUI-LG_SamplingUtils.git
or search for ComfyUI-LG_SamplingUtils in ComfyUI Manager, then restart. No Python deps, no model downloads, nothing else to configure. Small GPL-3.0 pack, v1.0.2 as of late 2025.
Gotchas
- The default shift (3) is not the community recommendation (7). For Turbo, dial it to 7 and see if you like the composition/detail balance. For Base, opinions were still settling - 3–5 is a sane range to test.
- If shift seems to do nothing, blame your scheduler, not the node. Some schedulers -
bong_tangentis the famous one - apply their own internal sigma shift and ignore the model's. Switch tosimpleorbetaand the knob starts working. - Don't touch
multiplierunless you know the model's range. 1.0 for the flow-matching image models in this pack's name, 1000 for SD3/Flux-lineage. Getting it wrong is an instant, silent break. - It logs its applied settings (
[ModelSamplingZImage]) and the first few sigmas to the console - a quick sanity check that the patch took.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| shift | FLOAT | 3.000–100 | 噪声调度偏移量。ZImage 默认 3.0。shift=1.0 为线性,>1.0 向高噪声偏移 |
| multiplier | FLOAT | 1.0000.001–10000 | Timestep 乘数。ZImage/AuraFlow=1.0,SD3/Flux=1000 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |