Conditioning Concat Optional (Image Saver)
Merge two conditionings, or pass one straight through
- conditioning_to
- conditioning_from
- CONDITIONING
It's ComfyUI's Conditioning (Concat) node with one quality-of-life change: the second conditioning is optional. Concatenate two prompts' conditioning and it behaves like the stock concat; leave the second input disconnected and it just passes the first through untouched. That "optional" part is the whole reason it exists - it lets you build a graph where a second prompt might be present without the node erroring out when it isn't.
For anyone assembling flexible or reusable prompt graphs, that's a genuinely nice property. No more toggling a node in and out depending on whether you're using an extra conditioning this run.
How it works
Conditioning concatenation joins two encoded prompts end-to-end so the model attends to both, rather than blending them the way a Combine or an average would. The stock node requires both inputs. This version makes conditioning_from optional: when it's connected, you get conditioning_to + conditioning_from concatenated; when it's not, you get conditioning_to alone. Same math when both are present, graceful no-op when the second is missing.
That optionality is what makes it useful in a template. Build one prompt graph you reuse across projects, with a slot for an extra conditioning that's sometimes filled and sometimes not - a style block, a character add-on - and the same graph runs either way. With the stock concat you'd have to bypass or delete the node whenever the second prompt was absent; here you just leave the input empty.
The inputs and outputs that matter
- conditioning_to (required) - the base conditioning; always passes through.
- conditioning_from (optional) - the conditioning to append. Connect it to concatenate; leave it empty to pass the base straight out.
The single output is CONDITIONING - into your KSampler's positive (or negative) input, or the next stage of a conditioning chain.
Installing it
ComfyUI Manager: search ComfyUI Image Saver, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/alexopus/ComfyUI-Image-Saver
cd ComfyUI-Image-Saver
pip install -r requirements.txt
Restart, hard-refresh. No downloads.
Where people get tripped up
Know what concat does versus its siblings. Concat appends one conditioning after another (good for stacking a base prompt with an added chunk); Combine keeps them as separate guidance signals; Average interpolates between them. They produce different results - if a merged prompt isn't behaving how you expect, you may want Combine or Average instead, not concat.
This fits the Image Saver pack's world because the README suggests using proper conditioning for LoRA-in-prompt tricks (via ImpactWildcardEncode) rather than pasting LoRA strings into plain text, which do nothing. When you're assembling conditioning from multiple encoders, the optional second input means you can wire a modular chain that still runs when a branch is empty. Just don't expect concatenation to fix a prompt that's fighting itself - merging two contradictory conditionings gives you a muddle, cleanly joined.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning_to | CONDITIONING | base conditioning to concat to (or pass through, if second is empty) | |
| conditioning_fromopt | CONDITIONING | conditioning to concat to conditioning_to, if empty, then conditioning_to is passed through unchanged |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |