Project
The one ComfyTV node that does nothing but keeps everything organized
Project is the root context node for a ComfyTV canvas, and it does exactly one thing: tells ComfyUI which project you're working in. No Run button, no outputs, no GPU. If you're new to ComfyUI workflows, think of it as the folder label every stage on the canvas shares. It's plumbing in the purest sense - the kind of node that exists so the rest of the graph has a place to put things.
Why it matters: ComfyTV is project-centric. Every Image, Video, Audio, and other stage you run saves its snapshot into the current project's asset library, with full history. When you reopen the same workflow, the Project node restores the project id and name, and all your downstream stages can keep using prior snapshots instead of forcing a re-run. That persistence - outputs that survive reload - is the thing that makes a ComfyTV canvas feel like an app rather than a script you babysit.
The three inputs, all of them
project_id- bound toprojectStore.currentProjectIdand persisted with the workflow. This is the actual key; it's what ties snapshots to this project.project_name- the display label. The human-facing part, for the UI's project picker.schema_version- a ComfyTV workflow schema marker. The frontend warns if a loaded workflow's version differs from the current one. It's how the pack detects "this workflow was saved by a newer/older ComfyTV" and tells you before things silently break.
Zero outputs. If you're hunting for a wire to drag, there isn't one - and that's correct. This node's job is context, not data flow.
How to use it
Place one Project node at the start of every ComfyTV pipeline. Switch between separate tasks (say, "Ad A" vs "Short B") via the project name or the UI project picker, and each gets its own organized output store. If you're the sort who leaves ten workflows half-done and comes back a week later, this is the node that makes "come back" survivable - reopen, and your picks and snapshots are still there.
Install
Pack-wide one-liner:
cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV
Restart ComfyUI - Desktop/macOS users: clone into the running instance by absolute path, verify __init__.py at the top level, and restart the backend, not just the browser tab. ComfyUI Manager finds it as "ComfyTV". No extra Python dependencies.
The one thing worth knowing: the schema_version warning isn't noise. If ComfyTV flags a mismatched schema, it means the workflow was authored against a different pack version, and the honest fix is updating ComfyTV (or the workflow) rather than clicking past the warning and wondering why snapshots don't restore.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| project_id | STRING | Bound to projectStore.currentProjectId. Persisted with the workflow. | |
| project_name | STRING | Display label for the current project. | |
| schema_version | INT | 10–2147483647 | ComfyTV workflow schema marker. Frontend warns if loaded ≠ current. |
Outputs (0)
No outputs