Easy Apply IPAdapter (Embeds)
Apply pre-encoded IP-Adapter embeds without re-encoding every run
- model
- clip_vision
- ipadapter
- pos_embed
- neg_embed
- attn_mask
- model
- ipadapter
This is the back half of a two-step IP-Adapter setup. Instead of handing it reference images, you hand it embeds - the already-encoded image vectors - and it injects them into your model. You get this node when you've split encoding from applying, usually because you want to encode a reference once and then reuse those embeds across many generations, or combine embeds you built elsewhere. If you just want "image in, style out" in one node, you want easy ipadapterApply instead; this one is deliberately the plumbing.
Why IP-Adapter, and why split it
IP-Adapter made image prompting cheap. Rather than training a LoRA to teach the model a look, you give it a reference picture and a small (~22M-param) adapter injects that image's embedding through its own cross-attention path, leaving the text path alone so your prompt still works. That decoupling is the whole trick. It still owns image prompting inside SD 1.5 and SDXL workflows - just note it doesn't load on Flux or newer, where Redux and PuLID took over.
Splitting into encode → apply matters when encoding is the expensive, repeated part. Encode your reference into pos_embed once with the encoder node, then feed those embeds into this node on every run, tweaking weight and timing without paying the CLIP-vision cost again.
The inputs and outputs that matter
You must supply the pieces this node can't invent: model, clip_vision, ipadapter (the loaded adapter), and pos_embed (the EMBEDS from the encoder). Then the dials:
weight(default 1.0) - how hard the reference pushes. This is the knob you'll actually move; drop it toward 0.5 if the reference is steamrolling your prompt.weight_type- a menu of curves:linear,style transfer,composition,strong style transfer, and so on.style transfergrabs look-and-feel while leaving layout to the prompt;compositiondoes the opposite. This is where a lot of the control lives.start_at/end_at- the fraction of the denoise the adapter is active for. Ending early hands the last steps back to the base model.embeds_scaling- how the embedding scales into the attention keys/values (V only,K+V, and two penalty variants). Leave it at the default unless you're chasing an artifact.
Optional neg_embed (a negative reference) and attn_mask (restrict the effect to a region) round it out. Outputs are the patched model - wire it straight into your sampler - and the ipadapter passthrough for chaining another adapter node.
Installing it
Easy-Use wraps cubiq's ComfyUI_IPAdapter_plus, so have that installed too. Get Easy-Use through ComfyUI Manager (search ComfyUI Easy Use) or:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
Install its requirements and restart. You'll also need the IP-Adapter model files and a CLIP-vision model on disk; the encoder node's preset usually pulls the right ones.
Where it goes wrong
The common one is a CLIP-vision / adapter mismatch - SD 1.5 embeds fed to an SDXL adapter, or the wrong CLIP-vision model - which throws a tensor-shape error. Keep the whole chain on one base architecture. The other is trying to use this on a Flux workflow: it won't, because IP-Adapter itself doesn't. And remember the FaceID line specifically inherits InsightFace's non-commercial terms, so if your embeds came from a FaceID encode, the same licensing limit follows them into this node.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip_vision | CLIP_VISION | — | |
| ipadapter | IPADAPTER | — | |
| pos_embed | EMBEDS | — | |
| weight | FLOAT | 1.00-1–3 | — |
| 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 | — |
| embeds_scaling | COMBO | 4 options: V only, K+V, K+V w/ C penalty, K+mean(V) w/ C penalty | |
| neg_embedopt | EMBEDS | — | |
| attn_maskopt | MASK | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| ipadapter | IPADAPTER | — |