Nodes/ComfyUI-SuperUltimateVaceTools/SuperUltimate VACE Long Video
ComfyUI Node

SuperUltimate VACE Long Video

Turn 5-second VACE clips into a real long video

By bbaudio-2025·Created about a year ago·Updated 10 months ago· 139
SuperUltimate VACE Long Video
  • model
  • clip
  • vae
  • vace_prompt_list
  • vace_control_list
  • nag_params
  • IMAGE
width832
height480
loopback_crossfade0
seed0
steps20
cfg8.0
sampler_name
scheduler
denoise1.00

This is the pack's flagship, and the node the whole thing is named around. Wan VACE's native context tops out around 81 frames - roughly five seconds - and the classic community fix is to chain extension rounds until the quality melts down into oversaturation, color cast and blur. SuperUltimate VACE Long Video does the chaining for you and, the key part, repairs the transition frames between rounds so the degradation doesn't compound. It's the "long video without (obvious) quality downgrade" trick the author announced to r/comfyui in 2025, and it's still the reason people install this pack.

How it works

You don't prompt it directly. You build a chain of VACE Prompt Combine nodes - one per generation round - cascade them into each other, and feed the last one's vace_prompt_list into this node's vace_prompt_list. Each round carries its own prompt, frame count, optional reference image and crossfade settings. The node sums up the total (num_frame - init_crossfade_frame per round), then runs each round as a VACE generation where the first few frames are the tail of the previous round, crossfaded through the transition region.

The anti-degradation magic is the "refine" step: before a new round samples, its initial reference frames get a light corrective pass (whiten, desaturation, blur, contour operations - the same ones you can tune with the Custom Refine Option node). That breaks the error-accumulation spiral that made multi-round VACE look progressively worse. The trade-off, which the author is upfront about: the refined transition frames can have a slightly off color or brightness. Usually unnoticeable; if it bugs you, the Custom Refine Option article is your next read.

Inputs that matter

  • model - only VACE models (the tooltip says it), plus clip and vae.
  • width / height - generation resolution, defaults 832x480.
  • vace_prompt_list - the round chain from the Prompt Combine nodes.
  • loopback_crossfade - set to a few frames and the last round's end gets blended back into the first round's start. Seamless loop, no extra control images needed.
  • steps, cfg, sampler_name, scheduler, denoise - the usual sampler kit, applied to every round.
  • vace_control_list - optional; feed it from chained VACE Control Image Combine nodes to mix control types (pose, depth, keyframes, lineart) across the video.
  • nag_params - optional, swaps the sampler for the bundled NAG one.

Output is a single IMAGE tensor - the whole stitched video, one batch. Total length is sum(num_frame - init_crossfade_frame), which you can check in advance with the Check Total Frame node.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/bbaudio-2025/ComfyUI-SuperUltimateVaceTools

Restart ComfyUI (or search "SuperUltimateVaceTools" in Manager). No heavy dependencies beyond the usual Wan VACE model files in your ComfyUI models folder.

Troubleshooting

  • "loopback_crossfade can not be larger than length of generation" - a round is shorter than your loopback window. Shrink loopback_crossfade or give rounds more frames.
  • Stalls at the end with no output after an update - the author's own fix from the release thread: right-click the node → Fix node (recreate).
  • It's slow. The author's 45-second showcase was 9 rounds × 81 frames (689 total frames) and each round is a full VACE gen. On a 4090 that's a long coffee break, at minimum. Don't build a 30-round monster on your first try.
  • Control errors about identical or overlapping frame positions - that's the control-list validator doing its job; see the VACE Control Image Combine article.

One real-world note from the launch thread: people found it "simpler than your standard VACE workflow" - the chaining is all in the nodes, no manual latent slicing. The catch is the same as always with VACE: character consistency drifts across rounds, and the refine step can't fully fix identity. Keep prompts per-round consistent if you want the person to stay the same person.

CategorySuperUltimateVaceTools

Inputs (15)

NameTypeDefaultDescription
modelMODELOnly VACE models are supported
clipCLIPThe CLIP model used for encoding the text.
vaeVAE
widthINT83216–16384
heightINT48016–16384
loopback_crossfadeINT00–10000
vace_prompt_listPROMPTLIST
seedINT00–18446744073709550000
stepsINT201–10000
cfgFLOAT8.00–100
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT1.000–1
vace_control_listoptCONTROLIMAGELIST
nag_paramsoptNAGParamtersSetting

Outputs (1)

NameTypeDescription
IMAGEIMAGEGenerated Video