Nodes/ComfyUI-Prompt-Translator/Combine Conditioning
ComfyUI Node

Combine Conditioning

Blend two conditionings (it's not a translator)

By DrStone1971Β·Created about a year agoΒ·Updated about a year agoΒ· 4
Combine Conditioning
  • conditioning_1
  • conditioning_2
  • CONDITIONING
β—„methodweightedβ–Ί
β—„weight_10.7β–Ί
β—„weight_20.3β–Ί

Let's get the naming out of the way: Combine Conditioning doesn't translate anything. Despite living in a pack called ComfyUI-Prompt-Translator, it's a conditioning mixer - two CONDITIONING tensors in, one blended CONDITIONING out. It's the pack's way of answering the question you hit the moment you actually start using the translators: "OK, the translation is great, but what if I want some of the original-language meaning back too?"

That's the workflow it exists for. Translate your Italian prompt to English, encode both versions, then mix them so the model keeps a bit of your original phrasing alongside the cleaner English. It's also just a generally useful two-prompt blender for anyone who wants to average two prompts or stack them token-wise, which is why it's quietly the most-searched node in the pack despite doing none of the advertised thing.

How it works

The node takes the raw conditioning tensors from two CLIP encodes and combines them along with their pooled outputs. There are three methods:

  • average - (cond_1 + cond_2) / 2. Simple, symmetric, no weights.
  • weighted (default) - cond_1 * w1 + cond_2 * w2, with the weights normalized to sum to 1. This is the one you'll actually use, because it lets you say "70% translation, 30% original."
  • concatenate - stacks the two token sequences (torch.cat along the token dimension) rather than blending them. The model attends to both prompts in full.

The inputs that matter

  • conditioning_1 and conditioning_2 - the two CONDITIONING outputs, typically from the pack's CLIP Text Encode (Translate) or any normal CLIP Text Encode.
  • method - average / weighted / concatenate, default weighted.
  • weight_1 and weight_2 - floats from 0.0 to 1.0, defaults 0.7 and 0.3. Only meaningful in weighted mode; the node normalizes them, so 70/30 and 7/3 are the same thing.

Output is one CONDITIONING, straight into your KSampler's positive or negative port.

Installing it

Same story as the whole pack. ComfyUI Manager, search ComfyUI-Prompt-Translator, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/DrStone71/ComfyUI-Prompt-Translator

Then restart. Because this node only does tensor math it doesn't itself touch the translation stack, but it's in the same package, so you still get the full requirements.txt - argostranslate, ctranslate2, sentencepiece and friends. If Manager didn't install them and the nodes fail to import, pip install -r requirements.txt from inside the cloned folder fixes it. Category: 🌐 DrStone71.

Using it without getting burned

The concatenate method grows your token count - stack a few translated + original pairs and you can push past the 77-token window CLIP handles gracefully, which causes truncation you won't notice until the output degrades. Weighted blending is the safe default and the reason to pick up the node at all. And one honest caveat: averaging two full-conditioning tensors is a blunt instrument compared to something like regional conditioning, and it can muddy the output if the two prompts disagree hard. For "keep a hint of the original language" it's great; for "exactly this region does this" it isn't the tool - that's what regional conditioning nodes are for.

Category🌐 DrStone71

Inputs (5)

NameTypeDefaultDescription
conditioning_1CONDITIONINGβ€”
conditioning_2CONDITIONINGβ€”
methodCOMBOweighted3 options: average, weighted, concatenate
weight_1FLOAT0.70–1β€”
weight_2FLOAT0.30–1β€”

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONINGβ€”