→ ComfyTV Images
Bring an entire image batch into ComfyTV, then pick one
- images
- images
- image
Its sibling → ComfyTV Image only keeps the first frame of a batch. That's fine for a single styled still, and quietly useless the moment upstream hands you a real batch - multi-reference IPAdapter, a grid of renders, a multi-view dump. → ComfyTV Images is the version that saves every frame as its own PNG, builds a ComfyTV batch from them, and gives you both the full set and a single selected image out. It's the bridge you reach for when the interesting work starts with choosing among several candidates.
How it works
On ▶ Run it saves each frame of the upstream IMAGE batch under output/ComfyTV/bridge/, then assembles a COMFYTV_IMAGES payload - the pack stores it as JSON with an index, a label, and an image URL per frame. That batch output is what feeds an Image Picker so you can click through candidates on the canvas.
Then there's the second output, and it's where the design gets nice: image, a single COMFYTV_IMAGE selected from the batch. Which one is chosen is driven by the selected_index input - 1-based, default 1 - and the pack's docs say it's driven by clicking a thumbnail in the node's output grid. So the node doubles as a batch importer and a picker; the picked frame flows out as its own image for the next stage.
Inputs: images (IMAGE, any batch size), selected_index (1–999, default 1), plus the internal force_run_token / project_id / parent_output_id trio you ignore. Outputs: images (COMFYTV_IMAGES) and image (COMFYTV_IMAGE, the selected one).
One honest alternative to keep in your back pocket: for a frame sequence you plan to edit as video, the docs point out you can go IMAGE batch → Create Video (fps) → → ComfyTV Video instead, and treat it as a clip rather than a pile of stills.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV
Restart the ComfyUI backend (a full restart, not a tab refresh); nodes land under the ComfyTV category. ComfyUI Manager finds the pack by searching "ComfyTV". Watch 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 and quoted - and the first level of custom_nodes/ComfyTV/ must contain __init__.py, not a nested ComfyTV/ComfyTV/ folder.
No Python dependencies to install - pyproject.toml declares none.
Troubleshooting
- Nothing shows downstream. Into-bridges require a Run to snapshot; queuing the graph alone won't do it. Hit ▶ Run, and re-run it after the batch changes.
- Wrong frame picked.
selected_indexis 1-based. The default 1 means the first frame; click a thumbnail to move it. - A single image is enough? Then you're over-bridging -
→ ComfyTV Imageexists for the one-frame case. - Node missing after install. Wrong instance or nested folder - verify the layout, restart the backend.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| force_run_token | INT | 00–2147483647 | Internal — bumped on Run to invalidate ComfyUI's input cache. |
| 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. |
| images | IMAGE | — | |
| selected_index | INT | 11–999 | Internal — 1-indexed cell pick for image-batch stages. Driven by clicking a thumbnail in the node's output grid. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | COMFYTV_IMAGES | — |
| image | COMFYTV_IMAGE | — |