Nodes/VACE Tools/VACE Mode Select
ComfyUI Node

VACE Mode Select

The 11-way dropdown, but as an integer you can drive

By ethanfel·Created 7 months ago·Updated 6 months ago· 9
VACE Mode Select
    • mode
    index0

    VACE Mode Select is the pack's smallest node and it does exactly one job: turn an integer into a VACE mode string. On its own that sounds pointless - the dropdown on VACE Mask Generator already has all the modes. The point is that a dropdown is a widget you can only click, while an integer is something another node can produce. If you want to drive the mode from a selector, a counter, a seeded random, or a value computed elsewhere in your graph, you wire that integer into this node's index and the mode output plugs straight into VACE Source Prep or VACE Mask Generator.

    It's also quietly the answer to a maintenance problem: one Mode Select feeding both Source Prep and Mask Generator means you change the mode in a single place instead of remembering to match two dropdowns by hand. Get them out of sync and the whole pipeline silently behaves wrong.

    The mapping

    Index 0–10 maps to the 11 modes. Worth noting: the README still documents ten modes, but the code and this node's schema ship eleven - the newest, Upscale, landed as index 10 and is the "enhance already-upscaled frames" mode.

    | Index | Mode | |---|---| | 0 | End Extend | | 1 | Pre Extend | | 2 | Middle Extend | | 3 | Edge Extend | | 4 | Join Extend | | 5 | Bidirectional Extend | | 6 | Frame Interpolation | | 7 | Replace/Inpaint | | 8 | Video Inpaint | | 9 | Keyframe | | 10 | Upscale |

    The node clamps out-of-range values rather than erroring, so a sloppy upstream counter can't crash the graph - you'll just get one of the end modes.

    Inputs and outputs

    One input, one output. index is an INT (default 0, range 0–10), and mode is the matching mode string as a COMBO, which is what the mask generator and source prep both accept as their mode input. That's the whole node - a thin utility, and honest about being one.

    How to install it

    It's one of the seven nodes in ethanfel's ComfyUI-VACE-Tools pack - the same dev behind ComfyUI-LoRA-Optimizer and ComfyUI-Krea2TexTEncoder. Install once, get them all:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/ethanfel/Comfyui-VACE-Tools.git
    

    Restart ComfyUI, or grab it through ComfyUI Manager by searching "VACE Tools". Zero extra dependencies, no model downloads - this node doesn't touch a checkpoint.

    When you'd actually bother

    Honestly, for most people this node is unnecessary - clicking the dropdown is faster than routing an integer. Reach for it when your workflow is becoming a template or you're testing all eleven modes in a loop. If you're hand-building a one-off extension, skip it and set the dropdown directly.

    CategoryVACE Tools

    Inputs (1)

    NameTypeDefaultDescription
    indexINT00–10Mode index: 0=End Extend | 1=Pre Extend | 2=Middle Extend | 3=Edge Extend | 4=Join Extend | 5=Bidirectional Extend | 6=Frame Interpolation | 7=Replace/Inpaint | 8=Video Inpaint | 9=Keyframe | 10=Upscale

    Outputs (1)

    NameTypeDescription
    modeEnd Extend,Pre Extend,Middle Extend,Edge Extend,Join Extend,Bidirectional Extend,Frame Interpolation,Replace/Inpaint,Video Inpaint,Keyframe,Upscale