UV Save Sequence
Dump frames to disk as PNG, JPG, or EXR for the compositing apps
- images
- output_dir
Sometimes a video file isn't what you want out of a render. When the frames are headed into After Effects, Nuke, a color pass, or any tool that likes image sequences, UV_SaveSequence is the node - it takes an IMAGE batch and writes each frame to its own file in a folder. Simple job, simple node, and it's quietly one of the more useful utilities in this pack because it's the one that hands your work to software ComfyUI will never be.
The inputs are all about naming and format:
images- the batch, straight from UV_LoadVideo or any sampler outputoutput_dir- default"frames", relative to ComfyUI's working directoryformat-png,jpg, orexrname_template- defaultframe_[counter]padding- default 6, the zero-pad width of the counter
Mechanically it's imageio.imwrite per frame. The [counter] placeholder in name_template gets replaced with the zero-padded frame index, which is why padding defaults to 6: with five or more digits you get frame_000000.png, frame_000001.png... and files that sort correctly in any NLE or compositor. There's no batch-number or padding placeholder beyond [counter], so for multi-batch dumps you'll want to vary output_dir per run or rename after.
The format choice is where the node shows some spine. PNG and JPG get converted to 8-bit, but EXR keeps the data as float - frames are clipped to 0-1 and written as floats rather than quantized to integers. That's the difference between "a picture of the frame" and "the frame itself with full precision," and it's what you want if you're doing serious compositing or an HDR pass. EXR files are heavy and most viewers can't open them, but that's a feature when the destination is Nuke.
A couple of honest notes. First, this node never touches ffmpeg - it's pure imageio, so it doesn't care about your ffmpeg build at all. Second, the default output_dir of "frames" lands in ComfyUI's working directory (usually the install root), not output/. Give it an absolute path or a folder name you'll actually find, because a six-hundred-frame PNG dump tucked into a folder you weren't looking in is exactly the kind of thing you'll discover three days later.
Install
Same as every node in the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/GeekatplayStudio/ComfyUI-UniversalVideoIO
cd ComfyUI-UniversalVideoIO
pip install -r requirements.txt
Restart ComfyUI and it's under UniversalVideoIO. No models, no downloads. If you want EXR support and imageio complains at write time, that's the FreeImage plugin missing from your environment - install imageio[freeimage] and it sorts itself out. The output output_dir returns the path that was actually written, which is handy if you wired it through to a log node or a downstream tool expecting to read that folder.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| output_dir | STRING | frames | — |
| format | COMBO | 3 options: png, jpg, exr | |
| name_template | STRING | frame_[counter] | — |
| padding | INT | 61–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_dir | STRING | — |