IPAdapter ClipVision Enhancer Batch
High-detail transfer across a sequence
- model
- ipadapter
- image
- image_negative
- attn_mask
- clip_vision
- MODEL
This is the batch version of the ClipVision Enhancer - the detail-boosting trick, applied to a sequence of images rather than a single one. If you know the regular Enhancer (tile the reference, encode the pieces, feed the adapter a higher-resolution view for sharper detail transfer), this is that plus batch handling, aimed at animation and other multi-frame workflows where each frame gets its own reference.
Two things are stacked here. First, the enhancer: the CLIP vision encoder only sees 224px, so it tiles the reference to recover fine detail that the downscale would otherwise lose. Second, the batch behavior: images are treated as a per-frame sequence, the way IPAdapter Batch handles them, so the whole thing works inside AnimateDiff-style graphs. Like the non-batch enhancer, it sits in the pack's dev category - experimental, power-user territory, not the beginner path.
Inputs and outputs
The base is the advanced apply surface: model, ipadapter, image (your batch), weight, weight_type, combine_embeds, start_at, end_at, embeds_scaling, out to a patched MODEL. The controls that make it this node:
- enhance_tiles - tiles per image, 1 to 16 (default 2). Higher = more detail captured, more compute.
- enhance_ratio - 0 to 1, default 0.5 here (note: the single-image enhancer defaults to 1). How much the tiled encoding is blended against the standard one. The lower default is a gentler starting point, sensible for batches where the enhancement compounds across many frames.
- encode_batch_size - 0 to 4096, default 0. This is your VRAM valve. Default 0 encodes everything at once (fast, memory-hungry); set it to a small number like 4 or 8 to encode in chunks when a long sequence blows past your card's memory.
Optional image_negative, attn_mask, clip_vision as usual.
Where it fits, and the honest caveat
This is a narrow, demanding node: you want it when you're doing animation and you need high-detail reference transfer and you're willing to pay the compute. That's a specific intersection. The combination of tiling (multiplies encoding work per frame) and batching (many frames) makes this one of the heavier things in the pack - encode_batch_size exists precisely because this node will happily exhaust your VRAM otherwise. If a run dies with a CUDA out-of-memory error, that setting is the first fix.
For a single still reference, use the non-batch IPAdapter ClipVision Enhancer. For animation without the detail-boost need, use the plain IPAdapter Batch. This node is the both-at-once option, and being a dev node, expect to experiment. Start with default tiles and a modest encode_batch_size, confirm it runs, then push detail up if your hardware allows.
Installing the pack
ComfyUI Manager: Custom Nodes Manager, search "IPAdapter plus", install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus, then restart ComfyUI. Needs an IP-Adapter model in ComfyUI/models/ipadapter and a CLIP vision encoder in ComfyUI/models/clip_vision (ViT-H for SD1.5, bigG for SDXL). Update ComfyUI if a node won't load; on a dev node, staying current on the pack matters. SD1.5/SDXL only - no Flux.
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 | |
| 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 | 0.500–1 | — |
| encode_batch_size | INT | 00–4096 | — |
| image_negativeopt | IMAGE | — | |
| attn_maskopt | MASK | — | |
| clip_visionopt | CLIP_VISION | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |