Conditioning Sigma Gate
Make a prompt matter for part of the denoise only — gate your conditioning by sigma
- conditioning
- model
- sigmas
- conditioning
Diffusion sampling isn't one mood. Early steps decide composition and subject, middle steps settle structure, late steps paint texture. Stock ComfyUI mostly ignores that - every prompt gets the whole denoise to work in. But sometimes you want a clause to only weigh in at a specific phase: "cinematic lighting" that shouldn't fight the layout, a negative that should stop policing once the subject is placed, or a style token that only belongs in the final passes. Conditioning Sigma Gate from ComfyUI-NynxzNodes lets you cut any conditioning down to a slice of sampling and nothing else.
The concept itself isn't new - ConditioningSetTimestepRange has done percent-windows for ages. What's worth reaching for here is the sigma-native mode and the way it composes: instead of overwriting the range a conditioning already carries, it intersects with it, so you can stack gates and have them agree rather than fight.
How it works
You pick mode, then set a window:
- denoise percent - the simple mode.
startandendare fractions of sampling, 0 = first step, 1 = last step, no other inputs needed. Want a token active for the first half only? Gate it 0 → 0.5. - sigma - real sigma values, which is how schedulers actually think.
startis the high sigma where the gate opens (early),endthe low sigma where it closes (late). Sigma only means something relative to a schedule, so this mode wants one of the optional wires: amodelconverts sigma → percent exactly using the model's own schedule, or asigmasschedule gives a near-exact lookup (exact for normal schedulers, soft for Karras). No model, no sigmas, and sigma mode has nothing to anchor to.
Percent mode is where you'll live for most experiments because it needs zero extra wiring. Reach for sigma mode when you're copying values out of a real sampler schedule or porting a recipe that was written in sigma space.
The output is a single conditioning - same object you put in, just wearing a smaller time-window. Drop it on any conditioning wire: a CLIP encode, a negative prompt you only want acting early, even the output of the pack's Fusion encode. It stacks, so a conditioning that already carries a range gets the intersection, not a replacement.
Where it actually earns its keep
Two patterns. One: a negative that only needs to exist while layout is fragile - gate it to the first third and it stops eroding detail in the late steps where it was doing more harm than good. Two: style-vs-content splits, where you feed a broad description early and a fine style clause late so the style doesn't dictate the composition. Both are "fewer things fighting at once" tricks, and this node is the cheapest way to try them.
Install
It's in Nynxz's Custom Nodes: ComfyUI Manager → search "NynxzNodes" and install the registry build, or
cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzNodes
No Python deps. Cloning by hand means building the UI (pnpm install && pnpm build - the built web/ is gitignored), so the Manager/registry route is smoother. Restart ComfyUI; update ComfyUI itself if nodes don't show, since the pack uses the newer extension API.
Gotchas
If you set a window and see no change, check you haven't inverted it (start after end) - a reversed gate is an empty one. And remember percent gates are relative to the sampler's actual step count, so they drift between samplers and step counts; sigma mode with a model wired is the version that's reproducible across settings.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| mode | COMBO | denoise percent | Interpret start/end as a denoise fraction (0..1) or as sigma values. |
| start | FLOAT | 0.000–1000 | Where the gate opens. Percent mode: fraction of the denoise (0=first step). Sigma mode: the high sigma it becomes active at (early in sampling). |
| end | FLOAT | 1.000–1000 | Where the gate closes. Percent mode: fraction of the denoise (1=last step). Sigma mode: the low sigma it stays active down to (late in sampling). |
| modelopt | MODEL | Optional. In sigma mode, converts sigma → percent exactly using the model's own schedule. | |
| sigmasopt | SIGMAS | Optional. In sigma mode with no MODEL, used as an approximate sigma → percent lookup (exact for normal schedulers, soft for Karras). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |