IPAdapter Precise Composition Batch
Borrow the layout, not the look
- model
- ipadapter
- image
- image_negative
- attn_mask
- clip_vision
- MODEL
This is the mirror image of Precise Style Transfer. Instead of carrying a reference's look, it carries its composition - the arrangement of the scene, where the big shapes sit, the overall layout - and lets your prompt and model decide the actual style and content. It works by targeting the specific attention layers that encode structure rather than surface, the InstantStyle-style layer-splitting this pack is built around. So you can hand it a photo whose framing you love and generate something in a completely different style that still sits the same way.
Reach for it when you want to reuse a layout without inheriting the colors and texture that came with it. It's a lighter-weight, single-reference alternative to the full Style & Composition node when composition is the only thing you're after. The "Batch" suffix marks the variant for batched/animation contexts; there's a non-batch equivalent for single stills.
How it works
Same shape as any apply node: it patches the model with conditioning from your image and returns a patched MODEL. The twist is that only the composition-carrying layers receive the reference, plus a composition_boost dial that lets you push that structural influence harder than its natural level.
The inputs that matter
image- your composition reference. Its layout is what you're borrowing.weight- overall strength, default 1.0. Ease down if it starts overriding the prompt.composition_boost- the headline knob, default 0, ranging -5 to 5. Turn it up when the layout is coming through too faintly; it amplifies the composition layers specifically. Note the default is 0 here, so out of the box the boost is neutral andweightdoes the work - bump it when you want the structure to assert itself more.combine_embeds- how multiple references merge if you feed a batch.
start_at / end_at gate when the adapter runs, and embeds_scaling is the injection math; both are fine at defaults. Optional attn_mask, image_negative, and clip_vision handle masking, a negative reference, and the encoder explicitly.
Installing the pack
ComfyUI Manager: search ComfyUI IPAdapter plus, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus
then restart. IPAdapter wants the latest ComfyUI, so update Comfy first if a node errors on load. CLIP vision encoders go in ComfyUI/models/clip_vision, adapter weights in ComfyUI/models/ipadapter (create the folder if it's missing), and the Unified Loader needs exact filenames.
Where people get burned
The universal one: the ClipVision/IPAdapter mismatch. A tensor-size error on queue means encoder and adapter don't match - SD 1.5 → ViT-H, bigG/vit-G → their own encoder. First thing to check, every time.
The node-specific confusion is expecting it to pin composition as tightly as ControlNet does. It won't. IPAdapter composition transfer is a soft nudge toward a layout, not a hard structural lock like a depth or canny map. If you need the generated image to follow an exact pose or edge structure, that's a ControlNet job - and the two pair beautifully, IPAdapter deciding the loose arrangement while ControlNet enforces the precise geometry. Over-cranking composition_boost to force a tighter match mostly just smears detail, since IPAdapter softens the image the harder you lean on it. And the scope note stands: SD 1.5 / SDXL only, maintenance mode, no Flux.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| ipadapter | IPADAPTER | — | |
| image | IMAGE | — | |
| weight | FLOAT | 1.00-1–5 | — |
| composition_boost | FLOAT | 0.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 | — |