Nodes/ComfyUI-Info-Prompt-Toolkit/Video Saver (Deprecated)
ComfyUI Node

Video Saver (Deprecated)

Video Saver

By kinorax·Created 5 months ago·Updated about a month ago· 2
Video Saver (Deprecated)
  • images
  • audio
  • image_info
  • video_info
  • image
  • audio
  • source_image_info
  • video_info
  • file_path
filename_suffixvideo
output_dir
output_subdirnone
codecav1
av1_crf23
h264_crf19
frame_rate16
loop_count0
pingpongfalse
file_stem

Video Saver is the bookend to the pack's Video Reader: it takes the image frames your workflow generated and writes them out as an MP4 - with the full generation recipe embedded as metadata. That second half is the point. ComfyUI has plenty of ways to dump frames to video, but very few that let you save a video and later recover how it was made without you having kept a separate log file.

It's built around the same image_info concept as the rest of the Info-Prompt-Toolkit pack: settings ride along inside the file so the next pass, or whoever you share the clip with, can reconstruct the workflow. That's the A1111-infotext idea the ecosystem has standardized on, applied to video.

What you set

The inputs that matter, in the order you'll touch them:

  • images - the frames. An image batch or list of images. Required.
  • codec - av1 (default) or h264, both in an MP4 container. AV1 gives smaller files; h264 is more universally playable. Pick based on where the file's going to end up.
  • av1_crf / h264_crf - the quality knob for the active codec. Lower = better quality, bigger file. The README's phrasing is right: the active CRF field is the quality/file-size tradeoff you actually control. Defaults are 23 for AV1, 19 for h264, and honestly those are sane starting points.
  • frame_rate - output fps (defaults to 24).
  • loop_count and pingpong - loop the clip N extra times, or play forward-then-backward (useful for the short seamless loops people love to generate). pingpong skips duplicating the first and last frames so the loop stays clean.
  • output_dir / output_subdir - where under ComfyUI/output it lands; output_subdir can organize by date.
  • filename_suffix - the default naming appends a suffix to auto-incrementing names. Connect file_stem instead to force an exact filename (<file_stem>.mp4).

Optional inputs worth knowing: audio (mux a track in), image_info and video_info (the metadata that gets embedded - feed it from Video Reader or the pack's image-info nodes to round-trip your settings).

Outputs

It's an output node, but it still passes data through: image, audio, source_image_info, and video_info come back out so you can keep chaining. file_path tells you exactly where the file landed - handy if you're scripting.

Installing and the dependency trap

Install via ComfyUI Manager (search "ComfyUI-Info-Prompt-Toolkit") or:

cd ComfyUI/custom_nodes
git clone https://github.com/kinorax/comfyui-info-prompt-toolkit.git
cd comfyui-info-prompt-toolkit
pip install -r requirements.txt

Then the trap: av (PyAV) is not installed by this pack. It's deliberately left out of requirements.txt so non-video nodes stay light - the file's comment says so verbatim. Video Saver errors out with "PyAV is required to save videos. Install av first." until you run:

pip install av

Restart ComfyUI afterward. If you get a "codec unavailable in this PyAV/FFmpeg build" error, that's your FFmpeg build missing an encoder (common for AV1 on some builds), not a node bug - switch to h264 or rebuild PyAV with the codecs you want.

One more thing

The same pack ships a newer Video Saver (class IPT-VideoSaverV2) that adds VP9 and FFV1 codecs plus color-encoding controls. This page is the original IPT-VideoSaver, which sticks to AV1/H.264 - fine for most people, but if you need lossless FFV1 or WebM output, grab the V2 instead. Both need the same PyAV install. And like the rest of this pack, it wants a recent ComfyUI (≥ 0.17.0).

CategoryInfo-Prompt-Toolkit/ImageInfo

Inputs (14)

NameTypeDefaultDescription
imagesIMAGEImage or image batch to save as video
filename_suffixSTRINGvideoSuffix part of output filename
output_dirSTRINGBase output directory under ComfyUI output
output_subdirCOMBOnoneOutput sub directory format
codecCOMBOav1Output video codec in MP4 container
av1_crfINT230–63AV1 CRF (0..63, lower is higher quality)
h264_crfINT190–51H.264 CRF (0..51, lower is higher quality)
frame_rateFLOAT160.001–1000Output frame rate (supports up to 3 decimal places)
loop_countINT0Number of extra loops after first playback
pingpongBOOLEANfalsePlay forward then backward (excluding first and last duplicated endpoints)
audiooptAUDIOOptional audio to mux into output video
image_infooptIPT-IMAGEINFOSource image info
video_infooptIPT-IMAGEINFOVideo generation info
file_stemoptSTRINGOptional output filename stem; when connected, save as <file_stem>.mp4

Outputs (5)

NameTypeDescription
imageIMAGE
audioAUDIO
source_image_infoIPT-IMAGEINFO
video_infoIPT-IMAGEINFO
file_pathSTRING