Shima Glitch Effect
VHS-bleed your render into a glitchy, shot-on-camera mess
- images
- IMAGE
A clean diffusion render is a tell. Real footage has corruption - displaced scanlines, colour-channel bleed, the occasional shattered block of pixels. Shima.GlitchEffect adds exactly that: it glitches the image, with knobs for how hard, whether to offset the colour channels, and whether to overlay scan lines. It's the one-click shortcut to the "transmission corrupted" look that music videos and cyberpunk titles abuse, and it's a genuinely handy trick when you want a generated image to stop reading as generated.
The engine underneath is a third-party library called glitch-this, and that's the thing to know about this node before anything else. The pack's legacy.py imports ImageGlitcher from it, and on first use it auto-installs the glitch-this package via pip if it isn't present. So the first time you run this node you'll see a pip install happening in the console. That's expected, not an error - and it's the one node in this pack that pulls in a dependency ComfyUI doesn't ship. It's a small, innocuous library, but it's a reminder to glance at what any node installs into your Python environment.
Inputs:
- images (IMAGE) - the frames to glitch; batches are processed frame by frame.
- glitch_amount (FLOAT, 0.1–10, default 1) - the intensity of the displacement. Keep it around 1–2 for a tasteful digital artifact; push past 5 and you're in abstract corruption territory.
- color_offset (Disable / Enable) - shifts the RGB channels apart for that chromatic-aberration-on-crack look.
- scan_lines (Disable / Enable) - overlays horizontal scan lines, the CRT-tv signature.
- seed (INT, 0–100) - the random seed for the glitch pattern. Note the range: only 0–100, so you can't use it for meaningful per-image uniqueness across thousands of frames - fine for a single hero image, not a seed-reproduction system.
Output: IMAGE, same dimensions.
Where it fits in the bigger picture: this is the aesthetic side of the "AI look" fight. The post-processing doc has the receipts - the cheap, non-model moves (grain, aberration, scan lines) are what make AI output read as captured rather than rendered. GlitchEffect bundles the aberration and scan-line halves of that into one node. Pair it with a film-grain pass and you've got the whole "shot on a broken camcorder" recipe without a single extra model.
Two honest caveats. First, the deterministic randomness means re-running with the same seed and amount gives the same corruption - good, actually, for matching a style. Second, the output keeps the original resolution and can look muddy if you glitch before upscaling; the usual move is to glitch at final resolution so the displacement is crisp. And if you see a pip install in the console on first run, that's the glitch-this dependency arriving - not something broken.
Install the pack via ComfyUI Manager (search "Shima") or
cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf
then restart.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| glitch_amountopt | FLOAT | 1.000.1–10 | — |
| color_offsetopt | COMBO | 2 options: Disable, Enable | |
| scan_linesopt | COMBO | 2 options: Disable, Enable | |
| seedopt | INT | 00–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |