Glitch Pipeline

Reply to any cast with an image to glitch it — or generate one from a prompt and chain effects.

Glitch effect demo mask {:mode color} | rgb-shift {:masked true}

Source image below — all effect examples use this same input.

Original source image

Quick Syntax

SyntaxWhat it does
| or -> or |>Chain pipeline steps
>>Multi-line mode — each newline is a step
::NPrimary param shorthand (e.g. pixelate::12)
{:key value}EDN params — numbers auto-parse, strings need quotes
//Comment — stripped before parsing

Effects Reference

rgb-shift

rgbshift

Chromatic aberration via RGB channel offset.

ParamShortDefaultInfo
shiftsh15Uniform shift all channels
rShiftrsRed channel override
gShiftgsGreen channel override
bShiftbsBlue channel override
noise0.05Noise intensity
rgb-shift {:rShift 25 :bShift -15}
Presets :rgb-ghost :rgb-shatter
rgb-shift effect

pixel-sort

pixelsort

Shuffle rows by brightness with channel offset.

ParamShortDefaultInfo
sortFraction0.15Fraction of rows
threshold0.1Shuffle probability
shift5RGB channel offset px
lines3Scanline glitch lines
pixel-sort {:threshold 0.4 :shift 10}
Presets :sort-cascade :sort-bleed
pixel-sort effect

kaleidoscope

::N

Triangular mirror reflection with zoom, rotation, and pan.

ParamShortDefaultInfo
segments::N6Visual segments
zoomz1.5>1 zoom out, <1 zoom in
rotaterot0Rotate output 0/90/180/270
anglea0Rotate pattern degrees
x0Center offset % (±100)
y0Center offset % (±100)
sx0Source pan % (±100)
sy0Source pan % (±100)
sanglesa0Rotate source degrees
kaleidoscope::8 {:z 1.2 :sa 30}
Presets :kaleido-mandala :kaleido-crystal :kaleido-infinity
kaleidoscope effect

pixelate

::N

Block averaging mosaic.

ParamShortDefaultInfo
sizesz, ::N8Block size px
pixelate::12
Presets :pixel-8bit
pixelate effect

noise

::N

Random grain/noise overlay.

ParamShortDefaultInfo
intensityi, int, ::N35Noise strength
densityden0.8Fraction of pixels
noise::50
Presets :noise-film
noise effect

posterize

::N

Reduce color levels per channel.

ParamShortDefaultInfo
levelslv, ::N5Levels per channel
posterize::3
Presets :poster-retro
posterize effect

invert

Negative image — invert all or individual channels.

ParamShortDefaultInfo
channels"rgb""rgb" / "r" / "g" / "b"
invert {:channels rb}
invert effect

colorswap

color-swap colorshift color-shift

Seedable hue rotation with bands and luminosity preservation.

ParamShortDefaultInfo
seed::NrandomDeterministic seed 0–9999
bandsseed-driven1 / 2 / 3 bands
strengthstr, st1Blend original↔swapped 0–1
preserveLumapreserveLtrueKeep luminosity
colorswap {:seed 42 :bands 2}
Presets :color-psychedelic
colorswap effect

dither

::N

Ordered Bayer dithering with configurable matrix size and levels.

ParamShortDefaultInfo
sizesz, ::N4Dither matrix size
levelslv2Output levels
strength1Blend original↔dithered 0–1
dither::8
Presets :poster-retro :noise-film
dither effect

halftone

::N

Simulate continuous tones with discrete dots.

ParamShortDefaultInfo
sizesz, ::N6Dot size
mode"classic""classic" / "cmyk" / "line"
halftone::4 {:mode cmyk}
halftone effect

slice

slc

Band displacement — datamosh / VHS tracking look.

ParamShortDefaultInfo
mode"horizontal""horizontal" / "vertical" / "color"
bands3–12Total bands (random if not set)
offset2–15%Average shift per active band
density0.33Fraction of bands that shift
slice {:mode color :bands 8}
Presets :combo-slice-dither
slice effect

glow

bloom halo ::N

Luminosity-based glow/bloom with hue shift and blend modes.

ParamShortDefaultInfo
thresholdt, th, thresh0.5Luminosity cutoff 0–1
radiusr, rad20Blur radius px
intensityi, int, ::N1.0Brightness multiplier
passesp1Blur iterations 1–3
huehnullHue shift degrees
blendbl"addition"Blend mode
glow::2.0 {:t 0.3 :r 25 :h 180 :blend screen}
Presets :glow-soft :glow-bloom :glow-halo
glow effect

gradient

grad ::N

Color overlay — linear, radial, or conic with blend modes.

ParamShortDefaultInfo
mode"linear""linear" / "radial" / "conic"
colorc, c1#ffffffStart color hex/name
color2c2nullEnd color (null = fade to transparent)
directiond, dir, angle180Degrees for linear
x0Center offset %
y0Center offset %
opacityo, alpha, ::N0.50–1
featherf0Edge softness 0–1
blendbl"normal"Blend mode
gradient {:mode radial :c magenta :o 0.5 :blend screen}
Presets :color-duotone
gradient radial gradient linear gradient conic

lens-distortion

lensdistortion lens-distort ::N

Multiple distortion modes: barrel, pincushion, wave, swirl, spherical.

ParamShortDefaultInfo
mode"barrel""barrel" / "pincushion" / "wave" / "swirl" / "spherical"
strengthstr, st, ::NvariesIntensity (varies by mode)
lens-distortion {:mode barrel :strength 1.5}
lens barrel lens wave swirl globe

wave

::N

Sine wave displacement.

ParamShortDefaultInfo
frequency::N0.05Wave frequency
amplitude20Wave height px
wave::0.08
Presets :distort-wave

swirl

::N

Rotational distortion around center.

ParamShortDefaultInfo
strengthstr, st, ::N1.0Rotation amount
swirl::0.15
Presets :swirl-vortex :swirl-gentle :distort-funnel

barrel

::N

Barrel / pincushion lens distortion.

ParamShortDefaultInfo
strengthstr, st, ::N~1.0Distortion intensity
barrel::1.5
Presets :distort-funnel

spherical

::N

Spherical projection distortion.

ParamShortDefaultInfo
strengthstr, st, ::N~1.0Projection intensity
spherical::1.2
Presets :distort-globe

globe

::N

Superellipse globe lens with chromatic dispersion.

ParamShortDefaultInfo
power::NShape: 0=diamond, 1=circle, 100=square
strengthLens projection intensity
dispersionChromatic fringe intensity
radius0.65Lens boundary size
globe::2
Presets :distort-globe

Pipeline Actions

generate

action

Create an image from a text prompt (Flux Schnell/Dev).

ParamShortDefaultInfo
promptText description (positional)
--schnellyesFast generation (default)
--dev / --hqHigher quality, slower
--modelExplicit model name
aspect-ratioar"1:1""1:1" / "16:9" / "9:16" / "4:3"
::N0.57Strength 0–1
generate a cyberpunk cat Generate with default Schnell model

remix

action

Pull an image from the conversation thread into the pipeline.

ParamShortDefaultInfo
targetsmart"last" / "first" / "quote" / "prev" (smart fallback)
imageIndex11-based index for multi-image casts, e.g. :image 2
remix quote Remix the quoted cast's image

img2img

action

Transform image with a text prompt (Qwen AI).

ParamShortDefaultInfo
promptTransformation instruction (positional)
img2img make it look like a painting

mask

action pipeline

Selective effect application — next effect only applies within masked regions.

ParamShortDefaultInfo
mode"saturation"See mask modes below
thresholdtvariesMode-dependent
featherf0Edge softness 0–1
mask {:mode radial :r 0.5 :f 0.3} | kaleidoscope::6 Kaleidoscope only in the radial mask region
Presets :mask-neon :mask-saturation-pop :mask-edges-reveal

Mask Modes

Modes for the mask action. Each generates a different selection region.

saturation

Select pixels by saturation level. Low-saturation areas (grays/blacks) get masked out.

mask {:mode saturation :threshold 40} | posterize::3
saturation mask

radial

Circular gradient mask from center. Use r for radius, f for feather.

mask {:mode radial :r 0.5 :f 0.3} | kaleidoscope::6
radial mask

noise

Random noise-based mask. Use scale for grain size, f for feather.

mask {:mode noise :scale 0.03 :f 0.5} | rgb-shift {:shift 25}
noise mask

edges

Select based on edge detection. Use blur for pre-smooth, threshold for sensitivity.

mask {:mode edges :blur 3 :threshold 0.1} | colorswap
edges mask

Combo Walkthrough

Multi-step pipelines chaining effects together. Click any command to copy.

1 Glow + Gradient Overlay
gradient {:mode radial :c magenta :o 0.5 :blend screen} | glow::1.5 {:t 0.35 :r 35} glow gradient combo
2 Kaleidoscope + Noise + Glow
kaleidoscope::8 {:z 1.2 :sa 30} | noise::40 | glow::1.0 {:t 0.5 :r 15} kaleido noise combo
3 Dark Atmosphere
gradient {:mode linear :c #000022 :o 0.7 :blend multiply} | glow::2.5 {:t 0.2 :r 40 :p 2 :blend screen} dark atmosphere combo
4 Glitch Art
rgb-shift {:shift 20} | pixel-sort {:threshold 0.3} | glow::1.8 {:t 0.4 :r 20 :h 90 :blend screen} glitch art combo

Presets

Built-in presets available to everyone. Use :name to expand a preset in any pipeline. Override params with {:key value} after the preset name.

Kaleidoscope

:kaleido-mandala mask radial → k6 → glow
:kaleido-crystal mask radial → k4 zoomed → swirl
:kaleido-infinity k8 zoomed → k3 rotated

Pixel Sort

:sort-cascade sort vertical → sort horizontal
:sort-bleed heavy sort → glow

RGB Shift

:rgb-ghost mild rgb-shift → soft glow
:rgb-shatter heavy rgb → sort → noise

Mask Combos

:mask-neon color mask → colorswap → glow
:mask-saturation-pop sat mask → posterize → glow
:mask-edges-reveal edge mask → invert → glow

Distortion

:distort-wave wave horizontal → wave vertical
:distort-funnel barrel → swirl → glow
:distort-globe spherical → k2 masked

Glow / Light

:glow-soft ambient glow 0.3
:glow-bloom bloom 0.6 → glow 0.2
:glow-halo radial halo 0.5

Style

:poster-retro posterize 4 → dither 2
:pixel-8bit pixelate 8 → posterize 6
:noise-film noise → dither → posterize
:color-psychedelic colorswap → hue-rotate → glow
:color-duotone gradient overlay 2-color

Swirl

:swirl-vortex strong swirl → glow
:swirl-gentle subtle centered twist

Full Combos

:combo-glitch-art sat mask → rgb → sort → glow
:combo-ethereal luma mask → k6 → bloom → swirl
:combo-slice-dither random slice → dither → posterize

Usage

:kaleido-mandala Expand preset as the full pipeline
:kaleido-mandala {:threshold 70} | swirl::0.1 Override mask threshold, then chain swirl

Advanced

Snapshots

Save intermediate pipeline results. Use @name after any step to snapshot it, then reference it later with @name.

generate portrait @base | rgb-shift @shifted | @base | kaleidoscope::6 Snapshot base and shifted, reuse base for kaleidoscope

Custom Presets

Save your own effect combos with preset save <name>. Use :name to expand, {:key value} to override params. Your presets are personal — built-in presets are listed in the Presets section above.

:myglitch | glow::2.0 Expand a saved preset, then add glow

Range Sweep

Generate multiple outputs by sweeping a parameter across a range. Use {:param start..end :steps N}.

kaleidoscope::8 {:z 1.0..2.0 :steps 5} 5 images with zoom from 1.0 to 2.0