ComfyUI Node

Get Relay

Swap live model objects per profile without rewiring the canvas

By haroonaslam·Created 4 months ago·Updated 7 days ago· 10
Get Relay
  • value
  • value
key

The typed Set/Get nodes handle numbers and text, but most of what flows through a ComfyUI graph isn't a number - it's a MODEL, a CLIP, a VAE, a CONDITIONING. Get Relay is the wildcard member of the family: it routes an object of any type from a Set Relay node, per selected config, so switching profiles can swap your checkpoint or LoRA path without touching a single link on the canvas.

This is the node that makes "same graph, different model" real. Set Relay publishes whatever object you feed it under a key; Get Relay resolves the selected profile's object at its consumer. It's the pack's answer to the "two model loaders, flip between them" problem that the KB's plumbing docs describe as an A/B switch - except the switch state lives in a named config, not in your head.

How it works

Set Relay takes any single value (the node's input is the wildcard * type) plus a key, and passes that value through unchanged on its output - so the Set node can stay in the data path of one branch. Get Relay asks for the key and returns the routed object, or its directly connected fallback.

Two things keep Relay different from the typed Gets. First, it's genuinely wildcard: the same Get can carry a MODEL in one workflow and an IMAGE in another, and it wires into any socket. Second, because the value is a live graph object rather than a serializable scalar, the actual rewiring happens on the frontend at queue time - the Set Relay output the config selects gets connected into the Get. The config resolution follows the same group-scope rules: a Config SelectorX marks groups Active/Bypass/Mute/Ignore, and the Set Relay in an Active group wins. If nothing matches, a connected fallback value saves you from a broken queue.

Inputs and outputs

  • key (STRING) - exact match against the Set Relay key.
  • value (wildcard, optional) - fallback object, used when no scoped Set Relay resolves.
  • Output: value (wildcard) - the routed object. Wire into any matching socket.

That optional fallback is the part beginners sleep on. Route one Set Relay for "model in profile A", another for "model in profile B", and a third direct wire into the fallback for "any config without a matching set" - the node degrades gracefully instead of erroring.

Install

Part of WorkflowX-Configurator. ComfyUI Manager → search WorkflowX Configurator, or:

cd ComfyUI/custom_nodes
git clone https://github.com/haroonaslam/WorkflowX-Configurator

Restart, hard-refresh. No extra Python dependencies.

Common issues

  • "No Relay value found for key 'x'." - no Set Relay with that key in an Active group and no fallback connected. Wire the fallback or fix the key.
  • Relay feels magic and breaks silently. Because rewiring happens at queue time, the canvas doesn't show which object will arrive. The pack's console_output option on the config controller can surface resolution diagnostics - turn it on while you're debugging.
  • Type confusion. The wildcard resolves to whatever's connected; make sure the Set Relay and the consumer expect the same type, since the node itself won't enforce it.

Bottom line: this is the node to reach for when config switching is about objects, not values. The pack is young and small, but Relay is its most genuinely useful idea - and the least visible, so expect a little trial-and-error your first time.

CategoryWorkflowX/Get Set Go

Inputs (2)

NameTypeDefaultDescription
keySTRING
valueopt*

Outputs (1)

NameTypeDescription
value*