Nodes/ComfyUI-FBnodes/VACE Stitcher Options
ComfyUI Node

VACE Stitcher Options

Don't touch it until you need it

By FranckyB·Created 6 months ago·Updated 3 days ago· 13
VACE Stitcher Options
    • options
    context_frames8
    replace_frames8
    new_frames0
    steps_high4
    steps_low4
    cfg1.0
    sampler_nameeuler
    schedulersimple
    seed0
    seamless_loopfalse
    vace_strength1.00
    crossfadetrue
    color_matchfalse
    decode_batch_size160

    If you've ever sat through a five-second VACE generation and thought "I wish this could just be a node," the VACE Stitcher in ComfyUI-FBnodes is that wish granted. And this node, VACE Stitcher Options, is what you plug into it when the defaults aren't doing it for you. It's a pure parameter-override node - it loads nothing, renders nothing, and exists only to hand a bundle of settings to the Stitcher's options input.

    It's optional: leave the options socket unconnected and the Stitcher runs on sensible defaults. This node is for the moments you need to control context frames, steps, crossfade, or loop-back - which, once you start stitching real footage, is most of the time.

    What the Stitcher is doing under the hood

    VACE Stitcher generates AI transitions between clips you feed it - the Wan answer to "chain clips into a longer video." It uses VACE (Alibaba's video-to-video/extension framework for Wan) with two-stage sampling: a high-noise pass handles motion and composition, then a low-noise model refines detail. That's exactly how Wan 2.2 itself works, and it's why this node has two step counts. It's slow - VACE 14B is famously 15-40 minutes a shot on a 4090 - but it's the open path to smooth joins instead of hard cuts. Stitcher caches each transition as a lossless .latent file, so re-runs skip pairs you already generated. That's a feature until you change a setting and wonder why nothing changed; see troubleshooting below.

    The inputs that matter

    Every field in this node is technically "required," but the defaults are sane and you'll adjust maybe a third of them. The ones a beginner actually sets:

    • context_frames (default 8) - reference frames from each clip edge that VACE keeps unchanged. This is your anchor; too few and transitions drift from the source clips, too many and the transition has less room to move.
    • replace_frames (default 8) - frames regenerated at each edge for blending. This is the actual morph region.
    • new_frames (default 0) - brand-new transition frames generated between clips. 0 means the transition is built from regenerating clip edges; bump it up to let the model invent connective footage.
    • steps_high and steps_low (default 4 each) - sampling steps for the two stages. This is where speed lives. 4/4 is fast-ish; dropping to 2/2 with a distilled Wan 2.2 LoRA is the standard speed move, at the cost of quality.
    • cfg (default 1.0) - classifier-free guidance. VACE is flow-matching, so 1.0 is the right neighborhood. Push it up only if you're fighting prompt adherence.
    • seed - worth pointing out that without an Options node connected, the Stitcher uses a random seed every run. Connect this node and the seed is yours to control.
    • seamless_loop - generates a transition from the last clip back to the first, which is how you get a true loop out of a stitch job.
    • decode_batch_size (default 160) - frames per VAE decode batch. Lower it if you're hitting memory limits on long clips; slower but gentler on VRAM.

    sampler_name (default euler) and scheduler (default simple) are the usual ComfyUI dropdowns; the defaults are what the reference workflow used. crossfade (on) blends over context_frames, and color_match (off) matches transition colors to the source clips via the MKL method - flip that on when your clips were shot under different lighting.

    Output

    One output: options (type VACE_OPTIONS). It wires into the VACE Stitcher node's options input. That's the entire job.

    Installing it

    This node ships in ComfyUI-FBnodes, a grab-bag pack by FranckyB (also behind ComfyUI-Prompt-Manager). In ComfyUI Manager, search "ComfyUI-FBnodes". Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/FranckyB/ComfyUI-FBnodes.git
    pip install -r ComfyUI-FBnodes/requirements.txt
    

    The real requirements are av (PyAV) and color-matcher - the latter is why color_match works. The bigger install is the models: you need both Wan 2.2 VACE models, high-noise and low-noise, either bf16/fp8 from Comfy-Org/Wan_2.2_ComfyUI_Repackaged or GGUF from QuantStack/Wan2.2-VACE-Fun-A14B-GGUF, into models/diffusion_models/ (or models/unet for GGUF). Those multi-gigabyte downloads are the real cost of using this node.

    Troubleshooting

    • "Size of tensor a must match size of tensor b" - your clips aren't the same resolution; the Stitcher needs uniform, 32-aligned clips (the changelog fixed a failure when size wasn't divisible by 32).
    • Transitions not regenerating - cached .latent files skip already-generated pairs, so a changed parameter won't retrigger them. Use the Stitcher's delete button to clear the cache.
    • Nothing changed after connecting Options - check the seed: coming from the default random-seed setup, the first fixed-seed run looks identical until you rerun.

    The honest verdict: this is a "when you need it" node, and keeping it separate from the Stitcher's 15 sliders is the right design. Wire it in when you're tuning a transition, leave it off when the defaults work.

    CategoryFBnodes

    Inputs (14)

    NameTypeDefaultDescription
    context_framesINT84–40Reference frames from each clip edge used as VACE context (kept unchanged).
    replace_framesINT80–40Frames to regenerate at each clip edge for seamless blending.
    new_framesINT00–40Brand new transition frames to generate between clips.
    steps_highINT41–20Sampling steps for high-noise stage.
    steps_lowINT41–20Sampling steps for low-noise stage.
    cfgFLOAT1.00–10Classifier-free guidance scale.
    sampler_nameCOMBOeuler44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
    schedulerCOMBOsimple9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
    seedINT00–18446744073709550000
    seamless_loopBOOLEANfalseGenerate a transition from last clip back to first clip.
    vace_strengthFLOAT1.000–10VACE conditioning strength.
    crossfadeBOOLEANtrueCrossfade over context_frames between original clips and VACE transitions.
    color_matchBOOLEANfalseColor match VACE transitions to original clips using MKL method.
    decode_batch_sizeINT1601–640Frames per VAE decode batch. Lower = less memory, slower.

    Outputs (1)

    NameTypeDescription
    optionsVACE_OPTIONS