Nodes/GraftingRayman/GR Prompt HUB
ComfyUI Node

GR Prompt HUB

Combine up to six positive and six negative conditionings into one pair

By GraftingRayman·Created 2 years ago·Updated about a month ago· 76
GR Prompt HUB
  • 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.
  • positive2positive6 (CONDITIONING, optional) - additional positive conditioning pieces to merge in.
  • negative1negative6 (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 your KSampler.

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 positive2positive6 (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.

CategoryGraftingRayman/Prompt

Inputs (12)

NameTypeDefaultDescription
positive1CONDITIONING
positive2optCONDITIONING
positive3optCONDITIONING
positive4optCONDITIONING
positive5optCONDITIONING
positive6optCONDITIONING
negative1optCONDITIONING
negative2optCONDITIONING
negative3optCONDITIONING
negative4optCONDITIONING
negative5optCONDITIONING
negative6optCONDITIONING

Outputs (2)

NameTypeDescription
CONDITIONINGCONDITIONING
CONDITIONINGCONDITIONING