LayerFilter: ChannelShake
ChannelShake
- image
- image
ChannelShake is the chromatic-aberration / RGB-split effect - that glitchy look where the red, green, and blue channels are offset from each other so edges fringe into colored ghosts. You've seen it on retro-VHS aesthetics, cyberpunk UIs, "damaged signal" title cards, and anywhere someone wanted an image to feel a little broken on purpose. This node does it directly by sliding the color channels apart from one another.
The controls:
- distance - 1 to 999, default 20. How far the channels are pushed apart. Small values (5–15) give a subtle lens-fringe realism; big values give a full-on glitch/split.
- angle - -360 to 360, default 40. The direction of the shift. So you can fringe horizontally, vertically, or on any diagonal. Combined with distance, this is what makes the effect feel intentional rather than random.
- mode - the channel ordering, chosen from six permutations:
RGB,RBG,BGR,BRG,GBR,GRB. This controls which channels move relative to which, so it changes which colors fringe out and in which direction. It's worth just clicking through them - each ordering gives a distinctly different color character to the split.
Feed an image, get the shaken image back.
Where it fits: pure stylization. At low distance it mimics real chromatic aberration for a "shot on a cheap lens" or filmic-imperfection vibe; at high distance it's a glitch-art staple. It layers beautifully with the rest of the pack's filters - a little ChannelShake plus Film grain plus a ColorMap tint gets you a convincingly degraded, analog-horror or retro-tech look. It's also a nice finishing touch on otherwise-clean AI renders when you want to knock the "too perfect" sheen off them.
Nothing tricky here, and no failure modes worth inventing - it's a self-contained pixel effect with no models to download. The only real advice is taste: the effect reads as "glitch" instantly, so a light touch (low distance) is what sells realism, while big offsets commit fully to the stylized look. Pick a lane and don't leave it hovering in the awkward middle.
Install is the pack standard. Easiest is ComfyUI Manager - search ComfyUI Layer Style (or "LayerStyle"), install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/chflame163/ComfyUI_LayerStyle, then pip install -r requirements.txt from inside the folder using ComfyUI's Python, and restart. On a hosted ComfyUI it's usually preinstalled.
The pack-wide thing to know: Layer Style is well known for import failures - install it, restart, and the whole node set shows up red or missing. It's rarely the individual node; it's a dependency clash. The pack pulls a heavy stack (transformers, onnxruntime, opencv), and one mismatched version - a stray transformers or tensorflow in the environment being the classic - takes the entire pack down on import. The fix: read the ComfyUI startup log for the traceback (it names the package that actually failed), reinstall requirements against ComfyUI's own Python, and use Manager's Try Fix. If ChannelShake is missing, so is every other LayerStyle node, and that shared import failure is the real problem underneath.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| distance | INT | 201–999 | — |
| angle | FLOAT | 40.0-360–360 | — |
| mode | COMBO | 6 options: RGB, RBG, BGR, BRG, GBR, GRB |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |