Flow
Flow Isn't a Node β It's a Whole ComfyUI Front End
- Flow
Here's the honest pitch: the node called "Flow" is a placeholder. It takes no inputs, does no math, and returns a string. The thing you actually install this pack for is the web app that shows up at http://127.0.0.1:8188/flow the moment ComfyUI restarts.
Flow is an alternative front end for running ComfyUI workflows, built by diSty (of SEAIT and FrameMaker fame) and published under diStyApps. It's the exact opposite of the node-graph experience: instead of pulling wires, you get a clean panel with model pickers, sliders, canvas/inpainting tools, live preview, and a gallery of pre-built "flows" you click to run. If you've ever wished ComfyUI had a Normal mode, this is someone's attempt to build it. The README is explicit that it's not a replacement for workflow creation - you still build graphs in the default UI. Flow is for running them without the spaghetti. Given that the wider ecosystem's biggest complaint is precisely that ComfyUI's node soup is hostile to new users, that's a real itch to scratch.
How it works
On import, the pack's setup_server() grabs ComfyUI's PromptServer instance and registers a bunch of aiohttp routes on it. It clones a separate flows library repo (diStyApps/flows_lib) into web/flows, then mounts each flow's folder at /flow/<name> based on its flowConfig.json. There's also /core/ for shared JS/CSS and a set of /flow/api/* endpoints. Those API handlers are the sneaky part: they can clone a custom node from any git URL, pip install -r its requirements, update it, or delete it - all from inside the UI. Which is convenient, and also the reason you should think twice before pointing this at an instance exposed to the internet. Flow isn't a node that processes tensors; it's a control surface bolted onto your ComfyUI server.
The Flow node itself, class Flow, has no inputs and outputs a "Flow" string of type Flow. It's a marker so the pack shows up in your node list at all. Don't try to wire it into a workflow - there's nothing to wire.
What matters in practice
- The
/flowURL is the whole product. Bookmark it. - The pre-built flows (Flux, SD, video, inpainting) need the same models any normal workflow needs - there are no bundled weights, and the flow library auto-downloads on startup, so it wants git and network access.
- The install-package API needs the same Python environment ComfyUI runs in; a flow that installs a node with conflicting dependencies can break the very thing you're running (the classic ComfyUI dependency pain, now one click away).
Installing it
ComfyUI Manager is listed as a requirement, and it's the easy path: search for "Flow" (pack title Flow - Streamlined Way to ComfyUI) and install. Or, the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/diStyApps/ComfyUI-disty-Flow
# restart ComfyUI, then open:
# http://127.0.0.1:8188/flow
There's no requirements.txt - it's pure front end plus a thin server layer, so no heavy dependencies to fight with.
Where people get burned
It's honest-to-god early stage (0.5.2) - the README says to expect bugs. A few known traps from the wild:
- FloodGate conflicts. The author has flagged a clash between Flow and the FloodGate pack (see repo issue #4). If a flow errors out mysteriously, update or remove FloodGate first.
- The left panel or model list doesn't show. The usual fix is updating ComfyUI and ComfyUI Manager themselves; Flow leans on Manager's data.
- Remote access. People running it through ngrok/reverse proxies report the model page not loading; it works fine locally.
- The node confusion. Newcomers add "Flow" to a graph expecting magic and get nothing - because the magic lives at
/flow, not in the graph.
If you're a beginner who wants ComfyUI output without ComfyUI's ergonomics, Flow is one of the friendlier on-ramps. Just remember: the node on the canvas is a decoy. The real thing is a URL.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Flow | Flow | β |