IPAdapter Embeds Batch V2
Schedule pre-encoded references per frame
- model
- ipadapter
- pos_embed
- neg_embed
- attn_mask
- clip_vision
- MODEL
IPAdapter Embeds Batch V2 is the batch variant of IPAdapter Embeds V2 - the same "apply pre-encoded references" idea, but built for sequences. If you've encoded a set of reference images into embeddings and you want their influence to change frame by frame across an animation, this is the node. It inherits the Embeds apply logic and flips on batch unfolding, so a weight schedule can steer which embedding is dominant at any point in the clip.
How it differs from the single version
Same required pos_embed, same optional neg_embed, attn_mask, and clip_vision, same weight (default 1.0, up to 3), weight_type, start_at/end_at, and embeds_scaling. The difference is unfold_batch: the node treats the EMBEDS batch as a stack to be conditioned per item, matching each weight in your schedule to the corresponding embedding. Feed it embeddings for face A and face B plus a ramp of weights, and you get a crossfade between the two identities across your frames.
The workflow shape is the familiar animation one: IPAdapter Weights V2 (or IPAdapter Combine Weights V2 for a hand-assembled schedule) produces a FLOAT weights list, and it lands on the node alongside the pos_embed batch. The weights output is a list where element i is applied to frame i - keep the lengths in step or you'll get a hard switch instead of a fade.
Why you'd use the embeds version
Same reason as the single-node case: encoding once and reusing. If your animation reuses a small set of references across many frames, pre-encoding means CLIP vision runs a handful of times instead of once per frame, and the reference stays pixel-identical run to run. The saved-embedding workflow (IPAdapter Save Embeds V2 / Load Embeds V2) pairs naturally here - encode a batch once, save it, and schedule it for weeks.
Installing it
ComfyUI Manager: search "ComfyUI_IPAdapter_plus_V2". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_IPAdapter_plus_V2
Restart ComfyUI. Adapter weights in ComfyUI/models/ipadapter.
Gotchas
Batch semantics mean the embed count and the weight count have to agree - a mismatch is the classic source of a jumpy animation that "worked on the last node". And keep the encoder and this node on matching CLIP vision models; mixing vision models across the embed path produces conditioning that doesn't quite line up. This pack is a renamed snapshot of cubiq's V2 codebase, so it doesn't auto-track upstream fixes.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| ipadapter | IPADAPTER | — | |
| pos_embed | EMBEDS | — | |
| weight | FLOAT | 1.00-1–3 | — |
| weight_type | COMBO | 15 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +9 | |
| 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 | — | |
| clip_visionopt | CLIP_VISION | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |