Conditioning
The node that hands your LLM's answer to Stable Diffusion — a CLIPTextEncode with extra steps
- text
- clip
- CONDITIONING
Here's the moment a text-generation pack becomes a ComfyUI pack. The Conditioning node is the bridge from the LLM world back to the diffusion world: it takes the TEXT your agents produced, runs it through a CLIP model, and hands back proper CONDITIONING that a KSampler can actually use. If NodeGPT's whole pitch is "LLM writes your prompts, diffusion draws them," this is the wire that makes the second half true.
The trick that confuses people is the name. This is not AutoGen conditioning. Mechanically it's a CLIPTextEncode wearing a different hat - the original early build of the pack literally had a node that did clip.encode(text) and returned CONDITIONING. The AutoGen-era version just feeds it the custom TEXT type instead of a plain string, so it slots cleanly after a Chat node instead of after a String node. One input is the LLM's output, one is a loaded CLIP, and the output plugs straight into the positive (or negative) conditioning input of a sampler.
The three things on it
- text -
TEXTin, and it should be the output of a Chat or llava node. Whatever your agent decided, this is where it becomes a prompt. - clip - a standard CLIP, from the same CLIPLoad/CheckpointLoader you already use.
- Output: CONDITIONING, wired into a KSampler just like the positive prompt from any normal text encoder.
Why you'd bother
Because it closes the loop. The author's original demo was a positive feedback cycle: an agent reasons about an image, generates or refines a prompt, and you feed it straight into sampling. Combined with the llava node (which captions an image back to TEXT), you get a graph where the LLM and the diffusion model talk to each other - a genuinely cool idea in 2023, and still the shape of today's "LLM-driven prompting" workflows, just with maintained packs.
The honest asterisk: this node only works if the pack works, and it's a museum piece now. The repo xXAdonesXx/NodeGPT 404s as of this writing and the author's account is gone, so the README's install (cd ComfyUI/custom_nodes && git clone ..., then restart to auto-install requirements) is historical. If you load an old workflow that uses it, at least you know what it's doing - and you can rebuild the same bridge with ComfyUI's own CLIPTextEncode plus any text node.
Troubleshooting
- Nothing to condition - make sure the upstream Chat/llava actually produced text; a crashed agent outputs nothing and the encode fails silently upstream.
- Nonsense prompts - remember the LLM is writing, so the system message matters more than you'd think. An agent told to "answer with code" will happily feed code into your sampler.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| text | TEXT | — | |
| clip | CLIP | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |