CogVideoX Save Video
Your CogVideoX frames are not a video until this node makes them one
- video
The CogVideoX Image-2-Video Extended node in this pack outputs a VIDEO - but that's just a list of numpy frames sitting in memory. Nothing you can play, nothing you can share. CogVideoX Save Video is the other half of that deal: the small output node that turns those frames into an actual .mp4 on disk. It's the finish line for every workflow in this pack, and it's about as simple as a node gets.
What it does
It's a pure output node - nothing to configure beyond three inputs, nothing it passes on. When the graph reaches it, it writes an MP4 to ComfyUI's output/ folder using OpenCV's VideoWriter with the mp4v codec, converting each frame RGB→BGR for the encoder and dropping any alpha channel along the way. The filename gets a timestamp so you never overwrite: cogvideox_20260816_123456.mp4.
The three inputs
- video (
VIDEO) - the frames from CogVideoX Image-2-Video Extended. This is the pack's own custom type, so that generator node is effectively the only upstream you'll use. - filename_prefix (default
cogvideox) - just the name prefix; the timestamp keeps files unique. Useful if you run several variations and want to tell them apart at a glance. - fps (default 30, range 1–60) - how fast the video plays. Important mental note: it doesn't change the frames themselves, only the playback speed. Since the Extended node's interpolation can multiply your frame count 4×, at 30 fps a 49-base-frame clip renders as roughly a 6.4-second video. If your motion looks too fast or too slow, this is the knob.
Because it's an output node, it returns no video - the only thing it reports is a line in the console (and the UI text) telling you the saved path.
Install
Same pack, same story as the generator: ComfyUI Manager, search ComfyUI-CogVideoX, or:
cd ComfyUI/custom_nodes
git clone https://github.com/florestefano1975/ComfyUI-CogVideoX
then restart ComfyUI. There's no separate model for this node - it only saves what the generator produces.
The gotchas
- The pack's own missing dependency bites here first. The save path uses
cv2.VideoWriter, andopencv-pythonis imported but absent fromrequirements.txt. If you getNo module named cv2the moment you run the save node, that's why:pip install opencv-pythonfixes it for the whole pack. - mp4v compatibility. The file plays in most players, but if a video editor or Discord refuses it, the container/codec combo is usually the culprit. Easiest fix is remuxing through ffmpeg:
ffmpeg -i your.mp4 -c copy out.mp4(the pack even listsffmpeg-pythonin its requirements - unused in the shipped code, but handy here). - Type mismatches. The
VIDEOinput is a custom type from this pack. Other video nodes (Wan, LTX, kijai's wrapper) use their own types, so don't expect to swap outputs across packs. If you generate with the Extended node, save with this one - they were written to be a pair. - Files land in
ComfyUI/output/, not next to your workflow. First time, everyone looks in the wrong folder.
It's not glamorous, and it won't fix a bad render. But it's the piece that takes a pile of frames and hands you a file you can actually watch - which, after a half-hour CogVideoX generation, is the part you'll be glad exists.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | — | |
| filename_prefix | STRING | cogvideox | — |
| fps | INT | 301–60 | — |
Outputs (0)
No outputs