Conditioning Slerp (Nukun)
Blend two prompts in embedding space, without the magnitude bloat
- conditioning_to
- conditioning_from
- conditioning
Prompt blending is one of those tricks that feels like cheating until you try it: take "a cyberpunk street at night" and "a quiet Japanese garden", and instead of hand-writing a mashup prompt, interpolate between their conditionings in embedding space. NukunConditioningSlerp does exactly that - and it does it the "right" way, with spherical interpolation instead of a plain average.
It's part of the Nukun pack's small family of conditioning vector operators, all of which assume you know roughly what you're doing with conditioning math. If you're new to the idea, this is a gentler on-ramp than it sounds.
Why slerp instead of lerp
A plain linear blend (lerp) between two conditioning vectors doesn't just mix the concepts - it changes the magnitude of the result, which shifts the prompt's overall strength and can make the blend drift off-character. Spherical interpolation keeps the blend on the sphere, preserving the vector's length while rotating between the two directions. In practice: a slerped prompt stays at a sensible overall strength instead of getting quietly louder or softer as you move the slider.
Mechanically the node works on the pooled/text conditioning vectors, and its conditioning_to_strength is the blend weight: 0.0 gives you all of conditioning_from, 1.0 gives you all of conditioning_to, 0.5 is a true half-and-half.
The inputs
conditioning_to/conditioning_from- the two CONDITIONING streams you're blending. Direction matters for which strength does what, but the result is symmetric at 0.5 anyway.conditioning_to_strength- the slider, 0.0–1.0.
One output, conditioning, which drops straight into your sampler's positive (or negative) path.
How to actually use it
The fun pattern is to make the blend weight animatable or batchable. Convert conditioning_to_strength to an input, drive it from an incrementing value, and render a whole sequence of prompt morphs - 0.0, 0.1, 0.2 ... 1.0 - for an interpolation series. Or use it to soften a too-aggressive prompt: blend your strong prompt with a neutral or empty one at a low strength instead of rewriting it.
A practical caveat: this works best when the two conditionings are structurally compatible - same CLIP, same token layout, same model family. Slerping an SD1.5 conditioning into an SDXL one is meaningless garbage; slerping two SDXL conditionings of the same prompt shape is where it shines. For mixing prompt text that has different lengths or layouts, you'll often get better results from the Nukun conditioning nodes built on the same pipeline, or by simply concatenating prompts and letting the encoder sort it out.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/OnekoSL/Nukun_ComfyUI_Nodes.git
Restart ComfyUI or install via ComfyUI Manager ("Nukun"). No extra dependencies beyond the pack's standard runtime set.
The honest take
Slerp is a niche but real tool. If your goal is a quick "blend these two vibes" shot, it's great. If you're expecting it to rescue two incompatible prompts, it won't. The one genuinely handy use most people hit: taking a prompt that's too strong (over-saturated detail, prompt-bleed) and blending it with the empty/neutral conditioning to pull it back without rewriting it - that's the Average Keep Magnitude sibling's territory too, so try both and keep the one whose feel you prefer.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning_to | CONDITIONING | — | |
| conditioning_from | CONDITIONING | — | |
| conditioning_to_strength | FLOAT | 0.500–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |