GR Prompt HUB
Combine up to six positive and six negative conditionings into one pair
- positive1
- positive2
- positive3
- positive4
- positive5
- positive6
- negative1
- negative2
- negative3
- negative4
- negative5
- negative6
- CONDITIONING
- CONDITIONING
A conditioning combiner - the node you reach for once your prompt has outgrown a single CLIPTextEncode node. If you're building a prompt out of separate pieces (a subject description, a style block, a lighting note, each encoded on its own so you can toggle or swap them independently) and your sampler only takes one positive and one negative conditioning input, this is what merges the pieces back down to the two it expects.
How it works
It's built around one required slot and ten optional ones. positive1 is the only thing you have to wire - everything else, positive2 through positive6 and negative1 through negative6, is optional, so you use as many or as few as your workflow actually needs. Wire in several CLIPTextEncode outputs across the positive slots and several across the negative slots, and the node combines each group down into a single CONDITIONING output - one for positive, one for negative - ready for your sampler.
This is the same pattern behind keeping a prompt modular rather than one giant text block: encode "subject," "style," and "lighting" as three separate CLIPTextEncode nodes so you can mute or swap any one of them independently while iterating, then merge them back to two conditionings right before the sampler so the rest of your graph doesn't need to know how many pieces the prompt was built from.
The inputs and outputs that matter
positive1(CONDITIONING, required) - the only mandatory input. If this is all you wire, the node effectively passes it straight through.positive2–positive6(CONDITIONING, optional) - additional positive conditioning pieces to merge in.negative1–negative6(CONDITIONING, optional) - the same idea on the negative side.CONDITIONING(two outputs) - the combined positive and combined negative, in that order, ready to wire into yourKSampler.
How to install it
Via ComfyUI Manager: search "GraftingRayman", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/GraftingRayman/ComfyUI_GraftingRayman
then restart. Every node in this pack, this one included, needs OpenAI's CLIP package installed on top of ComfyUI's own CLIP handling:
# portable build
.\python_embeded\python.exe -m pip install git+https://github.com/openai/CLIP.git
# system python
pip install git+https://github.com/openai/CLIP.git
Without that step the whole pack fails to import, this node included, even though it works purely on CONDITIONING data and has nothing to do with CLIP directly.
Common issues & troubleshooting
Node missing from search. Check the CLIP install above first - a pack-wide requirement, not specific to conditioning nodes.
Which output is positive and which is negative isn't obvious from the wire alone. Both outputs are typed CONDITIONING with no distinguishing label on the wire itself once connected - keep track of which one you wired to your sampler's positive slot and which to negative, since ComfyUI won't stop you from crossing them, and a swapped positive/negative is a classic silent mistake that just produces a bad-looking generation with no error.
Nothing seems to combine - output looks like just one input. Remember only positive1 is required; if you're expecting a merge and only see one piece coming through, check that the other CLIPTextEncode nodes are actually wired into positive2–positive6 (or the negative equivalents) rather than left disconnected.
Effects of your extra prompt pieces feel diluted. Merging several conditionings doesn't weight them for you - if one piece needs to dominate, that's controlled upstream (in how you wrote that particular CLIPTextEncode's text), not by anything this node exposes.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| positive1 | CONDITIONING | — | |
| positive2opt | CONDITIONING | — | |
| positive3opt | CONDITIONING | — | |
| positive4opt | CONDITIONING | — | |
| positive5opt | CONDITIONING | — | |
| positive6opt | CONDITIONING | — | |
| negative1opt | CONDITIONING | — | |
| negative2opt | CONDITIONING | — | |
| negative3opt | CONDITIONING | — | |
| negative4opt | CONDITIONING | — | |
| negative5opt | CONDITIONING | — | |
| negative6opt | CONDITIONING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |
| CONDITIONING | CONDITIONING | — |