Nodes/comfybridgeio/Bridge Input (ANY ✦)
ComfyUI Node

Bridge Input (ANY ✦)

One node that accepts anything

By cbpark84·Created 2 months ago·Updated 2 months ago· 0
Bridge Input (ANY ✦)
  • value
  • value
nameinput_name

Sometimes you don't know what type is going to flow through a bridge until the workflow is already running. That's the entire job of Bridge Input (ANY ✦) - the asterisk in the display name is the giveaway. This is ComfyBridgeIO's wildcard input, the one node that accepts any ComfyUI type and passes it straight through.

Under the hood it leans on the same escape hatch the plumbing layer uses everywhere: ComfyUI's * (ANY) type, which a node declares to accept "anything" - a model, a latent, a string, a mask, whatever - and then does its best to make sense of what arrives. The pack's implementation is the classic AnyType trick: a string subclass whose __ne__ always returns False, so ComfyUI's type checker considers it compatible with every socket. That's a real engine feature, not a hack specific to this pack - the wildcard is what makes switch nodes and context buses possible at all.

The node itself is minimal: required name (STRING, default "input_name"), optional value input socket of type *, and a single value output socket of type *. Wire anything into it, the output carries whatever came in. The client's schema extraction reports it as an ANY input, and its patch_inputs writes whatever value the agent passes straight through with no type conversion - which is exactly why it's the bridge you reach for when the agent needs to inject something but the workflow author couldn't pin the type down in advance.

Where this shines: dynamic workflows where the same bridge might carry a string in one run and a mask in the next, or multi-path graphs where several differently-typed outputs converge on one named point for the agent to target. The cost is the one every wildcard carries - the type safety you gave up is now your job to police. A STRING bridge can't be fed a latent by accident; an ANY bridge absolutely can, and the failure will surface downstream, not at the socket.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/cbpark84/ComfyBridgeIO

Restart ComfyUI, or ComfyUI Manager → search ComfyBridgeIO → Install. No models, no heavy deps. Optional Python client (pip install -e in the repo; aiohttp, websockets, Pillow). The README's clone URL shows nicekate/ComfyBridgeIO - stale; the repo is cbpark84 as above.

Common issues

The wildcard's own flexibility is the main trap. You'll wire up an ANY bridge, feed it a string, and then wonder why a downstream node rejects it - because there's no type enforcement at the socket, the mismatch is deferred until the data hits something typed. If your workflow has a known type, prefer the specific bridge (STRING, IMAGE, ...) and keep ANY for the genuinely dynamic spots. Also worth knowing: the client's extract_schema() reports ANY inputs as type "ANY", so an agent consuming that schema knows it can't assume a shape - pass the value with the right Python type from the start.

CategoryComfyBridgeIO

Inputs (2)

NameTypeDefaultDescription
nameSTRINGinput_name
valueopt*

Outputs (1)

NameTypeDescription
value*