Load Video
The quiet entry point for every ComfyTV edit chain
- video
Most ComfyTV pipelines start with generated clips from a Video Stage. But when you want to cut, stabilize, or grade footage that already exists - your own footage, a clip you exported from another editor - this is the node. Load Video registers a file from ComfyUI's input/ folder as a COMFYTV_VIDEO snapshot, and everything downstream just works.
What it actually does
It's an Input stage, so there's deliberately no ▶ Run button. You pick a file from the dropdown (or upload one, which writes it into input/), the node previews it, and the selection becomes the stage's output instantly. No queue, no model, no re-encode. The chosen URL is stored in the project, and any downstream stage that reads it uses that snapshot until you change the selection.
The one parameter that matters is video: a combo of the video files it found in input/, with upload built in. The output is a single video (COMFYTV_VIDEO) that plugs straight into Video Clip, Crop, Resize, Extract Frame, Stabilize, or any other edit stage. Since it's a snapshot type rather than a native tensor, crossing back into a normal ComfyUI graph needs a → ComfyTV Video Bridge - the docs cover that under bridges.md.
Where people get confused
The classic mix-up: this node reads raw files on disk, while "Load Video from Asset" browses the project's asset library (generated clips, sidebar imports). If you generated something in a Video Stage and can't find it here, you're looking at the wrong node. Similarly, don't come here expecting AI generation - that's the Generate → Video Stage. This one only loads.
A few practical notes. Extensions: stick to common containers (MP4, WebM, MOV) so ComfyTV's PyAV-based engine recognizes the file. If an upload doesn't show up in the dropdown, refresh the page. And it's a real re-encode-free load, which makes it the right starting point for the "exported clip → edit inside ComfyUI" workflow - the pack's whole video suite is built to be fed from here.
Installing
Same story as every ComfyTV node: cd ComfyUI/custom_nodes && git clone https://github.com/jtydhr88/ComfyTV, then restart ComfyUI. Or install via ComfyUI Manager - search for "ComfyTV". If you're on ComfyUI Desktop or have more than one install, clone into the running instance's custom_nodes by absolute path, and double-check you don't end up with a nested ComfyTV/ComfyTV/ folder.
Troubleshooting
- "Nothing in the dropdown" - drop files into
input/(or upload via the node) and refresh. - Downstream says type mismatch - you wired a native
VIDEOtensor into a ComfyTV socket, or vice versa. Bridges exist precisely for this. - It loads but downstream errors on Run - the file may not be decodeable by PyAV; try a standard MP4/H.264 export.
That's the whole node. It's boring on purpose - the least flashy stage in the pack, and the one almost every real footage edit starts with.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| project_id | STRING | Internal — populated by the projectStore on the frontend. | |
| parent_output_id | INT | 00–2147483647 | Internal — lineage parent set by spawn handlers on the frontend. |
| videoopt | COMBO | Pick an existing input file or upload a new one. The selected video becomes this stage's output. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | COMFYTV_VIDEO | — |