kubakub export video / frames
ProRes out of ComfyUI, with the audio attached
- images
- audio
- alpha
- report
- folder
- files
What it's for
ComfyUI's native video save is fine for a quick look and not fine for a projector. You need frame sequences, you need ProRes, you need the sound riding along, and you need colour tags that the playback software won't reinterpret.
kubakub export video / frames is the delivery writer: give it frames, an fps, a format and a name, and it writes a folder of deliverables to output/kubakub_director/<name>_<date-time>/. It's a deliberate output node, which in ComfyUI terms means the engine treats it as a terminal - anything not needed to produce its inputs never runs.
How it works
It picks a writer per format. PNG sequences are written frame by frame to disk (8 or 16 bit) with the audio as a .wav sitting next to the frames. The video formats pipe raw frames to ffmpeg: ProRes 4444 with an alpha-capable yuva444p10le pixel format, ProRes 422 HQ, H.264 at 4:2:0 or 4:4:4 10-bit, H.265 10-bit, and a half-size preview mp4 for sending to someone who doesn't need to grade it. Outputs get Rec.709 tags, and alpha is written when both the format and the alpha input allow it.
Two specifics that matter more than the marketing: it pre-pads odd widths and heights to even numbers (w - w % 2) because encoders demand it, so a 1921-px-wide matrix still exports; and if you ask for alpha in a format that can't carry it, it refuses before rendering and tells you the formats that can (PNG sequences and ProRes 4444).
Inputs and outputs
images- the frames, a batch. A single image becomes a one-frame file.fps- 1 to 120, default 25. Wire it from kubakub director sequence or the director itself, otherwise your sound and your picture will disagree about how fast the timeline is.format-png8,png16,prores4444,prores422hq(default),h264,h264_444,h265,preview.name- the folder and file stem, defaultexport. A timestamp is appended to the folder, so repeated runs never overwrite each other.audio(optional) - the sound. Wire it from the director, or from kubakub keyframe clips (h3), which mixes H3's own audio into the timeline sound.alpha(optional) - an alpha mask, one mask or one per frame; a mismatched size gets resized.
Outputs are report, folder and files. The last two are strings, and they're the reason this plays well in an automated graph: folder is the full path, files is one path per line (for PNG sequences: the frames folder and the .wav).
Install
Manager → kubakub nodes → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/kubakubkub/ComfyUI_KubaNodes
python -m pip install -r ComfyUI_KubaNodes/requirements.txt
The pack's requirements file only adds opencv-python-headless, and it wants ComfyUI 0.37.0+. ffmpeg is the real dependency here - the node uses the ffmpeg that imageio-ffmpeg ships, or one on your PATH. PNG sequences don't need it; every .mov and .mp4 does. The startup console prints one line per missing thing ([Kub] not installed (only these features are off): ...), so check it before filing a bug.
Common issues
- "ffmpeg not found (imageio-ffmpeg is not installed and ffmpeg is not on PATH)". That's the exact error from the source.
pip install imageio-ffmpegand you're done. - Alpha silently missing from your mp4. It's not silent - the report says the format can't carry alpha and names the two that can. If you need a transparent layer over the building, PNG sequence or ProRes 4444, no exceptions.
- It exports even when you didn't change anything you cared about. It's an output node; ComfyUI runs output nodes on every queue. Point it at a different
nameif you don't want the folder count going up. - The file plays at the wrong speed.
fpsdefaults to 25 and does not read your timeline. Wire the fps output through.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The frames to write (a batch; one image = a one-frame file). | |
| fps | FLOAT | 25.0001–120 | Frames per second of the file (e.g. 25, 30 or 29.97). Connect the fps output of kubakub director sequence (or of the director) so the file plays at the timeline's speed. |
| format | COMBO | prores422hq | png8 / png16 = PNG sequence + .wav; prores4444 (with alpha) / prores422hq = .mov; h264 / h264_444 / h265 = .mp4; preview = a small half-size .mp4. |
| name | STRING | export | Name of the export folder and files (a date and time is added to the folder). |
| audioopt | AUDIO | Sound for the file (PNG sequences get it as a .wav next to the frames). | |
| alphaopt | MASK | Alpha for PNG / ProRes 4444 (one mask or one per frame). A mask of another size is resized to the frames; other formats cannot carry alpha (the report says so). |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| report | STRING | Format, frame count, size, the output folder and the written files. |
| folder | STRING | The export folder (full path). |
| files | STRING | What was written, one full path per line: the video file, or for a PNG sequence the folder of frames and the .wav. |