Save Video Pixaroma
An MP4 that lands anywhere, with audio, and a player on the node
- video_frames
- audio
Save Video Pixaroma is the video sibling of Save Image Pixaroma, and it fixes the two things that make stock video saving annoying: you're stuck with ComfyUI's output folder, and audio is a separate headache. This node encodes frames plus optional audio straight to MP4, saves to any folder on your computer, and has a built-in <video> preview so you can watch the result without leaving ComfyUI (click the picture to play/pause).
The filename builder is the same one as Save Image Pixaroma, with clickable chips for everything you might want in a name: the wired filename, the date or time, an auto-increasing counter, the width and height, the batch number, the fps, the duration - plus %input%, which uses the name input to keep the original filename. Files never overwrite (the counter continues from the highest one already there), and typing / in the name makes subfolders.
Inputs
video_frames(required) - the frames to encode, as an image batch. Wire a video source, an AudioReact Pixaromavideo_framesoutput, or any node that produces a batch of images. They must be RGB with even width and height - the node says so clearly rather than letting ffmpeg fail cryptically.fps(FLOAT, default 24, 1–240) - frames per second. Wire the fps output of whatever produced the frames so the two always agree, or type a number.audio(optional) - a sound track, mixed into the MP4 as AAC 192k. If the audio can't be read, the video still saves - just without it. A "Trim to audio" setting ends the video where the audio ends.name(optional) - used by the%input%token; wire a loader's filename output here to keep the original name. Put a slash after the token (%input%/clip_%counter%) to save into a folder named after it.
How it encodes
The node needs ffmpeg, and it finds it automatically: it prefers the executable bundled with imageio-ffmpeg (a pip install away, no system setup), and falls back to ffmpeg on your PATH. If you hit a "can't find ffmpeg" error, that's the fix.
pip install imageio-ffmpeg
Install
Part of the Pixaroma pack: ComfyUI Manager → search Pixaroma → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://gitlab.com/pixaroma/comfyui-pixaroma.git
It pairs naturally with Load Audio Pixaroma (trim the track) and Load Video Pixaroma (re-encode loaded frames), but works with any source that produces frames + AUDIO. The pack-wide gotcha applies: hard-refresh the browser tab (Ctrl+Shift+R / Cmd+Shift+R) after an update. And the usual video trap - odd-width frames, or an fps that disagrees with the source - is exactly what the fps wiring and the even-dimension check are there to prevent.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| video_frames | IMAGE | The frames to encode, as an image batch. Wire a video source, an AudioReact Pixaroma video_frames output, or any node that produces a batch of images. They must be RGB and have even width and height. | |
| fps | FLOAT | 241–240 | Frames per second for the saved video. Wire the fps output of whatever produced the frames so the two always agree, or type a number. Also available in the filename as the %fps% token. |
| audioopt | AUDIO | Optional sound track, mixed into the mp4 as AAC 192k. If the audio cannot be read the video is still saved, just without it. Turn on 'Trim to audio' in the settings to end the video where the audio ends. | |
| nameopt | STRING | Optional text used by the %input% token in the filename, for example wire the filename output of a loader here to keep the original name. To save into a folder named after this text, put a slash after the token: %input%/clip_%counter%. |
Outputs (0)
No outputs