sdxl tuple pass
The SDXL tuple passer for modular stacks
- sdxl tuple
- sdxl tuple
Some SDXL loaders don't hand out model, clip, and conditioning as separate outputs - they bundle everything into a single SDXL_TUPLE object that a matching consumer unpacks. The Aegisflow SDXL Tuple Pass is the passer for that bundle: one sdxl tuple in, the same tuple out. It's the least-common socket in the pack, but when you need it, you need it.
Why it exists
Like every passer in this pack, it exists to fight autowiring rot in modular workflows: ComfyUI and some custom node packs try to "fix" open required inputs by connecting whatever matching output is around, and a wrong-guess tuple can pull in settings from a different loader than the one you actually sampled with. Because this node's input is optional, it never triggers that fixing. It also works as a nameable target for Use Everywhere / Anything Everywhere invisible-broadcast nodes - rename it, target it from a sender, and the tuple arrives at runtime with no visible wire.
The practical use: a modular SDXL graph loads its tuple once and routes it to the sampling section, which holds this passer on its receptor so the module can be dropped in without dragging a fat wire across the canvas.
Inputs and outputs
- sdxl tuple (SDXL_TUPLE, optional) - passed through unchanged.
- Output: sdxl tuple (SDXL_TUPLE).
Empty input means a None output. Fine while a sender fills it at runtime; an error if you wire an empty passer into something that unpacks the tuple.
Installing it
Standard for the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/aegis72/aegisflow_utility_nodes
Restart ComfyUI, or install "AegisFlow Utility Nodes" via ComfyUI Manager. No downloads - the pack is pure Python over ComfyUI's existing types.
Where people get burned
Two things. First, an SDXL tuple only makes sense if you're actually running a loader that produces that bundle - if your graph loads model/clip/VAE separately, this socket is irrelevant. Second, the tuple here is only meaningful if the consumer can unpack it; a passer doesn't validate contents, it just relays. And as ever: nothing in and no sender means nothing out.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| sdxl tupleopt | SDXL_TUPLE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sdxl tuple | SDXL_TUPLE | — |