Nodes/ComfyUI-WanVaceAdvanced/StringToFloatListRanged
ComfyUI Node

StringToFloatListRanged

Per-frame VACE strength, without the fiddly typing

By drozbay·Created about a year ago·Updated 7 months ago· 95
StringToFloatListRanged
    • FLOAT
    string1, 2, 3#2, 5.5

    Every WanVaceAdvanced strength input happily takes a float, but the whole point of this pack is that it also takes a list - one strength value per latent frame. That's where StringToFloatListRanged comes in: it's the node you use to type that list without wanting to throw your keyboard. One input, one output, no model involved, no VRAM, no risk.

    What it does

    You give it a comma-separated string, it gives you a FLOAT list. The one clever bit is the repeat notation: 3#5 means "3.0 five times". So the pack's README example for a continuation video - hold strength at 1.0 for the overlap frames, drop to 0.5 for the rest - looks like this instead of a wall of numbers:

    1.0, 1.0, 1.0, 0.5#10
    

    Mixing works too. The default input is literally 1, 2, 3#2, 5.5, which parses to [1.0, 2.0, 3.0, 3.0, 5.5]. The regex behind it is ^(-?\d+(?:\.\d+)?)#(\d+)$ - a signed number, an optional decimal, a #, then a count - so negatives and decimals both repeat fine, and anything without a # is just parsed as a float.

    This is, by the way, a slimmed-down clone of Kijai's StringToFloatList from ComfyUI-KJNodes, reimplemented with the # repeat syntax and shipped inside this pack so VACE workflows don't need an extra dependency just to feed strength lists.

    Wiring it up

    • Feed the FLOAT output into vace_strength, vace_ref_strength, or any strength input on WanVacePhantomSimpleV2, WanVacePhantomDualV2, WanVacePhantomExperimental, or WanVacePhantomExperimentalV2.
    • Remember the unit: strength lists are per latent frame, and each latent frame is 4 video frames once decoded. A list of 13 values covers ~49 video frames (9 latent for the first 9 video frames at 1:1, then 4 latent × 4 frames each). Plan your counts around that, not around your clip length.
    • You also need the model patched for per-frame lists to work - either run the model through the V2 node's model input or use VaceAdvancedModelPatch. Unpatched, list inputs silently misbehave.

    Install

    Same routine as the rest of the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/drozbay/ComfyUI-WanVaceAdvanced
    # restart ComfyUI
    

    or ComfyUI Manager → search "ComfyUI-WanVaceAdvanced". No extra dependencies.

    One tip: because the input is a plain string, you can drive it with any text-generation or wildcard node, or expose it as a workflow input and edit it without touching the graph. And if your only goal is a simple "first frame strong, rest weaker" ramp, the pack's VaceStrengthTester does that pattern with two floats and no syntax at all - reach for this node when the pattern gets more interesting than that. It's a tiny utility, but it's the least fiddly way to do the thing that makes this pack worth installing.

    CategoryWanVaceAdvanced

    Inputs (1)

    NameTypeDefaultDescription
    stringSTRING1, 2, 3#2, 5.5

    Outputs (1)

    NameTypeDescription
    FLOATFLOAT