TdxhClipVison
CLIP vision conditioning in one node — and yes, the name's a typo
- image
- conditioning
- CONDITIONING
First, the elephant: the node is spelled TdxhClipVison - "Vison," not "Vision." That's the author's typo baked permanently into the class name, so search for it exactly as written and don't waste a minute wondering why "Vision" finds nothing.
Mechanically, this node is three stock nodes welded into one: CLIPVisionLoader + CLIPVisionEncode + unCLIPConditioning. You hand it a clip_name (dropdown from your models/clip_vision folder), an image, your base conditioning, plus strength (−10 to 10, default 1) and noise_augmentation (0–1, default 0). It loads the CLIP vision model, encodes the image into a CLIP-vision embedding, and merges that into your conditioning via the unCLIP path. The single output is CONDITIONING, ready for the KSampler.
What is this actually for? It's the SD1.5/SDXL-era trick of steering a generation with an image's CLIP embedding - the model looks at what's in the reference and leans the composition, palette, or vibe of the output toward it, without pixel-copying. It's the older, clunkier cousin of what IP-Adapter does, and honestly most people who want this today install IP-Adapter. But if you want image-influenced conditioning with zero extra packs, this is the lean route.
The mechanism hides two short-circuits you should know about: when bool_int is 0 or strength is 0, the node returns your conditioning untouched - no model load, no encode. So the "off" state is free, and sliding strength to 0 is a second mute path. When it's on, it does the full loader-encode-merge dance, which means a CLIP vision model has to actually exist on disk; if the dropdown is empty, you don't have one in models/clip_vision yet (the SDXL ones, like clip_vision_g.safetensors, are what people typically grab).
Installing it
ComfyUI Manager → search tdxh_node_comfyui → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/youyegit/tdxh_node_comfyui
Restart and it's under TDXH → tdxh_efficiency. The node itself needs no downloads, but you need a CLIP vision checkpoint in models/clip_vision. Hobbyist pack, GPL-3.0; the README warns nodes can change between versions.
The honest take
This is a faithful one-node repack of the stock unCLIP path, and the switch is nice. But it's SD1.5/SDXL tech - there's no equivalent unCLIPConditioning on the newer architectures, so don't expect it on Flux or friends. If you're on SDXL and want image-flavored conditioning without installing an adapter pack, it works. If you're on a modern base, IP-Adapter is the path and this node won't help you.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| bool_int | INT | 10–1 | — |
| clip_name | COMBO | 0 options: | |
| image | IMAGE | — | |
| conditioning | CONDITIONING | — | |
| strength | FLOAT | 1.00-10–10 | — |
| noise_augmentation | FLOAT | 0.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |