ComfyUI-ConDelta
This extension extends ComfyUI's capabilities with respect to manipulating conditionings.
Nodes (21)
The core node for adding a saved style delta to your prompt
A ConDelta that scales itself to your prompt
A negative prompt that still works at CFG 1
A smooth safety rail for runaway conditioning deltas
Apply a delta without ever saving it to disk
On-the-fly deltas with self-scaling strength
Blend up to ten prompts in one node
Four noise recipes for a conditioning or ConDelta
Seeded Gaussian noise shaped like your conditioning
Multiply a conditioning by a plain float
Subtracting one prompt from another isn't a negative prompt
Blend two prompts past the 0–1 leash
Auto-build a delta from a single prompt
A literal min/max on your delta's values
Pull a saved delta out as raw conditioning
Clamp one delta using another conditioning as the bound
Several travel axes in one prompt field
Interpolate between two prompts in one node
Blend a concept into your prompt with no files, no baseline
Write a delta to disk so it shows up everywhere else
Strip the weak signal out of a noisy delta
ConDeltas (Conditioning Deltas) for ComfyUI
See bottom section for ELI5.
Conditioning deltas are conditioning vectors that are obtained by subtracting one prompt conditioning from another. The result of this is a latent vector between the two prompts that can be added to another prompt at am arbitrary strength, with an end result that's similar to that of a LoRA or an embedding.
In layman's terms, a ConDelta id made by subtracting one prompt vector from another after they've been processed by CLIP (or T5, or whatever). For instance, if we subtract these prompts:
"An art deco city" - "A city"
...we end up with a condelta that encodes the concept of an art deco style.
That delta can then be saved and applied to other prompts at generation time. Since it's a vector, it can be scaled positively or negatively, so it can be used as an alternative to a negative prompt. It's also quite small (4mb for Flux and ~0.6mb for SDXL, probably even smaller for SD15), so the memory footprint is negligible, and since it's just modifying an existing vector, it has zero impact on speed. It's likely to work on most other models that are implemented in comfy's architecture as well.
Here's an example image showing this working in Flux, with a jungle ConDelta from right to left and a moon base ConDelta from top to bottom (note that you can theoretically add as many of these as you want).
See the sample_workflows subdirectory for usage examples.
ELI5
- Create a folder called ConDelta (case sensitive) inside ComfyUI's models folder.
- Copy the files from custom_nodes/ComfyUI-ConDelta/sample_models to the folder you just created.
- Insert the Apply ConDelta node into your Comfy workflow between Clip Text Encode and your KSampler like this:
- Make sure to select a ConDelta that's compatible with the model you're using.