Nodes/ComfyUI-NynxzNodes/Conditioning Variation
ComfyUI Node

Conditioning Variation

Reroll the prompt without touching the sampler seed

By Nynxz·Created 10 months ago·Updated a day ago· 0
Conditioning Variation
  • conditioning
  • conditioning
strength0.10
seed0

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.

CategoryNynxz/Conditioning

Inputs (3)

NameTypeDefaultDescription
conditioningCONDITIONING
strengthFLOAT0.100–2How far to nudge. 0 = unchanged; ~0.1 gives close variations; higher drifts further from the prompt.
seedINT00–18446744073709550000Variation seed — change it to get a different variation of the same prompt.

Outputs (1)

NameTypeDescription
conditioningCONDITIONING