IPAdapter ClipVision Enhancer V2
Wring more detail out of your reference
- model
- ipadapter
- image
- image_negative
- attn_mask
- clip_vision
- MODEL
IPAdapter ClipVision Enhancer V2 is the single-image version of the "read the reference harder" node, and it earns its place in the dev menu. Standard IP-Adapter encodes your reference image once through CLIP vision, and for a portrait or a simple composition that's enough. But the moment your reference is a busy illustration, a detailed texture, or a small subject inside a larger scene, that one pass throws away most of what's in the picture. The Enhancer fixes that by tiling the image and encoding each tile separately, then stitching the embeddings back together.
What the two extra knobs do
enhance_tiles (default 2, range 1–16) splits the reference into an N×N grid before encoding. Each tile gets its own CLIP vision pass, so the model sees the whole image and the parts that would normally get averaged away - the texture of the fabric, the details in the corner, the tiny object you actually care about. enhance_ratio (default 1.0 here, 0 to 1) blends the full-image embedding with the tiled one. At 1.0 you're using the plain whole-image embedding (enhancement effectively off), and as you drop toward 0 you lean increasingly on the tile detail. Set enhance_tiles above 1 and then pull enhance_ratio down until the output starts paying attention to what you wanted.
How it sits in a workflow
It's a drop-in replacement for the Advanced apply node - same model, ipadapter, image, weight (default 1.0, up to 5), weight_type, start_at/end_at, embeds_scaling inputs, same optional image_negative, attn_mask, clip_vision, same single MODEL output into your KSampler. The cost is compute: tiling multiplies the encoding passes, so it's slower, and more tokens can shift detail around in ways you didn't ask for. The pragmatic play is to start with enhance_tiles: 1 (plain behavior), and only flip it on when the reference genuinely has detail the normal path is losing.
Installing it
ComfyUI Manager: search "ComfyUI_IPAdapter_plus_V2". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_IPAdapter_plus_V2
Restart ComfyUI. Adapter weights in ComfyUI/models/ipadapter, CLIP vision in ComfyUI/models/clip_vision.
Gotchas
This whole pack is a renamed snapshot of cubiq's V2 codebase - it coexists with the v1-style pack by design but won't auto-follow cubiq's upstream fixes. And one honest warning: the enhancer is easy to overuse. Tiling a simple portrait mostly just slows you down and adds edge artifacts the tiled boundaries introduce. Save it for references that are actually information-dense.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| ipadapter | IPADAPTER | — | |
| image | IMAGE | — | |
| weight | FLOAT | 1.00-1–5 | — |
| weight_type | COMBO | 15 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +9 | |
| combine_embeds | COMBO | 5 options: concat, add, subtract, average, norm average | |
| start_at | FLOAT | 0.0000–1 | — |
| end_at | FLOAT | 1.0000–1 | — |
| embeds_scaling | COMBO | 4 options: V only, K+V, K+V w/ C penalty, K+mean(V) w/ C penalty | |
| enhance_tiles | INT | 21–16 | — |
| enhance_ratio | FLOAT | 1.000–1 | — |
| image_negativeopt | IMAGE | — | |
| attn_maskopt | MASK | — | |
| clip_visionopt | CLIP_VISION | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |