Video Combine π₯π ₯π π ’ V2
VideoHelperSuite's save node, with your prompt baked into one file
- images
- audio
- meta_batch
- vae
- Filenames
If you've built video workflows in ComfyUI, you know VideoHelperSuite's Video Combine node - it's the standard terminal node that turns a batch of frames into a GIF, WebM, or MP4, with format presets, VAE/LATENT handling, pingpong, date prefixes, and a preview that autoplays. Video Combine π₯π ₯π π ’ V2 is a clone of that exact node with one deliberate change: when audio is connected, it muxes the video, the audio, and the ComfyUI prompt/workflow metadata into one final file, and cleans up the intermediate artifacts - including the PNG sidecar VHS normally leaves behind.
That's the whole pitch, and it's worth it if you've ever had to dig a loose silent video or a stray metadata PNG out of your output folder. Same UI, same formats, different end state.
How it works
The node literally borrows VideoHelperSuite's own machinery. It resolves the original VHS_VideoCombine class from ComfyUI's node registry and calls its combine_video under the hood - which is why every VHS format preset and per-format widget works here untouched. The difference is the cleanup pass afterward:
- If audio is connected, VHS muxes the audio into a final file; V2 takes that final file and embeds the prompt and workflow JSON as ffmetadata (via ffmpeg), then deletes every intermediate, including the silent video VHS encodes before muxing and the metadata sidecar PNG.
- With no audio, VHS's own encode is already the final file - V2 still embeds the metadata and strips the sidecar.
- The preview keeps VHS behavior: muted autoplay, audio on hover.
Metadata embedding needs an ffmpeg binary. It uses the imageio-ffmpeg bundled with ComfyUI, a system ffmpeg, or whatever you point VHS_FORCE_FFMPEG_PATH at.
The inputs and output
images- your frames, either IMAGE or LATENT (latents need thevaeinput connected).frame_rate,loop_count,pingpong,save_output- standard VHS knobs.filename_prefix(default "AnimateDiff") andformat- the full VHS format list with dynamic per-format widgets.audio- optional AUDIO; connecting it is what triggers the mux-to-one-file behavior.meta_batch(VHS_BatchManager) andvae- optional, for batched saves and latent decoding.- Output:
Filenames(VHS_FILENAMES), for chaining into batch-manager workflows.
This is an output node - it terminates the graph and saves.
Install - this one has a real dependency
You need both this pack and ComfyUI-VideoHelperSuite installed. V2 resolves VHS at runtime and refuses to run without it - the error message says so plainly.
ComfyUI Manager: search ComfyUI-FeiHou-Toolbox, install, and make sure ComfyUI-VideoHelperSuite is installed too. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/FX-FeiHou/ComfyUI-FeiHou-Toolbox
git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite
Restart ComfyUI and hard-refresh the browser. The pack needs a current ComfyUI (it uses the newer comfy_api.latest node API).
Gotchas
- "Requires the original VideoHelperSuite node" error - VHS isn't installed or didn't load. Install it; this node is a wrapper, not a replacement.
- Metadata missing - if you launched ComfyUI with
--disable-metadata, embedding is skipped by design. Also, no ffmpeg anywhere on the path means the embed step raises; usually imageio-ffmpeg covers it. - Why not just use VHS? - because VHS leaves a silent intermediate plus a workflow sidecar PNG next to your final file. If single-file output with embedded metadata is your thing, V2 is the cleaner terminal.
The trade to know: you're trusting a small single-maintainer pack to wrap the node you already trust. The wrapper is thin and the delegation is real - but if you only ever save video without audio and never mind the sidecar, VHS itself is still the safe default.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE,LATENT | β | |
| frame_rate | FLOAT | 8 | β |
| loop_count | INT | 00β100 | β |
| filename_prefix | STRING | AnimateDiff | β |
| format | COMBO | 15 options: image/gif, image/webp, video/h264-mp4, video/ffv1-mkv, video/ProRes, video/nvenc_h264-mp4, +9 | |
| pingpong | BOOLEAN | false | β |
| save_output | BOOLEAN | true | β |
| audioopt | AUDIO | β | |
| meta_batchopt | VHS_BatchManager | β | |
| vaeopt | VAE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Filenames | VHS_FILENAMES | β |