Video Output
Save your video and let the API hand it back
- video
If you found this node in a shared workflow, it's a save node for video - the same job as the Save Video nodes you already know from Wan, Hunyuan or LTX packs. But it has a second, sneakier identity: it's the node that tells bentoml/comfy-pack "this video is an output," so when the workflow is served as an API, the finished clip is what comes back in the response.
Comfy-Pack is BentoML's toolkit for making ComfyUI workflows shareable and deployable. You annotate a workflow with ComfyPack input and output nodes, then hit a button to package the whole environment (.cpack.zip) or serve it as a REST endpoint at http://127.0.0.1:3000/generate. Video Output is the annotator you drop at the end of a video-generation graph.
How it works
The node takes a VIDEO tensor - the self-describing format the video-gen packs produce, which carries its own width, height, timing and codec - and writes it to your ComfyUI output directory as an .mp4. It also embeds the workflow's prompt and any extra PNG info as metadata on the file, so you keep the "drag it back into ComfyUI" sharing trick on video instead of losing it to the format. It reports the file back through the UI as an animated image result, which is how ComfyUI's preview panel knows to show it as a video.
The inputs that matter
Only four, and you'll touch two of them:
- video - the VIDEO tensor from your video-sampling chain. The only input that has to be wired up.
- filename_prefix - default
video/comfypack. Set it to something you'll recognize, likevideo/my_flux_kling_thing. Per the author's own tooltip, it supports formatting placeholders like%date:yyyy-MM-dd%so you can date-stamp your clips. - format -
auto(default) ormp4. Yes, that's the whole list. - codec -
auto(default) orh264. Also the whole list.
That's the honest catch: this is a deliberately thin save node. There's no framerate picker, no resolution override, no GIF export, because the VIDEO type already carries that. If you need container gymnastics, that's what VideoHelperSuite is for - use it for local work and keep Video Output as the API-facing final node.
Install
Same as every Comfy-Pack node, and it's the whole pack in one go:
- ComfyUI Manager (easiest): search
comfy-pack, click Install, restart the server and refresh your browser. - Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/bentoml/comfy-pack, then restart.
It's a heavier dependency than the average node - BentoML plus comfy-cli and friends - so the first Manager install can take a minute. Nothing model-related is downloaded; video checkpoints are your own business.
Gotchas
Two things bite people. First, the Serve button won't start unless your graph has at least one CPackInput node and one CPackOutput node - Comfy-Pack validates that before booting the dev server, so a workflow with only this output node will refuse to serve. Second, don't confuse "saved to output dir" with "API returns it": that only works when the workflow is being served, and the file lands in the API response only because this node flagged it. For plain local saving it behaves like any Save Video node.
If packing the workflow with model lookup, you can occasionally hit duckduckgo-search rate limits while Comfy-Pack tries to resolve model sources by hash - rerun the pack a few minutes later and it usually clears.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | The video to save. | |
| filename_prefix | STRING | video/comfypack | The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes. |
| format | COMBO | auto | The format to save the video as. |
| codec | COMBO | auto | The codec to use for the video. |
Outputs (0)
No outputs