Save Video (DEPRECATED, USE 'JNodes_SaveVideoWithOptions')
The deprecated save-video node (use SaveVideoWithOptions)
- images
- IMAGE
This is the old save-video node, and its own display name tells you as much: "Save Video (DEPRECATED, USE 'JNodes_SaveVideoWithOptions')." If you're wiring up something new, go straight to JNodes_SaveVideoWithOptions - it's the maintained version with a cleaner audio path. You're most likely reading this because an older workflow used this node and you want to know what it does and how to move on.
JNodes_SaveVideo takes a batch of frames and encodes them into a single video (or animated image) file. Like the rest of JNodes' media nodes, it descends from Kosinkadink's VideoHelperSuite, which is why the encoder list and frame-rate knobs feel familiar. JNodes itself is Jared Therriault's utility suite, going back to 2024.
How it works
Frames come in on the images pin; the node muxes them into a file at your chosen frame_rate in the format you select. It's an output node, but unlike the temp/output-directory helpers it also passes an IMAGE back out, so you can keep the frames flowing downstream.
The inputs and outputs
images(IMAGE) - your ordered frame batch.frame_rate(default 8) - playback speed; match your source.output_format- the same nine options as the newer node:image/gif,image/webp,image/apng,video/h264-mp4,video/h265-mp4,video/h264_nvenc-mp4,video/av1-webm,video/ProRes,video/webm.filename_format(defaultComfy%counter%),loop_count,quality(default 95),save_to_output_dir,save_metadata,save_workflow,batch_size(min 32).audio_file(STRING) - the big difference from the newer node: here you supply audio as a path string.SaveVideoWithOptionsreplaced this with a properaudio_optionsinput.
Output: IMAGE (passthrough).
How to install it
Via ComfyUI Manager: Install Custom Nodes, search "JNodes", install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/JaredTherriault/ComfyUI-JNodes
pip install -r ComfyUI-JNodes/requirements.txt
then restart ComfyUI. No model downloads. Real video codecs need ffmpeg on the machine.
Common issues & troubleshooting
It's deprecated - switch to JNodes_SaveVideoWithOptions. Same frame-rate, format, quality and filename controls, but a better audio input (audio_options instead of a raw path string) and an additional_metadata_json pin. There's no upside to staying on this node for new work.
The video formats need ffmpeg; the image ones don't. image/gif, image/webp and image/apng are handled by Pillow and work anywhere. The mp4/webm/ProRes/av1 options shell out to ffmpeg - no ffmpeg, no video file. If a format silently fails, that's the first check.
video/h264_nvenc-mp4 requires an NVIDIA GPU with NVENC. It's hardware encoding. On CPU-only or non-NVIDIA machines it won't work; fall back to plain video/h264-mp4 (CPU libx264).
Audio via audio_file is a path, and paths are finicky. Because this node wants a filesystem path to the audio, the file has to be reachable by the server - a local path won't exist on a hosted setup. This clumsiness is exactly why the newer node changed the audio interface, another reason to migrate.
Frames out of order or motion stutters. That's a frame_rate mismatch with what your generator produced, not the node - set it to match.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| frame_rate | INT | 8 | — |
| loop_count | INT | 00–100 | — |
| filename_format | STRING | Comfy%counter% | — |
| output_format | COMBO | 9 options: image/gif, image/webp, image/apng, video/h264-mp4, video/h265-mp4, video/h264_nvenc-mp4, +3 | |
| save_to_output_dir | BOOLEAN | true | — |
| quality | INT | 950–100 | — |
| save_metadata | BOOLEAN | true | — |
| save_workflow | BOOLEAN | true | — |
| audio_file | STRING | — | |
| batch_size | INT | 128 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |