Nodes/ComfyUI_IPAdapter_plus_V2/IPAdapter Style & Composition Batch SDXL V2
ComfyUI Node

IPAdapter Style & Composition Batch SDXL V2

Two references per frame, SDXL only

By chflame163·Created 2 years ago·Updated 2 years ago· 55
IPAdapter Style & Composition Batch SDXL V2
  • model
  • ipadapter
  • image_style
  • image_composition
  • image_negative
  • attn_mask
  • clip_vision
  • MODEL
weight_style1.00
weight_composition1.00
expand_stylefalse
start_at0.000
end_at1.000
embeds_scaling

Take everything the single-image Style & Composition node does - one reference for style, one for layout, independent weights, injected together - and apply it to a sequence of reference pairs instead of one pair. That's this node. IPAdapterStyleCompositionBatchV2 is the batch variant: it expects image_style and image_composition to be batches (multiple frames), and it processes them per frame rather than blending them into one average. This is what you want for animation or frame-by-frame work where each frame needs its own style/composition pairing.

The "Batch" in the name isn't just an advertising flourish. In this pack's source, batch variants set unfold_batch = True, which changes how the encoder handles the incoming image tensor: each image in the batch is encoded and conditioned separately, instead of the whole batch being folded into a single conditioning. That distinction is what keeps frame 1's style from bleeding into frame 30's. It's also why there are paired single/batch versions of so many nodes here - the difference is structural, not cosmetic.

The inputs are the same as the single version, minus combine_embeds (the batch path fixes the merge internally - check the source if you care; the default concat behavior is fine for sequences). You get image_style, image_composition, weight_style, weight_composition, expand_style, start_at, end_at, and embeds_scaling, plus the usual optional image_negative, attn_mask, and clip_vision. Output is MODEL. And like its sibling, this is SDXL-only - feed it SD 1.5 and it raises the same "only available for SDXL models" error.

When you'd reach for it

The realistic use is a style-consistent animation or slideshow: a storyboard of composition references, each frame styled by a matching style reference, run through one node. It's also the answer when you're batch-generating a contact sheet of variations and want each variant to pair its own style/composition refs. For a single pair of images, the non-batch node is the simpler choice - this one adds nothing but the per-frame handling.

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

The batch-synchronization trap: image_style and image_composition need matching batch sizes, or the encoder silently misaligns them frame for frame. If your styles drift from your compositions mid-sequence, check the batch lengths first. And per-frame processing is slower and hungrier than a single-pair pass - on a tight-VRAM card, this node will be the first thing you notice. Finally, keep the same era-caveat as the rest of this pack: this is an SDXL-family tool, so if your base is newer, none of this applies.

Categoryipadapter/style_composition

Inputs (13)

NameTypeDefaultDescription
modelMODEL
ipadapterIPADAPTER
image_styleIMAGE
image_compositionIMAGE
weight_styleFLOAT1.00-1–5
weight_compositionFLOAT1.00-1–5
expand_styleBOOLEANfalse
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