Nodes/ComfyUI-JNodes/Save Video Quick
ComfyUI Node

Save Video Quick

Create Video and Save Video, collapsed into one node

By JaredTherriault·Created 3 years ago·Updated about a month ago· 91
Save Video Quick
  • images
  • audio
  • video
fps24
filename_prefixvideo/ComfyUI
formatauto
codecauto
save_to_output_dirtrue
save_metadatatrue
save_workflowtrue
save_prompt_server_prompttrue
bit_depth8
additional_metadata_json

ComfyUI core eventually grew its own native VIDEO type, along with a "Create Video" node (mux frames into a video object) and a separate "Save Video" node (write that object to disk). Two nodes for one everyday action is one extra wire and one extra thing to configure twice - JNodes_SaveVideoQuick is JNodes' answer: it fuses both steps into a single node, the way the older JNodes_SaveVideo/JNodes_SaveVideoWithOptions pair used to before ComfyUI had a native video pipeline at all.

If you're coming from those older JNodes video nodes, the biggest change here isn't the merge, it's format and codec both defaulting to auto - this node leans on ComfyUI's own video container/codec negotiation rather than the ffmpeg-shell-out approach the older nodes used, so in the common case you don't pick a container at all, you just let it figure out a sensible one.

How it works

Feed it a batch of images and a target fps, and it builds and saves a video file in one pass, named using filename_prefix (default video/ComfyUI, which drops it in a video subfolder of your output directory). format and codec at auto let ComfyUI pick based on what's available; override either if you need a specific container or encoder. save_to_output_dir toggles between the permanent output folder and the temp folder. save_metadata, save_workflow, and save_prompt_server_prompt control what gets embedded in the file for later recovery - turn any of them off if you're shipping the video somewhere you don't want your whole workflow graph riding along inside it.

Optionally, plug in audio to mux a soundtrack in directly (a real AUDIO input this time, not the old node's fragile file-path string), set bit_depth (8 or 10-bit) if your pipeline needs it, and drop arbitrary key-value pairs into additional_metadata_json if you want custom fields alongside the standard ones. It's an output node - it saves as a side effect - but it also hands back a video object, so you can keep chaining it into another node that consumes VIDEO (a preview, another save step at a different setting, whatever).

The inputs and outputs

  • images (IMAGE) - the frames to encode.
  • fps (default 24) - playback rate.
  • filename_prefix (default video/ComfyUI) - output path/name pattern.
  • format / codec (default auto for both) - container and encoder; leave on auto unless you need something specific.
  • save_to_output_dir, save_metadata, save_workflow, save_prompt_server_prompt - all on by default.
  • audio (optional, AUDIO) - soundtrack to mux in.
  • bit_depth (optional, 8 or 10) - color depth.
  • additional_metadata_json (optional, STRING) - extra metadata fields.
  • video output (VIDEO) - the saved video object.

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, but real video encoding (anything beyond the simplest formats) generally still needs a working ffmpeg available to ComfyUI's environment - a fresh or minimal install missing it is the usual reason a save silently fails to produce a playable file.

Common issues & troubleshooting

auto picking a format you didn't expect. If you need a specific container for a downstream tool (say, a strict mp4 for a platform that rejects webm), set format explicitly rather than trusting auto to guess your intent - auto optimizes for "something that works," not for a particular target.

A floating panel you didn't ask for after installing. This one isn't specific to this node, but it trips up a lot of people right after installing the JNodes pack for the first time: an ImageDrawer panel appears on your canvas unprompted. It's a real feature (a media browser, not a bug), and if you don't want it: ComfyUI Settings → JNodes → Image Drawer → uncheck "Enabled," then reload.

Audio not showing up in the output. audio is optional and unconnected by default - if your video comes out silent, check that you actually wired something into it; there's no fallback audio source.

Metadata bloating file size or leaking your workflow. save_workflow and save_prompt_server_prompt are on by default, which is convenient for your own archive but means anyone who opens the file's metadata can see your whole graph. Turn them off before sharing a video externally if that's a concern.

Categoryvideo

Inputs (12)

NameTypeDefaultDescription
imagesIMAGEThe images to create a video from.
fpsFLOAT241–999
filename_prefixSTRINGvideo/ComfyUIThe prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes.
formatCOMBOautoThe format to save the video as.
codecCOMBOautoThe codec to use for the video.
save_to_output_dirBOOLEANtrueIf true save to /output. Otherwise, /temp.
save_metadataBOOLEANtrueWhether to save the video with or without metadata.
save_workflowBOOLEANtrueIf this and save_metadata are true, the workflow will be saved to the metadata.
save_prompt_server_promptBOOLEANtrueIf true, save the server prompt to the metadata.
audiooptAUDIOThe audio to add to the video.
bit_depthoptINT88–10Bit depth of the created video. 10-bit keeps smoother gradients with less banding, but some players and downstream nodes may not support it.
additional_metadata_jsonoptSTRINGA JSON string of additional metadata to save to the video's metadata, if save_metadata is true.

Outputs (1)

NameTypeDescription
videoVIDEO