SSG Smart Gate
An inline valve that detours your whole pipeline through a subgraph
- SSG_0
- SSG_1
- SSG_2
- SSG_3
- SSG_4
- SSG_5
- SSG_6
- SSG_7
- SSG_8
- SSG_9
- SSG_10
- SSG_11
- SSG_12
- SSG_13
- SSG_14
- SSG_15
- SSG_16
- SSG_17
- SSG_18
- SSG_19
- SSG_20
- SSG_21
- SSG_22
- SSG_23
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
- ◦
SSG Smart Gate is the master valve of the SSG Gate Trio - the one that sits inline in your main generation line and decides whether the data flows straight through or detours through a whole injection subgraph loop. If you've ever wanted to say "run the normal pipeline, but sometimes send it through that inpaint/refine subgraph first" without rewiring, this is the node. It's the SSG take on conditional routing: one boolean flips the entire downstream graph between two modes.
The trio works like this. The Gate is placed in the main line. An SSG Smart Gate Relay sits at the entrance of an injection subgraph, and an SSG Smart Gate Return at the end of it. The Gate manages two broadcast channels per loop, {channel}_TX and {channel}_RX: it pushes the incoming data out on the TX stream, and it listens on the RX stream for the loop's answer.
The single input that matters is injection_loop, a boolean (default off). With it off, the Gate is a pure passthrough - your 24 wildcard inputs (SSG_0–SSG_23) come straight back out the 24 ◦ outputs with zero compute, which is the README's "BYPASS" mode and honestly the state you'll mostly live in. Flip it on, and the Gate instead returns whatever landed on the RX channel - i.e., whatever the Relay/Return loop processed - while the TX stream carries the raw input into the loop. There's also a hidden gate_manifest that tracks the locked schema, plus the same schema_generation counter the other SSG nodes use to detect when a channel's shape changed.
The input/output shape is the same wildcard bus as the Pipe: 24 * slots in, 24 * slots out, so model/CLIP/VAE/latents all ride through. The outputs are what you wire onward - when injection is on, what comes out is the loop's result.
Reality check, because the trio is the most over-engineered-looking part of this pack: it all runs on the same in-process dict (torch._ssg_piperegistry) with _TX/_RX suffixed channels, so the ordering rule still applies - the Gate must execute, the Relay must read its TX before the loop needs it, and the Return must write RX before the Gate collects it. In a small graph the scheduler usually obliges; in a big one, keep the loop's nodes on a sane execution path. And the "zero compute overhead" bypass claim is accurate in the trivial sense: off means the inputs are returned untouched, no math happens.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/SgtSauv/ComfyUI-SSG-Smart-Suite.git
Restart, or Manager → search "SSG Smart Suite". No models to download and no Python dependencies (requirements.txt is a comment saying exactly that). The pack prints an Alienware-blue banner to the console on startup.
Common issues
- Loop never engages → check the Relay and Return are bound to the Gate's channel (
{channel}_TX/{channel}_RX) and that all three run in the right order. - Everything comes back empty when you flip injection on → the RX channel was empty at the moment the Gate read it; the Return either didn't run or wrote to a different channel.
- Support is thin → zero community signal on Reddit for this suite as of mid-2026; GitHub issues is your channel.
Inputs (25)
| Name | Type | Default | Description |
|---|---|---|---|
| injection_loop | BOOLEAN | false | — |
| SSG_0opt | * | — | |
| SSG_1opt | * | — | |
| SSG_2opt | * | — | |
| SSG_3opt | * | — | |
| SSG_4opt | * | — | |
| SSG_5opt | * | — | |
| SSG_6opt | * | — | |
| SSG_7opt | * | — | |
| SSG_8opt | * | — | |
| SSG_9opt | * | — | |
| SSG_10opt | * | — | |
| SSG_11opt | * | — | |
| SSG_12opt | * | — | |
| SSG_13opt | * | — | |
| SSG_14opt | * | — | |
| SSG_15opt | * | — | |
| SSG_16opt | * | — | |
| SSG_17opt | * | — | |
| SSG_18opt | * | — | |
| SSG_19opt | * | — | |
| SSG_20opt | * | — | |
| SSG_21opt | * | — | |
| SSG_22opt | * | — | |
| SSG_23opt | * | — |
Outputs (24)
| Name | Type | Description |
|---|---|---|
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |
| ◦ | * | — |