IPAdapter from Params V2
Apply a whole condition stack in one patch
- model
- ipadapter
- ipadapter_params
- image_negative
- clip_vision
- MODEL
IPAdapter from Params V2 is the apply node at the end of the params pipeline. Instead of taking a single image, it takes an IPADAPTER_PARAMS bundle - a ready-made list of images, masks, weights, weight types, and start/end points - and applies the whole stack to your model in one pass. If you've ever built a workflow with five chained IP-Adapter nodes and wondered why it's so heavy, this is the cleaner version: one node, one model patch, all conditions at once.
How it works
The required inputs are model, ipadapter, and ipadapter_params - the bundle produced by IPAdapter Regional Conditioning V2 (for a single masked region) or IPAdapter Combine Params V2 (for up to five merged). combine_embeds (concat/add/subtract/average/norm average) decides how multiple images in the bundle merge, and embeds_scaling controls the K/V application. Optional image_negative and clip_vision round it out. Under the hood it walks the params lists and runs the same per-item conditioning as the Advanced node, then returns a single patched MODEL.
The payoff is architectural: the params bundle travels as data, so you can build conditions programmatically - different regions, different strengths, different timing - and apply them without multiplying attention patches. For regional character scenes (face from reference A, outfit from B, each masked) or for animation schedules, it keeps the graph small and the memory churn low.
When you'd use it
The textbook case: a scene with distinct elements, each conditioned from a different reference and restricted by an attention mask. Build one bundle per element with IPAdapter Regional Conditioning V2, merge with IPAdapter Combine Params V2, then a single From Params applies it all. Because each bundle entry keeps its own weight_type and start_at/end_at, it also works for mixing images with different timing curves in one generation - the sort of thing that would otherwise be node soup.
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 and CLIP vision models in ComfyUI/models/ipadapter and models/clip_vision as usual.
Gotchas
The params bundle is only as good as the masks inside it - a missing mask means an unmasked image conditioning, which is usually "too strong" rather than "nothing." And the bundle lists must stay parallel (one weight per image per mask), which the generating nodes handle for you but hand-built bundles can break. As with the rest of this pack: it's a renamed snapshot of cubiq's V2 codebase, so no auto-follow on upstream fixes.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| ipadapter | IPADAPTER | — | |
| ipadapter_params | IPADAPTER_PARAMS | — | |
| combine_embeds | COMBO | 5 options: concat, add, subtract, average, norm average | |
| embeds_scaling | COMBO | 4 options: V only, K+V, K+V w/ C penalty, K+mean(V) w/ C penalty | |
| image_negativeopt | IMAGE | — | |
| clip_visionopt | CLIP_VISION | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |