Mirror Effect Node
Fake symmetry in one click
- image
- IMAGE
Mirror Effect Node is a small, sharp little image tool: it takes one half of an image and reflects it onto the other half, turning whatever you fed it into a symmetric pattern. This is the trick behind a lot of "kaleidoscope" and mirrored-pattern decal work - and, given the pack it ships in, almost certainly someone's shortcut for making symmetric Roblox livery and sticker designs without drawing both sides.
How it works
Three inputs, one output:
- image (IMAGE) - whatever you want mirrored.
- axis (INT, 0 or 1) - the direction of the mirror.
0reflects left-to-right (the left part becomes the right half);1reflects top-to-bottom (the top becomes the bottom half). - percentage (FLOAT, 0–1, default 0.5) - where the cut happens. 0.5 mirrors at the halfway point, giving a perfect symmetrical image. Smaller values reflect only a sliver; larger values reflect most of the image.
Under the hood it's plain PIL: crop the left (or top) portion at the percentage point, flip it with transpose, and paste the result over the other half. The output is a full IMAGE tensor you can wire anywhere.
The two things that will bite you
Alpha is binary. The node converts to RGBA and sets every pixel's alpha to either 0 or 1 - fully transparent or fully opaque, nothing in between. A soft-edged or semi-transparent source will come out with hard, cut-out-looking edges. If you're mirroring generated art with feathered edges, expect to clean that up downstream.
The endpoints do nothing. At percentage = 1.0, the code flips the entire image and pastes it starting at the far edge - entirely off-canvas, so your image comes back unchanged. At 0.0, it flips nothing. The useful range is strictly 0 < percentage < 1, and the mirroring is what makes the output meaningful. Also note the flip overwrites the destination half rather than blending with it - the reflected side wins outright.
One more: the node squeezes the input tensor, so it's built for single images, not batches. Feed it a batch and the results are unpredictable.
Installing it
Part of the roblox-comfyui-nodes pack, installed the standard way:
cd ComfyUI/custom_nodes
git clone https://github.com/VertexStudio/roblox-comfyui-nodes
Restart ComfyUI, or search roblox-comfyui-nodes in ComfyUI Manager. No requirements.txt, no model files - it's pure PIL over the IMAGE tensors ComfyUI already passes around. It shows up under Image Processing.
When you'd reach for it
Any time you want a design to be symmetric fast: mirrored decals, symmetric badges, pattern tiles where one half defines the whole. It's not a substitute for a proper image editor when you need to blend the seam, but for "make this half into a whole symmetrical shape" it's a one-node job. Keep percentage in the open interval (0, 1), mind the hard alpha, and it's genuinely useful.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| axis | COMBO | 0 | 2 options: 0, 1 |
| percentage | FLOAT | 0.500–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |