IPAdapter Precise Style Transfer
Lift a look without dragging the subject
- model
- ipadapter
- image
- image_negative
- attn_mask
- clip_vision
- MODEL
Plain IP-Adapter style transfer has a habit of smuggling the subject along with the style - you wanted the brushwork and palette of a painting and you got a faint echo of what the painting was of. IPAdapter Precise Style Transfer is the node built to fix that. It targets the style-carrying attention layers specifically, so you pull the look of a reference while leaving its content behind.
This is the refined descendant of the style transfer weight type you'll find in the Advanced node. Same underlying InstantStyle-style idea - inject into the layers that govern style rather than everywhere - but here it's a purpose-built node with an extra dial to push the effect harder or softer than the base weight allows.
Inputs and outputs
The core three: model, ipadapter, and image (your style reference). Out comes a patched MODEL. The two settings that define this node:
- weight - overall adapter strength, default 1.0 (range −1 to 5). The usual "start around 0.8, drop it if the prompt stops mattering" advice applies.
- style_boost - the reason to use this node instead of the generic one. It ranges −5 to 5 (default 1) and lets you amplify the style extraction beyond what weight alone does, or pull it back into negative territory to suppress it. When a style is coming through too weakly, nudge
style_boostup before you crankweight- it's the more surgical knob.
combine_embeds, start_at, end_at, and embeds_scaling are the standard pack controls. Optional inputs image_negative, attn_mask, and clip_vision round it out - remember clip_vision is only needed if your adapter came from the plain Model Loader rather than the Unified Loader, which bundles it.
How to actually use it
The point of a precise-style node is that you keep your text prompt doing the heavy lifting on content, and let this node handle look. So: write a normal prompt describing what you want in the image, feed a reference for its aesthetic, and tune weight plus style_boost until the style lands without the reference's subject ghosting into the frame. If you still see the reference's objects or composition leaking through, that's the signal to lean harder on the precise path - either raise style_boost or confirm you're not accidentally running a non-precise apply node somewhere.
It works on SD1.5 and SDXL; just match the CLIP vision encoder to your base (ViT-H for SD1.5, bigG for SDXL). One general caveat that applies to all IP-Adapter style work: running the adapter across the full sampling run softens fine detail, so if your output looks a little mushy, try ending the effect early with end_at around 0.7 rather than letting it ride to 1.0.
Installing the pack
Via ComfyUI Manager: Custom Nodes Manager, search "IPAdapter plus", install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus, restart ComfyUI. You'll need an IP-Adapter model in ComfyUI/models/ipadapter and the matching CLIP vision encoder in ComfyUI/models/clip_vision. If a node errors on load, update ComfyUI - the pack tracks the latest core. And note the scope: SD1.5 and SDXL only, no Flux.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| ipadapter | IPADAPTER | — | |
| image | IMAGE | — | |
| weight | FLOAT | 1.00-1–5 | — |
| style_boost | FLOAT | 1.00-5–5 | — |
| 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 | — |