Split Image
The two-second left/right splitter you'll stop thinking about
- image
- left
- right
ImageSplit does exactly one thing: cuts an image straight down the middle and hands you the left half and the right half. No parameters, no dropdowns, no hidden modes. One image in, two images out. It's about as thin as a node gets, and that's the point - it's glue, not a feature.
Where you'll actually want it is the workflow where the other end of this pack builds images. Comfyui_PDuse is full of comparison-image assemblers - nodes that glue two pictures side by side and slap labels under them so you can eyeball "original vs. result" on one canvas. Once you've saved that comparison and want the halves back - upscale each side at different settings, run different branches on them, or export them as separate files - ImageSplit is the unwinder. Feed the combined image in, and left and right come out as independent IMAGE tensors you can route anywhere.
How it works
Under the hood it's one slice. Images in ComfyUI are B,H,W,C tensors, and ImageSplit cuts along the width at the midpoint, (W+1)//2. The left output gets everything before the cut, the right gets everything after. Two details worth knowing:
- On odd-width images the left half picks up the extra pixel. Off by one, who cares.
- It slices the whole batch at once, so it works on image lists and multi-frame batches without looping.
Inputs and outputs
image(IMAGE) - anything that outputs an IMAGE: Load Image, a VAE decode, another node's output.left/right(IMAGE) - the two halves, ready to wire onward.
That's the whole schema. There is genuinely nothing else to set.
Gotchas (both of them)
First: it's a left/right split, not top/bottom. "Split" makes people expect rows, and rows aren't here - if you want halves stacked vertically you'll need to rotate the image first or reach for a different node. Second: it's a hard cut at the exact midpoint. If your source is a comparison image with a divider line down the center, each half inherits a sliver of that line - crop it off first or live with a thin seam. Neither is a bug, both are "read the label before you wire it."
Install
It ships with the Comfyui_PDuse pack, so install is pack-level. Easiest via ComfyUI Manager: search for "Comfyui_PDuse" and install. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/7BEII/Comfyui_PDuse
cd Comfyui_PDuse
pip install -r requirements.txt
The pack's requirements.txt is heavier than this node deserves - scipy, opencv-python, openpyxl and friends are for the pack's Excel/text/batch tools, not for ImageSplit. If you're only here for the image utilities you can skip the install and it still works, because the pack loads its modules one at a time and a missing dependency only skips that one node instead of crashing ComfyUI. No model files needed for anything in this pack.
It's the sort of node that never makes the front page of r/comfyui - nobody posts about a left/right splitter, and nothing has broken it for anyone, because there's nothing to break. It'll quietly save you from hand-typing crop coordinates every single time you need a clean half.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| left | IMAGE | — |
| right | IMAGE | — |