Nodes/ComfyTV/→ ComfyTV Video
ComfyUI Node

→ ComfyTV Video

Put a native ComfyUI video on the ComfyTV canvas

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
→ ComfyTV Video
  • video
  • video
force_run_token0
project_id
parent_output_id0

Every ComfyTV video stage - Video Clip, Demux, Crop, the generate stages - expects COMFYTV_VIDEO: a URL snapshot of an mp4 on disk, tracked inside the ComfyTV project. But plenty of things in the wider ComfyUI ecosystem hand you a native VIDEO object instead: mesh2motion, AnimateDiff exports, anything using Create Video. Those two shapes don't connect, and → ComfyTV Video is the adapter - native VIDEO in, COMFYTV_VIDEO snapshot out.

The arrow points into ComfyTV, which tells you the one thing that trips everyone up: this is a Stage with a ▶ Run. It doesn't just convert when the graph queues. On Run it saves the video object to an mp4 under output/ComfyTV/bridge/ (codec picked automatically) and registers it as a project snapshot. No Run, no snapshot, and downstream keeps pointing at whatever stale URL it had before.

How it works

One required input: video (VIDEO). On Run the node writes it to disk and emits video of type COMFYTV_VIDEO. The other three inputs - force_run_token, project_id, parent_output_id - are internal lineage plumbing; leave them. The typical flow in the docs: run mesh2motion (or Create Video), bridge the result in, then wire it to a Video Clip or the toolbar's Demux to start editing on the canvas.

The one real footgun in the source: unwired video raises an error on Run. So check the wire before you blame the bridge.

If upstream gives you an image sequence instead of a VIDEO object, don't force it - the docs' route is IMAGE batch → Create Video (fps) → → ComfyTV Video, turning the frames into a clip first. And for the reverse trip, ← ComfyTV Video pushes a finished ComfyTV clip back out to native.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV

Restart the ComfyUI backend (a full restart, not a browser refresh); nodes appear under the ComfyTV category. ComfyUI Manager finds the pack by searching "ComfyTV". The README's two recurring gotchas: on Desktop/macOS/multi-install setups the relative cd can clone into the wrong instance - read the startup log for the real base path and clone into that absolute path, quoted - and the first level of custom_nodes/ComfyTV/ must contain __init__.py (fix a nested ComfyTV/ComfyTV/… by moving the inner folder up).

Zero Python dependencies declared in pyproject.toml - encode/decode rides on ComfyUI's own ffmpeg/PyAV.

Troubleshooting

  • "no input video wired" error. The video input is empty. Wire it, or run the upstream video-producing node first.
  • Downstream unchanged after a new run. You skipped the bridge's Run, or you didn't re-run it after the video changed. Snapshots are sticky by design.
  • Node missing after install. Wrong instance or nested folder - verify the layout and restart the backend properly.
CategoryComfyTV/Bridge

Inputs (4)

NameTypeDefaultDescription
force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
project_idSTRINGInternal — populated by the projectStore on the frontend.
parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
videoVIDEO

Outputs (1)

NameTypeDescription
videoCOMFYTV_VIDEO