Conditioning Variation
Reroll the prompt without touching the sampler seed
- conditioning
- conditioning
Changing the seed rerolls the whole image - composition, lighting, pose, everything. That's what you want when a render is garbage. It's useless when a render is almost right and you just wish the model had drawn a slightly different interpretation of your words. For that second case the lever you actually want is prompt variation, and Conditioning Variation from ComfyUI-NynxzNodes is a compact way to get it: it nudges the conditioning itself in a seeded random direction, so you get neighbours of the same prompt while the sampler seed stays fixed and everything else stays comparable.
It's a niche tool, no question - most people will keep using seed rerolls and never miss it. But it shines in two spots: iterating on prompt wording without noise from sampler randomness, and batch work where you want a controlled spread of "same prompt, slightly different reads" rather than unrelated frames.
How it works
In, you get a conditioning; out comes a conditioning with the same structure, just perturbed. The two knobs:
strength(default 0.1, range 0–2) - how far to nudge. Zero is an exact pass-through. Around 0.1 gives subtle variations; higher drifts toward a genuinely different reading of the prompt. It scales per token to that token's own magnitude, which is the detail that makes it behave predictably across text encoders.seed- the variation seed. Change it, get a different variation; keep it fixed and the encode stays cacheable.
The "direction-only" bit in the docs is the clever part: each token's embedding is nudged in a random direction but keeps its original length, so the variation shifts content (which concepts the prompt leans into) rather than loudness (how hard every concept pushes). A naive noise-add on the conditioning mostly makes the image subtly noisier; this keeps it a genuine content reroll. Drop it on positive or negative conditioning wires alike - it doesn't care which side of the prompt it sits on.
Practical use: wire one in front of your positive encode, leave strength at 0.1, and while you're happy with a composition, bump the variation seed a few times to mine that composition for its best interpretation. Then bump the sampler seed for a totally different one. You get two dials that do different jobs instead of one that does both.
Install
Comes in Nynxz's Custom Nodes: ComfyUI Manager → search "NynxzNodes" and install from the registry, or git clone https://github.com/Nynxz/ComfyUI-NynxzNodes into ComfyUI/custom_nodes. No pip dependencies. Hand-cloners, note the pack's UI needs a build first (pnpm install && pnpm build - web/ is gitignored); the registry/Manager build skips that. Restart ComfyUI, and update ComfyUI core if the nodes don't register - this pack targets the newer extension API.
Gotchas
This one is marked experimental, and it shows in the tuning: strength is sensitive and model-dependent, so start at the 0.1 default and step up slowly - at 0.5–1.0 on a strong encoder you may get something that no longer answers your prompt at all. And because the nudge rides the conditioning's own ranges, it composes with a SigmaGate if you only want the variation to act in part of the denoise.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| strength | FLOAT | 0.100–2 | How far to nudge. 0 = unchanged; ~0.1 gives close variations; higher drifts further from the prompt. |
| seed | INT | 00–18446744073709550000 | Variation seed — change it to get a different variation of the same prompt. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |