Easy Apply IPAdapter (Regional)
Different reference images in different regions
- pipe
- image
- mask
- optional_ipadapter_params
- pipe
- ipadapter_params
- positive
- negative
IP-Adapter lets you prompt with an image instead of only words - hand it a reference and it steers style or content toward that picture. The regional version adds the missing dimension: where. Instead of one reference influencing the whole frame, you paint a mask and say "this reference goes here." Two characters with two different looks, a specific style on the left and another on the right - that's the job this node exists for.
It's part of ComfyUI-Easy-Use's Adapter set, and it's the convenience wrapper over the regional IP-Adapter pattern that used to take a small pile of nodes to build.
Why you'd reach for it
Because a single global IP-Adapter smears one reference across everything, and sometimes you want control. The classic case is a two-subject scene where each subject should look like a different reference image. You mask subject A, apply reference A; mask subject B, apply reference B; and because these nodes chain, you build up as many regions as you need. IP-Adapter conditions what things look like while a ControlNet conditions where they go - pairing regional IPAdapter with regional prompts and a ControlNet is one of the stronger composition workflows on SD1.5/SDXL.
How it works
You give it a reference image, a mask for the region it should affect, and per-region positive/negative text. It encodes the reference and limits its influence to the masked area, merging that into the conditioning carried on the pipe. The key to multi-region work is the optional_ipadapter_params input/output pair: it outputs an IPADAPTER_PARAMS bundle that you feed into the next regional node's optional_ipadapter_params input, stacking region after region into one coherent apply.
The inputs that matter
image- the reference for this region.mask(optional input) - where this reference applies. No mask = whole frame.image_weight- how strongly the reference pulls, default 1.0. IP-Adapter is sensitive here; back it off if the reference is overriding your prompt.prompt_weight- balances the per-region text against the image.weight_type- 14 modes including style transfer, composition, strong style transfer. Pickstyle transferwhen you want the look but not the layout.start_at/end_at- the sampling window.
Outputs: pipe, ipadapter_params (chain into the next region), positive, negative.
Installing it
Install Easy-Use (ComfyUI Manager → ComfyUI Easy Use, or clone + install requirements). IP-Adapter itself is a separate dependency the pack drives but doesn't bundle:
- cubiq/ComfyUI_IPAdapter_plus custom nodes.
- The IP-Adapter model files and the matching CLIP-vision encoder for your architecture (the model must match your base - SD1.5 vs SDXL).
Where people trip
The most common one is a model/architecture mismatch: an SD1.5 IP-Adapter on an SDXL model (or vice versa) just fails or produces garbage - match them. Second, IP-Adapter softens detail when it runs across all steps, so if your regions look mushy, end them earlier with end_at rather than running full-length. Third, for chaining regions, remember the params handoff - feed each node's ipadapter_params output into the next node's optional_ipadapter_params input, or your later regions won't combine. And note cubiq's pack is in maintenance-only mode and has no Flux support; regional IPAdapter here is an SD1.5/SDXL technique.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| pipe | PIPE_LINE | — | |
| image | IMAGE | — | |
| positive | STRING | — | |
| negative | STRING | — | |
| image_weight | FLOAT | 1.00-1–3 | — |
| prompt_weight | FLOAT | 1.000–10 | — |
| weight_type | COMBO | 14 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +8 | |
| start_at | FLOAT | 0.0000–1 | — |
| end_at | FLOAT | 1.0000–1 | — |
| maskopt | MASK | — | |
| optional_ipadapter_paramsopt | IPADAPTER_PARAMS | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE_LINE | — |
| ipadapter_params | IPADAPTER_PARAMS | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |