ComfyUI Node
Video Save Plus (Custom Path) π¬
Saves MP4 with audio + workflow PNG to any folder. Buttons: reveal, open, training copy, last frame, delete.
Video Save Plus (Custom Path) π¬
- video
- images
- audio
- filepath
βfilename_prefixvideoβΊ
βcustom_output_pathβΊ
βframe_rate24.00βΊ
βvideo_codech264βΊ
βcrf19βΊ
βpresetmediumβΊ
βpixel_formatyuv420pβΊ
βaudio_bitrate192βΊ
βsave_workflow_pngtrueβΊ
βpng_compression4βΊ
βsave_framenoneβΊ
βframe_formatjpgβΊ
βframe_quality95βΊ
βcopy_to_folderβΊ
βprompt_textββΊ
βseed0βΊ
Categoryvideo/custom
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| filename_prefix | STRING | video | Base filename. May contain subfolders (scene1/take) and placeholders: %date% (2026-08-21), %time% (143012), %seed% (from the seed input), %date:yyyy-MM-dd hh-mm-ss%. A 5-digit counter (_00001) is always appended. |
| custom_output_path | STRING | Any folder on any drive. Created if missing. Empty = ComfyUI's default output folder. | |
| frame_rate | FLOAT | 24.001β120 | Only used for the 'images' input. With a VIDEO input the video's own frame rate is used automatically. |
| video_codec | COMBO | h264 | h264 = plays everywhere (Windows, web, phones). h265 = ~40% smaller at the same quality but not every player/browser supports it. |
| crf | INT | 190β51 | Constant quality. Lower = better and larger. 0 = lossless, 17-19 = visually lossless, 23 = ffmpeg default, 28 = small. Main quality control. |
| preset | COMBO | medium | Encoding speed vs. file size at the SAME quality (CRF). Does not change picture quality. Slower = smaller file, longer encode. |
| pixel_format | COMBO | yuv420p | yuv420p = maximum compatibility (standard). yuv444p = full colour resolution, sharper edges/text, but many players and all browsers refuse to play it. |
| audio_bitrate | INT | 19264β320 | AAC bitrate in kbit/s. 128 = speech, 192 = very good, 256-320 = music/transparent. |
| save_workflow_png | BOOLEAN | true | Save the first frame as PNG with the complete workflow embedded. Drag & drop into ComfyUI restores the workflow. |
| png_compression | INT | 40β9 | PNG is ALWAYS lossless. This only trades file size against write time: 0 = fastest/largest, 9 = smallest/slowest. 4 is a good balance. |
| save_frame | COMBO | none | Automatically save frames as images next to the video (name_first Frame / name_last Frame / name_frame_00001). The 'Save Last Frame' button works independently of this. |
| frame_format | COMBO | jpg | Image format for saved frames. jpg = small, lossy. png = lossless, larger (uses png_compression). |
| frame_quality | INT | 9510β100 | JPEG quality for saved frames (ignored for png). 90-95 = excellent, 100 = near lossless but large. |
| copy_to_folder | STRING | Target folder used by the 'Save Training File' button. Copies mp4 + png + txt + frames with identical names. | |
| videoopt | VIDEO | VIDEO output of models with native audio (e.g. MiniMax). Frames, audio and frame rate are taken from it. A connected 'audio' input overrides its audio track. | |
| imagesopt | IMAGE | Frames as IMAGE batch (used when no VIDEO is connected). | |
| audioopt | AUDIO | Audio track. Overrides the audio contained in a VIDEO input. | |
| prompt_textopt | STRING | Saved as name.txt next to the video (training pair). Nothing is written if empty. | |
| seedopt | INT | 00β18446744073709550000 | Only used for the %seed% placeholder in filename_prefix. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| filepath | STRING | β |