Difforum · Symmetry / Kaleidoscope
Mirror, quad, or a full kaleidoscope — on a frame or a whole batch
- image
- image
The most hypnotic thing in the Difforum promo reel is the kaleidoscope - and Difforum Symmetry is the node that makes it. It folds an image (or every frame of a batch) into mirror symmetry or an N-segment kaleidoscope, and it's the standalone version of the symmetry built into the Feedback Sampler.
You pick a mode: mirror_h, mirror_v, mirror_quad (four-fold), or kaleidoscope (N segments radiating from a center), then set segments (2 to 64) for the kaleidoscope, flip if you want alternating mirroring, and mix to blend the folded result back toward the original - 1.0 is full symmetry, 0.5 is a whisper of it. The optional center_x / center_y / angle let you shift or rotate the fold axis, which is how you stop a kaleidoscope from being perfectly boring.
The two ways people use it
Post-processing a still or clip. Feed a frame batch in, get a symmetric batch out. This is the safe, one-shot path: fold footage from Load Video or a finished render and see the pattern immediately.
Inside the loop (the good stuff). The Feedback Sampler's own symmetry and symmetry_segments parameters apply the same fold between warps and re-diffusion, every frame. Because the fold compounds and then the diffusion heals the seams, you get a living kaleidoscope that keeps growing on itself - the README's difforum_mesmerize_kaleidoscope.json is exactly that, and it's worth stealing the trick even if you never touch this standalone node. The standalone version is how you A/B the fold before committing it to a loop.
Inputs, install, gotchas
Inputs: image, mode, segments, flip, mix, and optional center_x, center_y, angle. Output: image.
Install is the shared pack one-liner:
cd ComfyUI/custom_nodes
git clone https://github.com/chillithebillis/Difforum.git difforum
Restart ComfyUI ([Difforum] loaded N nodes; ComfyUI Manager has it under "Difforum"). Deps: numpy only.
Three honest notes. First, mirror_h produces a left-right mirrored fold - text and asymmetric content will visibly flip, same physics as ping-pong. Second, high segments with low mix is where kaleidoscopes get seizure-y; dial mix down if it's too much. Third - and this is the one people get burned by - symmetry can't invent new content, it reuses what's in the frame, so a plain uniform frame stays a plain uniform frame no matter how many segments you ask for. Feed it something textured and it turns into jewelry.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| mode | COMBO | mirror_h | 5 options: none, mirror_h, mirror_v, mirror_quad, kaleidoscope |
| segments | INT | 62–64 | — |
| flip | BOOLEAN | false | — |
| mix | FLOAT | 1.000–1 | — |
| center_xopt | FLOAT | 0.500–1 | — |
| center_yopt | FLOAT | 0.500–1 | — |
| angleopt | FLOAT | 0-360–360 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |