Prism Echo
The chromatic afterimage effect that punches above its weight
- image
- mask
- image
- mask
- prism_echo_info
x1PrismEcho is a pure play node: it takes your image and echoes it out along an angled direction, offsetting each copy and splitting it chromatically, so you get that neon "motion afterimage" look - like a light streak, or a ghosted duplicate trailing off the subject with RGB fringing. It's the kind of effect that normally takes a multi-node chain of shift, color-split, and blend operations, compressed into one settings string.
It sits in MKRShift Nodes' VFX/Play branch - the pack's playground category, where the effects are there to be fun more than to be correct. There's a real place for that in finishing work: a subtle prism echo on a logo, a title card, or a highlight frame is the difference between "stock" and "designed."
How it works
The mechanism is a set of offset ghost copies, layered with decay. The settings:
echoes(default 4) - how many ghost copies trail outdistance(36) - how far each copy travels from the lastangle(24°) - the direction the trail heads. Compose it with your subject's motiondecay(0.62) - how fast each ghost fades. Low decay = long neon streaks, high decay = subtle depthchroma_split(0.45) - the RGB channel offset on each copy. This is what makes it prismatic rather than just a double-exposureglow(0.28) - softens and brightens the ghosts so they read as light rather than as hard copiesmix(1.0) - overall wet-dry blend with the original
All in a settings_json string, the pack's house style. The defaults are a solid "obviously an effect" starting point; you'll dial distance, angle, and decay first.
Inputs and outputs
Required: image and settings_json. Optional: mask, which restricts the echo to part of the frame. That's the professional move - echo the logo or the subject, keep the background clean.
image- the echoed, prismatic resultmask- the effective influence maskprism_echo_info- summary string of resolved settings
Where it fits
It's a stylize/finishing node with real mileage in motion-graphics-style stills: music covers, poster typography, product hero shots with "energy," retro-synth aesthetics. Because chroma_split and glow exist, you can go from a faint warm ghost (low split, low glow) to a full VHS-neon smear (high split, high glow) with the same node. It pairs naturally with the rest of VFX/Play - x1RippleWarp for distortion, x1Kaleido for symmetry - but it's also fine standalone on an otherwise clean graph.
One honest note: this is a "dose it carefully" effect. decay at 0.62 and four echoes reads as tasteful; crank echoes to 12 with chroma_split high and you've built a hallucination. If your client says "too much," pull mix down before you rebuild.
Installing it
ComfyUI Manager (search "MKRShift Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes
Restart, no requirements, no model downloads, no ffmpeg. The pack is a big install for a play effect - this is a "you're already using the pack" node, not a reason to install it. But it's a good example of how much polish the VFX branch gives you for free once you're in.
Where people get burned
Feeding it a full-frame busy image - the echo smears everything into a rainbow mess and it's hard to tell what went wrong. Start with a clean, high-contrast subject or use the mask input to confine the effect. Also, remember distance is in pixels: at high resolutions 36px is subtle, so scale it up with your image size.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| settings_json | STRING | {"echoes":4,"distance":36.0,"angle":24.0,"decay":0.62,"chroma_split":0.45,"glow":0.28,"mix":1.0,"mask_feather":12.0,"invert_mask":false} | — |
| maskopt | MASK | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |
| prism_echo_info | STRING | — |