🏝️ Sliced Image Hub
Fan a sliced batch out into ten independent image streams
- image_batch
- sliced_commons
- count
- S1
- S2
- S3
- S4
- S5
- S6
- S7
- S8
- S9
- S10
The Sliced Upscaler hands you a batch of processed slices, and a batch is a dead end for per-slice work - you can't apply one LoRA to strip three and not the others while it's all packed into a single tensor. Sliced Image Hub is the un-fan: it takes an IMAGE batch and splits it into up to ten individual S1–S10 outputs, each shaped [1, H, W, C], ready for its own processing path.
It's the front half of the modular workflow the sliced ecosystem is built around. Image Hub → per-slice nodes → Slice Combiner Hub. Upscaler gives you the batch, the Hub separates it, your custom nodes do whatever they do per slice, and the Combiner merges it back. If you never plan to diverge the slices, this node is pure overhead - skip it and let the Combiner eat the batch directly.
The inputs and outputs
The only required input is image_batch. Optional: feathering (a toggle that mostly matters for keeping metadata in sync - the actual merging happens downstream), sliced_commons (which overrides feathering from the shared settings bundle when connected), plus the allow_external_linking and show_used_values flags the whole pack carries.
Outputs: count (INT, how many slices the batch actually had) and S1 through S10. Two details make it robust: it splits the batch on the batch dimension with image_batch[i:i+1], so each output is a proper single-image tensor, and any output slot beyond the actual count gets a black 64×64 dummy image instead of None. That dummy is a deliberate design call - a missing tensor would break downstream connections, so you get a harmless black square rather than a red error. The count output is there to tell you which outputs are real.
Installing it
Part of KDB-USJP/shima_wf:
cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf
Restart ComfyUI. No extra dependencies - pure tensor slicing.
Where it bites
The dummy-slice behavior is the main gotcha. If you connect all ten outputs but the upscaler only produced four slices, slots five through ten are silently black images, and if you then feed those to a Combiner, you'll assemble a canvas with black strips in it. Read count and only wire what you need, or check the used_values display for the actual count. Also remember the orientation question doesn't live here - the Hub just splits the batch; the geometry was decided upstream by the Sliced Upscaler or Sliced Commons. Keep those in sync and this node is a boring, reliable data-flow tool, which is exactly what it should be.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image_batch | IMAGE | — | |
| featheringopt | BOOLEAN | true | — |
| sliced_commonsopt | SLICED_COMMONS | — | |
| allow_external_linkingopt | BOOLEAN | true | — |
| show_used_valuesopt | BOOLEAN | true | — |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| count | INT | — |
| S1 | IMAGE | — |
| S2 | IMAGE | — |
| S3 | IMAGE | — |
| S4 | IMAGE | — |
| S5 | IMAGE | — |
| S6 | IMAGE | — |
| S7 | IMAGE | — |
| S8 | IMAGE | — |
| S9 | IMAGE | — |
| S10 | IMAGE | — |