VACE Looper Frame Mask (legacy)
Same loop math, pre-prefix key
- images
- total_frames
- fade_mask
- overlap_frames
- between_frames
- source_frames
- was_clamped
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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| overlapping_frames | INT | 151–10000 | Frames at start and end with weight 1.0 (source-driven). |
| in_between_frames | INT | 510–10000 | Frames in the middle with weight 0.0 (fully generated). |
| imagesopt | IMAGE | Optional source images. If provided, overlap is clamped to half their count. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| total_frames | INT | — |
| fade_mask | STRING | — |
| overlap_frames | INT | — |
| between_frames | INT | — |
| source_frames | INT | — |
| was_clamped | BOOLEAN | — |