Nodes/ComfyUI_IPAdapter_plus_V2/IPAdapter Weights From Strategy V2
ComfyUI Node

IPAdapter Weights From Strategy V2

Re-read a weights strategy, or just pass it along

By chflame163·Created 2 years ago·Updated 2 years ago· 55
IPAdapter Weights From Strategy V2
  • weights_strategy
  • image
  • weights
  • weights_invert
  • total_frames
  • image_1
  • image_2
  • weights_strategy

Some nodes in this pack exist because the graph needs a data type wired through, not because they're exciting on their own. IPAdapterWeightsFromStrategyV2 is one of those. The weights_strategy output from IPAdapterWeightsV2 is a little bundle that carries your weight curve plus every timing setting along with it. This node takes that bundle on the weights_strategy input and unpacks it back into the six outputs the apply-side nodes actually want: weights, weights_invert, total_frames, image_1, image_2, and weights_strategy again.

Why would you want to unpack something that was already usable? Two reasons. First, you've branched your graph and want the same curve consumed in two places without re-deriving it - feed one strategy into this node twice and you get two independent copies of the weights. Second, and more useful, it lets you inspect and re-route: wire the strategy output from a weights node into this, then hang previews or downstream logic off the plain weights FLOAT output while the strategy itself keeps flowing.

It also accepts an optional image input, same as IPAdapterWeightsV2, so it can rebuild image_1/image_2 to match whatever batch you hand it - handy when the strategy was built before you knew the final frame count. The weights_strategy output simply echoes the input through untouched, which sounds redundant but matters for chains: you can have two consumer branches off one strategy without the data type getting eaten.

The typical flow

IPAdapterWeightsV2 ──weights_strategy──→ IPAdapterWeightsFromStrategyV2
                                              ├── weights → IPAdapterAdvancedV2.weight
                                              └── weights_strategy → PromptScheduleFromWeightsStrategyV2

If you're new to all this, the honest guidance is: you can usually skip this node entirely. Wire weights and image_1 straight from IPAdapterWeightsV2 into your apply node and it just works. Reach for it when a workflow you downloaded uses it, or when you need the same ramp in more than one place and want it re-materialized rather than shared. It's a plumbing node, and that's fine - plumbing is what lets the interesting nodes talk to each other.

Install

It's part of chflame163/ComfyUI_IPAdapter_plus_V2, the V2-suffixed fork of cubiq's IP-Adapter pack that exists so both versions can coexist in one ComfyUI. Via Manager (search ComfyUI_IPAdapter_plus_V2) or:

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

Restart. No requirements.txt, no pip step - the pack uses ComfyUI's bundled torch/torchvision/PIL. Same install for every node in this pack; nothing extra to download for this one specifically.

Gotchas

Not much to trip over, because it does so little. The one thing worth knowing: it inherits the weight-parsing behavior of IPAdapterWeightsV2, so if the strategy's weights string had formatting problems they'll surface here as an unexpected count or an empty list. And because it echoes the strategy through, don't expect it to modify anything - this node reads and repeats, it doesn't re-time your curve. For that, rebuild the strategy upstream in IPAdapterWeightsV2.

Categoryipadapter/weights

Inputs (2)

NameTypeDefaultDescription
weights_strategyWEIGHTS_STRATEGY
imageoptIMAGE

Outputs (6)

NameTypeDescription
weightsFLOAT
weights_invertFLOAT
total_framesINT
image_1IMAGE
image_2IMAGE
weights_strategyWEIGHTS_STRATEGY