ComfyUI Wan VACE Video Joiner - Lightweight Edition
This workflow uses Wan VACE to smooth out awkward motion transitions between video clips. If you have noisy frames at the start or end of your clips, this technique can also get rid of those.
What it Does
This is a lightweight, (almost) no custom nodes ComfyUI workflow meant to quickly join two videos together with VACE and a minimum of fuss. There are no work files, no looping or batch counters to worry about. Just load your videos and click Run.
If you need to automatically join a large number of clips, mitigation of color/brightness artifacts, optimization options, try the full workflow instead.
Dependencies
v1.0.19 or higher required
Search Wan VACE Prep in ComfyUI Manager
Provides the 馃獝 VACE Extend node
Configuration and Models
You'll need some combination of these models to run the workflow. As already mentioned, this workflow will not run properly on your system until you configure it properly. You probably already have a Wan video generation workflow that runs well on your system. You need to configure this workflow similarly to your generation workflow. The Sampler subgraph contains KSampler nodes and model loading nodes. Have your way with these until it feels right to you. Enable the sageattention and torch compile nodes if you know your system supports them. Just make sure all the subgraph inputs and outputs are correctly getting and setting data, and crucially, that the diffusion model you load is one of Wan2.2 Fun VACE or Wan2.1 VACE. GGUFs work fine, but non-VACE models do not.
Wan 2.2 Fun VACE
Wan 2.1 VACE
Kijai鈥檚 extracted Fun Vace 2.2 modules, for loading along with standard T2V models. Native use examples here.
Troubleshooting
The size of tensor a must match the size of tensor b at non-singleton dimension 1 - Check that both dimensions of your input videos are divisible by 16 and change this if they're not. Fun fact: 1080 is not divisible by 16!
Brightness/color shift - VACE can sometimes affect the brightness or saturation of the clips it generates. I don't know how to avoid this tendency, I think it's baked into the model, unfortunately. Disabling lightx2v speed loras can help, as can making sure you use the exact same lora(s) and strength in this workflow that you used when generating your clips. Some people have reported success using a color match node before output of the clips in this workflow. I think specific solutions vary by case, though. The most consistent mitigation I have found is to interpolate framerate up to 30 or 60 fps after using this workflow. The interpolation decreases how perceptible the color shift is. The shift is still there, but it's spread out over 60 frames instead over 16, so it doesn't look like a sudden change to our eyes any more.
Regarding Framerate - The Wan models are trained at 16 fps, so if your input videos are at some higher rate, you may get sub-optimal results. At the very least, you'll need to increase the number of context and replace frames by whatever factor your framerate is greater than 16 fps in order to achieve the same effect with VACE. I suggest forcing your inputs down to 16 fps for processing with this workflow, then re-interpolating back up to your desired framerate.
If you can't make the workflow work, update ComfyUI and try again. If you're not willing to update ComfyUI, I can't help you. We have to be working from the same starting point.
Feel free to open an issue on github. This is the most direct way to engage me. If you want a head start, paste your complete console log from a failed run into your issue.
Changelog
v1.0.5 Maintenance release
replace deprecated
batch imagesnodesdocumentation tweaks
v1.0.4 Documentation updates, custom node changes.
v1.0.3 Image Batch node fix.
v1.0.2 Core custom node change.
v1.0.0 Initial release.
Description
v1.0.3 Image Batch node fix.
I don't quite understand the sequence of events, but since I updated ComfyUI to 0.7.0, the Batch Images node is back to its old static self. The dynamic behavior it had when I released this workflow is gone. I don't think I accidentally used a custom version of that node previously, but that is actually the most likely explanation. Anyway, this is hopefully the end of Prompt outputs failed validation: BatchImagesNode: - Required input is missing: image1 messages.
FAQ
Comments (12)
gettin a green flickering where the transition should be, any ideas what I missed? switched the dif.model nodes to unetloader for gguf model., ctrl+B the loras, didn麓t change anything else
If you disabled the loras, you need to adjust the ksamplers accordingly. Inference steps, CFG, shift all should be adjusted if you aren鈥檛 going to run with lightx2v. I recommend you start with the loras until you have a good baseline run. Then move to adjusting parameters.
Looks like i'm getting better results with this workflow than with the SVI ones.
Sometimes I experience some slowdowns on the second video; I suppose it's because there are too many differences between the two parts in terms of frame rate.
But really great, thanks you.
It works very well on the first generation, but after that first generation the new video join it creates is just pure noise. I have to close ComfyUI and open it again to be able to generate another one. Any solution for this annoying issue? Comfy is updated and everything is on the latest version
I haven鈥檛 ever seen this. It sounds like a cached model is getting corrupted or something. Have you tried clearing the ComfyUI model and/or run cache? These options are available under C->Edit.
Does this workflow support N S F W?
Congratulations! It works incredibly well!
Amazing results.
I just tried this and it works wonderfully!!! Plus, everything is very well explained, organized, and user-friendly.
For some videos, I had to use minimal prompts and loras that I麓ve used for the original videos.
On the other hand, in some generations I had some minor color inconsistencies, but nothing significant. I saw that you have other workflows for joining clips with color matching, I'll try them later :D.
I'm glad it's working well for you!
Hello, I noticed you recommended using the Fun-VACE version that matches the format of the main Wan model used for generation. However, the FP8 version of Fun-VACE seems heavier than my current Wan model. Can it run smoothly on an RTX 5070 Ti 16GB? I have 64GB of RAM and typically use Wan2.2 FP8 for generation. Thanks!
Just try it, I guess. In my experience, VRAM and RAM usage for VACE generation is about the same as for I2V generation, which is why I recommend trying to match your Wan configuration when running this workflow. Honestly though, I rarely have to worry about memory issues because I have a pretty hefty system. So unfortunately I don't have solid advice to offer. If fp8 does prove to be too much for your system, GGUF is also an option. You'd just need to swap out the loader nodes.
Thank you for this top solution to edit a film by morphing clips, it works very well with no prompt, simple!
(3090...)