Load Image
The front door of every ComfyTV image pipeline
- image
Before you can edit, erase, upscale, or feed anything into an image-to-video stage, you need an image in the graph. That's Load Image's entire job, and it's deliberately boring. What's not boring is how ComfyTV fits it into the workflow: the image you pick here becomes the stage's output, so whatever you load is instantly wire-able anywhere downstream without fighting the usual "which file, which folder, why is it not there" dance.
ComfyTV is jtydhr88's canvas app (~190 stages, each its own node). Load Image is one of the Input stages you'll place at the head of nearly every image pipeline.
How it works
The interface is a single field, and the schema's tooltip says it exactly: "Pick an existing input file or upload a new one. The selected image becomes this stage's output." The image input is a combo - you either pick from files already in your ComfyTV input library or upload a new one right there. There's no resolution dropdown, no mode switcher, no force_run_token; the node is as simple as it looks.
Output: a single image (COMFYTV_IMAGE), ready to wire into an Image Edit, Erase, Grid Split, Image Variations, or a video generation stage.
The hidden inputs, explained once
project_id and parent_output_id are the two internal inputs, marked "Internal - populated by the projectStore on the frontend." They're how ComfyTV tracks which project a stage belongs to and which upstream stage spawned it - the lineage behind per-node Run. You never set them by hand. (Most ComfyTV stages also carry force_run_token and custom_params; Load Image doesn't, because there's nothing to run - loading is the terminal operation.)
Installing it
Same pack, same steps:
cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV
or ComfyUI Manager ("ComfyTV"), full backend restart, then ComfyTV → Input. The one gotcha that bites people: on ComfyUI Desktop, macOS, or multiple installs, clone into the running instance by absolute path and confirm custom_nodes/ComfyTV/__init__.py exists (not nested), then fully restart. The pack declares no pip deps; a pure image loader won't hit the PyAV wall some video stages do.
Common issues
- The file I uploaded isn't in the list - the combo reads ComfyTV's input library, not an arbitrary OS path. Upload through the node's picker first; it lands in the library, then it's pickable.
- The image looks wrong after loading - check you grabbed the right file in the combo. There's no processing happening at load time; what you see is what you get.
- Nothing downstream updates when I change the image - re-run the downstream stage after re-picking; ComfyTV's per-node Run means downstream stages consume the snapshot of Load Image's last output, so they won't magically re-execute.
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. |
| imageopt | COMBO | Pick an existing input file or upload a new one. The selected image becomes this stage's output. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | COMFYTV_IMAGE | — |