Nodes/Wan Vace Auto Joiner/WAN VACE Auto Joiner - Finalize
ComfyUI Node

WAN VACE Auto Joiner - Finalize

Stitch, smooth, and keep the audio

By Rhovanx·Created 8 months ago·Updated 8 months ago· 3
WAN VACE Auto Joiner - Finalize
  • loop_end_trigger
  • vace_images
  • batch_images
  • audio
  • frame_rate
  • status
  • is_complete
directory
file_prefixclip
cleanupfalse
smooth_transitionstrue
smooth_window12
blend_region25
transfer_audiotrue

The other two nodes in this pack do the unglamorous assembly-line work. This one is the payoff. After your For Loop has run VACE across every clip boundary, the Finalize node takes all the accumulated frames, sews them into one continuous sequence, smooths out the seams, and hands you a ready-to-encode batch with its audio attached. It's the difference between "a pile of VACE outputs" and "a video."

What it actually does

It runs once, after the loop. In order:

  1. It reads the last transition's VACE output (from the disk file the Save node wrote, or from its own vace_images input) and tacks on the remaining frames of the final clip.
  2. It loads every frame from the temp folder into one long sequence.
  3. Temporal color smoothing. This is the v2.0.0 headline feature. VACE re-diffuses the whole 33-frame transition window, not just the masked region, so seams can come out a few points brighter or warmer than the source clips - visible "pulses" on long joins. The node computes the mean R, G, and B values across each transition region, builds smooth target curves (Gaussian smoothing blended 50/50 with linear interpolation through the seam), and applies per-frame, per-channel correction factors. All of it is calculated dynamically from your actual frames - no hardcoded "add 3 brightness" hack.
  4. Audio. If transfer_audio is on and ffmpeg is on your PATH, it extracts audio from every source clip and concatenates it into one track. If any clip has no audio, ffmpeg's missing, or you turned it off, you still get a valid silent track - the audio output is always connected, so Video Combine never errors.

The inputs that matter

  • loop_end_trigger - connect this directly to For Loop End's value1 output. That's the dependency that keeps Finalize from running before the loop is done. Get this wrong and it fires early or not at all.
  • directory and file_prefix - must match the Auto Joiner node, since it finds the state folder there.
  • smooth_transitions (on by default) - flip it off if you want the raw VACE output, seams and all.
  • smooth_window (12, range 1-30) and blend_region (25, range 10-50) - the two knobs for stubborn seams. smooth_window is the Gaussian sigma: higher = smoother. blend_region is how many frames of context on each side of the seam get included. If pulses survive, the README's recipe is window 15-20 with region 30-40.
  • transfer_audio (on by default) - off means you handle audio yourself.
  • cleanup (off by default) - when true, it deletes the temp folder after outputting. Leave it off until you've verified the result, because that folder is your only recovery copy mid-workflow.

Wiring the output

The outputs were designed to drop straight into Video Helper Suite's Video Combine:

Finalize ──batch_images──► Video Combine (images)
        ├──audio─────────► Video Combine (audio)
        └──frame_rate────► Video Combine (frame_rate)

frame_rate is the FLOAT you'd otherwise set by hand, read from the source clips. status and is_complete are debug; is_complete goes true on the final run.

Troubleshooting

  • Still see brightness/color pulses - real users report this even on v2.0.0. Bump smooth_window toward 20 and blend_region toward 40 before you blame the pack; the author's own suggestion is to make sure you're on the latest version via a fresh manual install, since Manager's cached copy can lag.
  • No audio in the output - check the console for [WAN VACE Auto Joiner] messages, confirm ffmpeg -version works, and confirm the source clips actually have audio tracks. The node degrades gracefully to silence either way.
  • Finalize runs too early - it's inside the loop, or not connected to For Loop End's value1. It belongs after the loop, nothing else.
  • "No VACE output found" - the Save node didn't run after the last VACE pass, so there's nothing to stitch.

Install

Same pack, same recipe as the other two nodes: Manager search "Wan Vace Auto Joiner", or cd ComfyUI/custom_nodes && git clone https://github.com/Rhovanx/wan_vace_auto_joiner.git then restart. No model downloads - it leans on your existing VACE setup. If you want the audio path, make sure ffmpeg is on your PATH; pip install scipy tightens the smoothing slightly but it has a numpy fallback baked in. Install ComfyUI-Easy-Use for the For Loop nodes, and you'll need VideoHelperSuite (VHS) for the Video Combine on the other end.

The pack flew under the radar - its v2.0 release thread is nearly empty - but the people who actually ran it report genuinely good results. If you're already doing multi-clip Wan or LTX-2 work with VACE, this is the fastest way to stop babysitting the seam.

CategoryWAN VACE/Auto Joiner

Inputs (9)

NameTypeDefaultDescription
loop_end_trigger*Connect DIRECTLY to For Loop End's value1 output
directorySTRINGDirectory containing the video files (same as Auto Joiner)
file_prefixSTRINGclipPrefix of the video files (same as Auto Joiner)
cleanupBOOLEANfalseDelete temp folder after outputting final video
vace_imagesoptIMAGEOptional: Final VACE output (if not provided, reads from disk)
smooth_transitionsoptBOOLEANtrueApply temporal color smoothing for seamless transitions
smooth_windowoptINT121–30Smoothing strength (higher = smoother, default 12)
blend_regionoptINT2510–50Frames before/after VACE to include in smoothing (default 25)
transfer_audiooptBOOLEANtrueTransfer audio from original clips (requires ffmpeg)

Outputs (5)

NameTypeDescription
batch_imagesIMAGE
audioAUDIO
frame_rateFLOAT
statusSTRING
is_completeBOOLEAN