ComfyUI Node Runs on cloud

Unpack SDXL Tuple

Unpack SDXL Tuple

By jags111·Created 3 years ago·Updated 4 months ago· 1,485
Unpack SDXL Tuple
  • sdxl_tuple
  • BASE_MODEL
  • BASE_CLIP
  • BASE_CONDITIONING+
  • BASE_CONDITIONING-
  • REFINER_MODEL
  • REFINER_CLIP
  • REFINER_CONDITIONING+
  • REFINER_CONDITIONING-

This is the other half of Pack SDXL Tuple. Where Pack bundles the eight SDXL base+refiner wires into one tidy SDXL_TUPLE line, Unpack takes that bundle and expands it back into its eight individual connections. You use them as a pair: pack near your loaders, route the single wire across a messy graph, unpack wherever you need the real model, CLIP, and conditioning again. It's pure plumbing in service of keeping an SDXL workflow readable - which is the whole reason the Efficiency Nodes pack exists.

How it works

Nothing is transformed; the tuple is just a container, and this node opens it. Feed in one SDXL_TUPLE and you get eight typed outputs back, in the same order they went in. From there they wire into whatever needs the individual pieces - a KSampler, a conditioning tweak, a separate refiner branch.

The inputs and outputs

One required input: sdxl_tuple (SDXL_TUPLE), straight from a Pack SDXL Tuple node or a tuple-emitting sampler.

Eight outputs, matching the pack order exactly:

  • BASE_MODEL, BASE_CLIP, BASE_CONDITIONING+, BASE_CONDITIONING-
  • REFINER_MODEL, REFINER_CLIP, REFINER_CONDITIONING+, REFINER_CONDITIONING-

No settings - it's a splitter.

Where it earns its keep

Here's the genuinely useful trick, and it's grounded in a real, long-standing quirk of this pack: LoRA stacks applied through the Efficiency SDXL flow only reach the base model, not the refiner. The community confirmed this by deconstructing the setup - the refiner stage never sees the LoRA. Unpack SDXL Tuple is the escape hatch. Split the tuple, take the REFINER_MODEL and REFINER_CLIP outputs, run them through a LoRA loader yourself, and you can force the LoRA into the refiner branch that the packed flow skips. One user did exactly this and got the output they expected.

So beyond neatness, Unpack is what lets you reach inside the SDXL pipeline and fix things the consolidated nodes don't expose.

Installing it

ComfyUI Manager → search Efficiency Nodes for ComfyUI, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/jags111/efficiency-nodes-comfyui

Restart ComfyUI. No model downloads - your checkpoints and CLIP come in through the tuple.

Common issues

It only accepts a real SDXL_TUPLE, so it has to be fed by a Pack SDXL Tuple node or a compatible sampler output - you can't hand it loose models. If the connection won't take, that's a type mismatch, not a bug.

Watch the output order when you rewire. Base and refiner conditioning are eight nearly identical-looking wires, and crossing a positive with a negative won't error - it'll just quietly ruin the image. Label them if your graph is dense.

Worth restating the honest context: SDXL's refiner is the part of the two-stage design the community "promptly ignored half of." If you're not actually running a refiner, you don't need the pack/unpack pair at all - it's only worth the nodes when both stages are live.

Pack-wide: IMPORT FAILED at startup (the recurring pip freeze non-zero exit) takes the whole pack down. Update ComfyUI, update the node, verify the Python environment.

CategoryEfficiency Nodes/Misc

Inputs (1)

NameTypeDefaultDescription
sdxl_tupleSDXL_TUPLE

Outputs (8)

NameTypeDescription
BASE_MODELMODEL
BASE_CLIPCLIP
BASE_CONDITIONING+CONDITIONING
BASE_CONDITIONING-CONDITIONING
REFINER_MODELMODEL
REFINER_CLIPCLIP
REFINER_CONDITIONING+CONDITIONING
REFINER_CONDITIONING-CONDITIONING