Koolook Publish Input
Koolook Publish Input
- sequence_folder
- qt_file
- single_file
- prompt
- switch
Koolook Publish Input is a contract node. It doesn't process anything - it declares what an external app is allowed to feed this workflow. The Koolook pack lets you publish a ComfyUI setup to an external app (a published-setup runner), and this node is the front door that defines the source inputs that runner can fill in.
Think of it as the argument list of your workflow. If you've published a shot-processing setup to, say, a compositing tool or a batch runner, that app needs to know: does this job want an EXR sequence? A QuickTime file? A single still? A prompt? Publish Input is where you answer those questions, and the answers are what the external surface exposes.
The inputs
Four source fields plus a mode switch:
- mode - the source type exposed to the app:
EXR,QT,Img, orPrompt. This is what drives the switch output. - sequence_folder - directory path for sequence sources (EXR or numbered image frames).
- qt_file - full path to one QuickTime/video file, directory and filename.
- single_file - full path to one still image or single source file.
- prompt - text field, for setups that route a prompt through the published app.
Each of the four becomes a matching string output (sequence_folder, qt_file, single_file, prompt), so whatever you type here flows straight into the nodes downstream. The fifth output, switch, is the one with the logic: it carries a stable numeric index of the current mode (EXR=0, QT=1, Img=2, Prompt=3). Other Publish nodes read that index to keep the whole setup aligned - when the external app picks Img, the switch says 2, and everything downstream that consults it knows the source is a still.
Why the switch matters
The whole Publish family is switch-aligned. Publish Input emits the mode index, Publish Output re-emits an output-type index, and Publish Router fans your payload into EXR/QT/Img/Prompt writer branches - the published runner keeps only the branch matching the switch. Publish Input is where that chain starts. If you wire only the string outputs and ignore the switch, the contract half of the machinery has nothing to route on.
Install
Part of ComfyUI-Koolook. ComfyUI Manager → Install Custom Nodes → Git URL:
https://github.com/malkuthro/ComfyUI-Koolook.git
Or:
cd ComfyUI/custom_nodes
git clone https://github.com/malkuthro/ComfyUI-Koolook.git
Restart and it's under Koolook/Publish. No models, no dependencies - it's a typed passthrough. And the pack's standing rule: install once, via one method. A Manager install at custom_nodes/koolook/ plus a git clone copy creates a parallel install that loads both on every boot and corrupts the workflow store until you remove one.
Common issues
- The app shows no fields - the mode is set but the corresponding field is empty, or the setup isn't wired to read these outputs. Declaring a source is only half the job; the string outputs must actually feed your loader nodes.
- Wrong branch downstream - the switch index doesn't match what you intended. If
modeis onImgbut your writer is set for EXR, the router will keep the wrong branch. Check the mode against the writer's expectation. - You're not publishing anything - then this node is dead weight. It exists for the external-app contract; inside a normal interactive workflow you'd just use a normal loader.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | Img | Source mode exposed to the external app. The switch output keeps this mode's stable numeric index. |
| sequence_folder | STRING | Directory path for sequence sources such as EXR or numbered image frames. | |
| qt_file | STRING | Full path to one QuickTime/video file, including directory and filename. | |
| single_file | STRING | Full path to one still image or single source file. | |
| prompt | STRING | Prompt text field for setups that route a text prompt through the published app surface. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| sequence_folder | STRING | — |
| qt_file | STRING | — |
| single_file | STRING | — |
| prompt | STRING | — |
| switch | INT | — |