Nodes/roblox-comfyui-nodes/Mirror Effect Node
ComfyUI Node

Mirror Effect Node

Fake symmetry in one click

By VertexStudio·Created 2 years ago·Updated 2 years ago· 0
Mirror Effect Node
  • image
  • IMAGE
axis0
percentage0.50

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. 0 reflects left-to-right (the left part becomes the right half); 1 reflects 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.

CategoryImage Processing

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
axisCOMBO02 options: 0, 1
percentageFLOAT0.500–1

Outputs (1)

NameTypeDescription
IMAGEIMAGE