ComfyUI Node

📡 Channel

Broadcast a value to the whole graph without drawing a single wire

By FiL-Design-Ai·Created 2 months ago·Updated 8 days ago· 8
📡 Channel
  • value

    Your graph has forty wires and you're about to add a forty-first, because the same CLIP needs to reach three different branches. You could draw them all - ComfyUI doesn't mind, and honestly a wire is never the end of the world. But on a graph this size the wires stop being the point and start being noise. FiL Channel is the "broadcast, don't draw" answer: you plug a value in, and every free input of the same type picks it up when you queue.

    It ships in the FiL Design ImageMind pack, alongside a whole family of workflow-comfort nodes, and it's one of the genuinely nice ones. Here's the honest framing up front: it's a node you'll either use constantly or never touch. If you build big multi-model graphs, you'll wonder how you lived without it.

    How it works

    The clever bit is where the magic happens: nowhere near the backend. FiL Channel is a marker node - the source literally describes it as carrying "no logic at all." Whatever you plug into one of its value, value1, value2... inputs becomes a named channel, and the frontend rewrites your graph just before the prompt is built, turning every subscribed input into a plain, ordinary link. By the time the backend sees the graph, there are no channels left - just wires. That's why it works with anything: it doesn't need to know what a MODEL is, because it never touches the data.

    The inputs grow as you use them (ComfyUI's autogrow mechanism, capped at a sensible 32). That means one Channel can carry your MODEL, your VAE and your CLIP at once instead of needing three nodes. It declares no outputs on purpose - nothing depends on it, so ComfyUI never schedules it, and your source isn't evaluated twice.

    Two things trip people up on first use:

    • A channel is named after its data type (MODEL, VAE, IMAGE), not after what it's for. Want it named face_lora? Rename the slot itself - there's deliberately no name widget, because one widget couldn't name several inputs on one node.
    • When two channels could feed the same input - or a node has two identical inputs, like a KSampler's positive and negative - nothing auto-wires. That's a safety feature, not a bug. Open the gear on the Channel's panel to pick targets by hand, or check the "Wireless" tab in the bottom panel for a graph-wide list of every channel and everything still unresolved.

    One scope rule worth knowing: a Channel placed inside a subgraph serves only that subgraph. It never reaches the parent workflow or a sibling. Treat that as a feature - it's how you keep one set of channels from leaking into another.

    Where you'll actually use it

    The classic case is a graph with several model loaders or a handful of sampler branches. Plug the model, the VAE, and the CLIP into one Channel near the top, and every consumer that needs them just picks them up. Change one value and it fans out everywhere. It plays the same role as rgthree's quick-nodes style of graph-taming, but with a broadcast model instead of wire bundles - the graph reads cleaner because there's literally nothing drawn.

    Installing it

    FiL Channel is part of FiL Design ImageMind (17 nodes, MIT). Via ComfyUI Manager, search for FiL_Design_ImageMind. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/FiL-Design-Ai/FiL_LLM FiL_Design_ImageMind
    pip install -r FiL_Design_ImageMind/requirements.txt
    

    On a portable/embedded install, point that pip at ComfyUI's own interpreter (python_embeded\python.exe -m pip install ...), or run install_requirements.bat on Windows. Then restart ComfyUI. The pack needs ComfyUI 0.3.60+ and Python 3.10+, and its own dependencies are light - requests, aiohttp, PyYAML, Pillow, numpy, pydantic. No model downloads, no API keys.

    Gotchas

    The failure mode of a wireless system is the same everywhere: you stop seeing where data comes from. If a node isn't getting what you expect, check the Wireless tab for unresolved inputs before you go hunting. And remember the edge case the README calls out - a Channel with a value plugged in is a broadcast; an input that needs a real IMAGE or LATENT will still raise if nothing actually supplies it, and the error will name that node, not the Channel. That's expected, just confusing the first time.

    Category🎨 FiL Design/🧰 Tools

    Inputs (1)

    NameTypeDefaultDescription
    valueoptCOMFY_AUTOGROW_V3

    Outputs (0)

    No outputs