Nodes/ComfyUI_IPAdapter_plus/IPAdapter Advanced
ComfyUI Node Runs on cloud

IPAdapter Advanced

The IP-Adapter node you actually reach for

By cubiq·Created 3 years ago·Updated about a year ago· 6,086
IPAdapter Advanced
  • model
  • ipadapter
  • image
  • image_negative
  • attn_mask
  • clip_vision
  • MODEL
weight1.00
weight_type
combine_embeds
start_at0.000
end_at1.000
embeds_scaling

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. linear is the honest default. The interesting ones are style transfer and composition (and the strong variants), 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.

Categoryipadapter

Inputs (12)

NameTypeDefaultDescription
modelMODEL
ipadapterIPADAPTER
imageIMAGE
weightFLOAT1.00-1–5
weight_typeCOMBO15 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +9
combine_embedsCOMBO5 options: concat, add, subtract, average, norm average
start_atFLOAT0.0000–1
end_atFLOAT1.0000–1
embeds_scalingCOMBO4 options: V only, K+V, K+V w/ C penalty, K+mean(V) w/ C penalty
image_negativeoptIMAGE
attn_maskoptMASK
clip_visionoptCLIP_VISION

Outputs (1)

NameTypeDescription
MODELMODEL