Content Shuffle
The T2I-Adapter style preprocessor (and a sneaky variety trick)
- image
- IMAGE
This is the odd one out in the preprocessor pack. Most of these nodes extract structure - edges, depth, a pose skeleton - so a ControlNet can lock down where things go. Content Shuffle does the opposite. It takes your image and scrambles it, deliberately destroying the layout while keeping the colors and textures. That shuffled mess is the whole point: it's the hint image for the T2I-Adapter style model, which transfers palette and mood from a reference without copying its composition. Think "give me a new scene that feels like this photo," not "trace this photo."
It's a bit of a period piece. T2I-Adapters were the lightweight cousin of ControlNet from the SD 1.5 / early SDXL days, and the style adapter never really got rebuilt for Flux or the newer bases - IP-Adapter ate that lunch. So if you're on a modern model, this probably isn't the style-transfer tool you're reaching for. But it's not dead weight, and there's a genuinely fun second life for it below.
How it works
The mechanism is exactly what the name says. The node slices your image into pieces and reshuffles them into a jumbled grid - a color-and-texture soup with no coherent structure left. Feed that to the t2iadapter_style adapter and the model can only learn "what this image is made of" (the colors, the vibe, the material feel), because you've torched everything that would tell it "what this image is." That's how you get style without composition bleed. The shuffle is randomized, so the same input gives you different scrambles depending on the seed.
The inputs and output
Three inputs, and only two you'll actually touch:
image- your style reference.resolution(default 512) - processing size; match it to your render.seed(default 0) - controls the shuffle randomization. Same seed, same scramble; change it to reshuffle. This is the knob that makes the node interesting for the trick below.
The single output is an IMAGE - the shuffled hint - which wires into a ControlNet / T2I-Adapter Apply node with the t2iadapter_style model loaded. On its own it does nothing; it's inert until that adapter is in the graph.
Installing it
ComfyUI Manager: search ComfyUI's ControlNet Auxiliary Preprocessors, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Fannovel16/comfyui_controlnet_aux
pip install -r requirements.txt
Then restart ComfyUI. The shuffle itself is pure image processing - no model download for the node. What you do need separately is the t2iadapter_style adapter file if you want to use it for its original purpose.
Where people get burned
The big one: this node only makes the hint. The actual style transfer is done by the T2I-Adapter style model, which is a separate download, and it's an SD 1.5 / SDXL-era file. There's no Flux or Z-Image equivalent, so don't expect to plug Content Shuffle into a 2026 workflow and get style transfer - on current bases, IP-Adapter is the tool for "make it feel like this," full stop.
Here's the redemption arc, though. The seed input makes Content Shuffle a handy variety generator, and people actually use it that way right now. The trick: feed your last output back through the shuffle and use the scrambled result to perturb the next generation - bumping the seed nudges composition and color around so a batch doesn't come out samey. There's a recent Z-Image "shuffle randomizer" workflow doing exactly this, pairing Content Shuffle with a feedback loop and a moderate denoise (around 0.7–0.8 once you've got a base image you like). So the node outlived its original job as a low-effort randomness knob. Not what it was built for - arguably more useful than what it was built for.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| resolutionopt | INT | 51264–16384 | — |
| seedopt | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |