Nodes/ComfyUI_IPAdapter_plus_V2/IPAdapter Precise Composition Batch V2
ComfyUI Node

IPAdapter Precise Composition Batch V2

Composition control, one reference per frame

By chflame163·Created 2 years ago·Updated 2 years ago· 55
IPAdapter Precise Composition Batch V2
  • model
  • ipadapter
  • image
  • image_negative
  • attn_mask
  • clip_vision
  • MODEL
weight1.00
composition_boost0.00
combine_embeds
start_at0.000
end_at1.000
embeds_scaling

The batch sibling of IPAdapterPreciseCompositionV2. Same idea - a dedicated composition_boost dial that biases IP-Adapter toward the reference's layout rather than its look - but instead of one reference image, it takes a batch and conditions each frame separately. The whole "Batch" designation here means unfold_batch = True under the hood: every image in the image input is encoded and conditioned as its own job, so frame 3's composition reference doesn't smear into frame 17's. For animation and sequence work where layout matters frame by frame, that's precisely what you want.

The inputs mirror the single version: image, weight, composition_boost (−5 to 5, default 0), combine_embeds (concat/add/subtract/average/norm average), start_at, end_at, and embeds_scaling. Optional image_negative, attn_mask, clip_vision. One output, MODEL, into your sampler. If you've read the single-image article, everything there about the knob transfers - positive values push the model to obey the reference's spatial arrangement, negative values suppress it, and a few tenths are already visible.

How the batch version differs

Only in the per-frame handling, but that difference is the reason the node exists. With the non-batch node, feeding it a multi-image batch folds the references into one conditioning - usable for "condition on a stack of similar layouts," wrong for "each frame should follow its own composition." This node keeps them apart. If you've got a storyboard where every frame has a different arrangement you want respected, this is the one. If you're doing a single still, the non-batch version is simpler and identical in effect.

When you'd reach for it

Animation with per-frame composition references, batch variation generation where each variation pairs with its own layout reference, or any sequence where "layout" is the signal you care about keeping frame-accurate. The usual IP-Adapter caveats apply harder here: it biases composition, it doesn't lock it - for pixel-precise placement you still want ControlNet stacked alongside.

Install

Part of chflame163/ComfyUI_IPAdapter_plus_V2, the V2 fork of cubiq's pack:

cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_IPAdapter_plus_V2

or ComfyUI Manager → search ComfyUI_IPAdapter_plus_V2, then restart. No pip requirements.

Gotchas

Batch-size mismatch is the main trap - the reference batch must line up with your frame count or frames silently pair with the wrong composition. And per-frame processing is slower than a single pass; if you only have one composition reference, don't pay the batch tax - use the single version. Everything else is the single node's gotchas: move composition_boost in small steps, and don't expect it to substitute for ControlNet's spatial locking.

Categoryipadapter

Inputs (12)

NameTypeDefaultDescription
modelMODEL
ipadapterIPADAPTER
imageIMAGE
weightFLOAT1.00-1–5
composition_boostFLOAT0.00-5–5
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