Nodes/tdxh_node_comfyui/TdxhClipVison
ComfyUI Node

TdxhClipVison

CLIP vision conditioning in one node — and yes, the name's a typo

By youyegit·Created 3 years ago·Updated 5 months ago· 2
TdxhClipVison
  • image
  • conditioning
  • CONDITIONING
bool_int1
clip_name
strength1.00
noise_augmentation0.00

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.

CategoryTDXH/tdxh_efficiency

Inputs (6)

NameTypeDefaultDescription
bool_intINT10–1
clip_nameCOMBO0 options:
imageIMAGE
conditioningCONDITIONING
strengthFLOAT1.00-10–10
noise_augmentationFLOAT0.000–1

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING