Nodes/ComfyUI-Koolook/Koolook Publish Router
ComfyUI Node

Koolook Publish Router

Koolook Publish Router

By malkuthro·Created 11 months ago·Updated a day ago· 8
Koolook Publish Router
  • payload
  • EXR
  • QT
  • Img
  • Prompt
selector2

Koolook Publish Router is the switchboard of the Publish family: it takes one payload and fans it out to four writer branches - EXR, QT, Img, Prompt - with a selector deciding which branch a published run actually keeps. Think of it as a four-way powered splitter where the switch decides which output is live.

The payload is a wildcard (*), so it accepts whatever your workflow produces - images, latents, video, text - and the router doesn't inspect or transform it. The mechanism is almost embarrassingly simple: it returns the same payload on all four outputs, and the published-setup runner keeps only the branch matching the selector. The branching doesn't happen inside the node; it happens in the runner, which reads the selector and the switch-aligned outputs and only executes the matching writer path.

The inputs

  • selector - the switch index, 0–3, matching the Publish family's mode order: EXR=0, QT=1, Img=2, Prompt=3. The default is 2 (Img). Wire it from Koolook Publish Input's switch (or Publish Output's switch) and it follows the app's chosen mode automatically. The tooltip says it straight: "Published setup runs keep only the matching writer branch."
  • payload - the main workflow payload to send to the switch-aligned branches. Anything that a writer node downstream can consume.

The outputs

Four wildcard outputs, named exactly like the branches: EXR, QT, Img, Prompt. Each is fed to a writer branch (e.g. an EXR sequence saver on the EXR output, a video saver on the QT output, an image saver on the Img output). On a normal interactive run you'll see the payload on every output at once - that's expected and harmless; the switch selects only when a published setup runs. If that confuses you, remember the node's job is contract routing, not data mutation.

Why it exists

In a normal workflow you'd pick one writer and be done. The Publish family is built for setups that get driven by an external app across different output formats - sometimes the app wants a QuickTime, sometimes a still. Router is how one published workflow supports all of them without four copies of the graph. You wire it once, the selector follows the input mode, and the runner activates the right branch per run.

Install

Part of the ComfyUI-Koolook pack. 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. And the pack rule: install once, via one method. A Manager install at custom_nodes/koolook/ plus a git clone copy loads both on every boot and corrupts the workflow store until you remove one folder.

Common issues

  • All outputs light up / nothing is selected - expected outside a published run. The branching is runner-side; in a plain interactive workflow every output gets the payload.
  • Wrong writer runs - the selector doesn't match the mode you picked upstream. If Publish Input is on Img (switch 2) but the router's selector is hard-set to 0, the runner keeps the EXR branch. Wire the selector instead of typing it.
  • The output you expected is empty - you're checking a branch that the selector didn't activate. Match the branch to the switch index and re-run.
CategoryKoolook/Publish

Inputs (2)

NameTypeDefaultDescription
selectorINT20–3Switch index from Koolook Publish Input. Published setup runs keep only the matching writer branch.
payload*Main workflow payload to send to the switch-aligned writer branches.

Outputs (4)

NameTypeDescription
EXR*
QT*
Img*
Prompt*