Nodes/comfyui-moonpack/VACE Looper Frame Mask (legacy)
ComfyUI Node

VACE Looper Frame Mask (legacy)

Same loop math, pre-prefix key

By moonwhaler·Created about a year ago·Updated 11 days ago· 16
VACE Looper Frame Mask (legacy)
  • images
  • total_frames
  • fade_mask
  • overlap_frames
  • between_frames
  • source_frames
  • was_clamped
overlapping_frames15
in_between_frames51

Yes, this is another "(legacy)" alias. In MoonPack v0.2 the pack renamed every registry key to a MoonPack_ prefix, and VACELooperFrameMaskCreator became MoonPack_VACELooperFrameMaskCreator. The old key is kept so workflows saved on v0.1 still load. Full details are on the MoonPack_VACELooperFrameMaskCreator page; here's the short version plus the migration note.

What it does: you're building a seamless video loop with Wan and VACE, where the start and end frames are anchored to source images and the middle is fully generated. This node takes overlapping_frames and in_between_frames, computes total_frames, and emits a fade_mask string in kjnodes Create Fade Mask Advanced format (0:(1.0),15:(0.0),66:(1.0), - trailing comma included, the parser needs it). Optional images input clamps your overlap to half the source length and flags it via was_clamped. Outputs: total_frames, fade_mask, overlap_frames, between_frames, source_frames, was_clamped.

It's a helper for a specific workflow - it needs ComfyUI-KJNodes for the fade mask node and a VACE-capable Wan setup to be useful. But within that workflow it saves you from hand-writing schedules that are easy to get subtly wrong.

The rename, one more time

Same story as the rest of the pack: old key kept as an alias for one release cycle, removal scheduled for 1.0. If your workflow says VACELooperFrameMaskCreator, load it and hit save once - ComfyUI rewrites the graph with the MoonPack_ key and you're protected from the cleanup.

Installing it

It's part of MoonPack:

cd ComfyUI/custom_nodes
git clone https://github.com/moonwhaler/comfyui-moonpack.git

or ComfyUI Manager → MoonPack → install, restart. Under MoonPack/video. No models, no extra Python dependencies beyond what your VACE/kjnodes setup already needs.

Bottom line

Same node, new key, one save to migrate. Your loop math doesn't change - only the name does.

CategoryMoonPack/video

Inputs (3)

NameTypeDefaultDescription
overlapping_framesINT151–10000Frames at start and end with weight 1.0 (source-driven).
in_between_framesINT510–10000Frames in the middle with weight 0.0 (fully generated).
imagesoptIMAGEOptional source images. If provided, overlap is clamped to half their count.

Outputs (6)

NameTypeDescription
total_framesINT
fade_maskSTRING
overlap_framesINT
between_framesINT
source_framesINT
was_clampedBOOLEAN