IPAdapter Advanced
The IP-Adapter node you actually reach for
- model
- ipadapter
- image
- image_negative
- attn_mask
- clip_vision
- MODEL
Think of IP-Adapter as a one-image LoRA. You hand it a reference picture and it pushes that image's style, subject, or vibe into your generation without you training anything. IPAdapter Advanced is the node where all of that lives once you've outgrown the beginner button. It's the workhorse: same job as the plain IPAdapter node, but with every knob exposed instead of three.
The mechanism is worth knowing because it explains the knobs. IP-Adapter runs a CLIP vision encoder over your reference, turns it into an image embedding, and injects that through a separate set of cross-attention layers that sit alongside the model's frozen text-attention. Your text prompt keeps working; the image conditioning rides in next to it. That decoupling is the whole trick, and it's why one ~100MB adapter file works across every fine-tune of a given base model.
What actually plugs in
Three connections make it run: a model (your checkpoint), an ipadapter (from the Unified Loader or the plain Model Loader), and an image (your reference). Out comes a patched MODEL that you wire straight into your KSampler. That's it for the plumbing.
The settings that matter to a beginner:
- weight - how hard the reference hits. Default is 1.0, but the community consensus is to drop it to around 0.8, and lower still (0.3–0.5) if you want the text prompt to stay in charge. Above ~0.8 the reference starts overriding your prompt entirely. It goes negative and up to 5, but you rarely want the extremes.
- weight_type - fifteen curves for how the weight is applied.
linearis the honest default. The interesting ones arestyle transferandcomposition(and thestrongvariants), which are the InstantStyle trick: instead of injecting everywhere, they target the attention blocks that carry style or layout, so you can lift a look without dragging the whole subject along. - start_at / end_at - the fraction of sampling the adapter is active for. Ending early (say 0.0 to 0.7) is the standard move to stop IP-Adapter from softening fine detail, which it measurably does when it runs across all steps.
combine_embeds (concat, add, subtract, average, norm average) decides how multiple reference images fuse when you feed a batch. embeds_scaling is a deeper attention-math setting - leave it on the default until you have a reason. Optionally, attn_mask restricts the effect to a masked region, image_negative supplies an unwanted-direction reference, and clip_vision lets you feed the encoder manually.
That last one is a gotcha: if your ipadapter came from the Unified Loader, the CLIP vision model rides along and you leave clip_vision empty. If you used the plain IPAdapter Model Loader, you must wire a CLIP vision model into this slot yourself, or nothing works.
Installing the pack
Easiest path is ComfyUI Manager - open the Custom Nodes Manager, search "IPAdapter plus", install, restart. Manual route: cd ComfyUI/custom_nodes && git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus, then restart. The node pack is tiny; the weight is in the models. You need a CLIP vision encoder in ComfyUI/models/clip_vision (ViT-H for SD1.5 models, ViT-bigG for SDXL) and the IP-Adapter model itself in ComfyUI/models/ipadapter (make that folder if it isn't there). Author Matteo (cubiq) is blunt about one thing: IP-Adapter always wants the latest ComfyUI, so upgrade first if a node errors on load.
Where people get burned
The single most common error, by a mile, is "IPAdapter model not found" or the CLIP-vision equivalent - nearly always a wrong-folder or wrong-encoder problem. SD1.5 adapters need the ViT-H encoder; SDXL adapters need bigG. Mismatch them and you get an error or mush.
One heads-up on the pack itself: cubiq put the repo in maintenance-only mode in April 2025, and none of this loads on Flux - IP-Adapter is an SD1.5 and SDXL tool. On SD1.5 it's still the sharpest thing going for style and subject transfer. On anything newer, look at Redux or PuLID instead.
Inputs (12)
| 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 | |
| image_negativeopt | IMAGE | — | |
| attn_maskopt | MASK | — | |
| clip_visionopt | CLIP_VISION | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |