Video Preview
The node in this pack that doesn't need Eagle at all
- video
- video
The rest of this pack exists to talk to Eagle. This one doesn't - no library, no folder ID, no local API call. It just takes a native ComfyUI VIDEO and lets you actually watch it inside the node.
That sounds trivial and isn't. Image workflows have Preview Image, so checking a render costs nothing. Video doesn't have a built-in equivalent that works on the native VIDEO type, so the usual options are "save it and go find the file" or "queue the whole thing and hope". Video Preview closes that gap: it renders a throwaway MP4 into ComfyUI's temp directory and hands it to the player the pack ships, so you can eyeball a clip before committing disk to it or before feeding it into an interpolator or upscaler you're not sure about.
What it does, mechanically
Unusually for a "preview" node, it does real work: it encodes. The node grabs a save path in ComfyUI's temp folder, then calls the VIDEO object's own save_to() with the MP4 container and codec="auto" at preset="ultrafast" - fast and ugly on purpose, since the point is a look, not an archive. It then returns two things: the passthrough VIDEO on its output, and a ui.video reference pointing at that temp file, which is what the bundled front-end player renders. The file lives in ComfyUI's temp directory, not your output folder, so it never pollutes the library you actually curate.
It also caches, per VIDEO object, using a WeakKeyDictionary mapping the object to its temp file. Re-run the graph against the same unchanged video and it reuses the existing preview instead of re-encoding. Some third-party VIDEO implementations can't be used as weak keys; the code catches that and simply skips caching, so you get a re-encode rather than an error.
Inputs and output
One required input - video, a native ComfyUI VIDEO - and one output, video, the same object handed straight back. It's marked as an output node, which is what makes it always execute, but the passthrough means you can chain it: drop it between your video model and whatever comes next so the preview appears without ending the graph. Practically it's a telescope, not a terminus.
There's nothing to configure. No quality knob, no format picker, no folder. If you want control over the file, that's Eagle Save Video, one node over.
Installing it
It ships in the same pack, so the install is the same one:
cd ComfyUI/custom_nodes
git clone https://github.com/jambread-git/ComfyUI-EagleBridge
pip install -r ComfyUI-EagleBridge/requirements.txt
Search ComfyUI-EagleBridge or eagle-bridge in ComfyUI Manager if you prefer. Restart, and hard-refresh the browser afterwards - the node's player is pack JavaScript, and a stale front end is the usual reason a preview "doesn't work" right after an update.
Where it goes wrong
The failure you'll actually hit is Video Preview requires a current ComfyUI build with the native VIDEO API. That's the node refusing to guess: it imports ComfyUI's newer video types, and if they aren't there it stops rather than producing something misleading. The fix is to update ComfyUI, not to fiddle with the workflow.
Second most common: the node runs, the queue shows green, and the player is blank. Restart ComfyUI, hard-refresh (Ctrl+Shift+R), remove and re-add the node. And if you're piping in something that only resembles a VIDEO - an image batch from a frame-based video workflow, say - it will fail on the missing save_to(). That's a wiring problem, not a bug.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |