Nodes/RyanOnTheInside/Flex Image Glitch βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
ComfyUI Node

Flex Image Glitch βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜

Five different flavors of digital breakage, on demand

By ryanontheinsideΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 852
Flex Image Glitch βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
  • images
  • opt_feature
  • IMAGE
β—„strength1.00β–Ί
β—„feature_threshold0.00β–Ί
β—„feature_paramβ–Ύβ–Ί
β—„feature_moderelativeβ–Ί
β—„glitch_typedigitalβ–Ί
β—„intensity0.50β–Ί
β—„block_size32β–Ί
β—„wave_amplitude0.10β–Ί
β—„wave_frequency5.0β–Ί
β—„corruption_amount0.10β–Ί
β—„time_seed0β–Ί

This is the pack's do-everything glitch effect, and it's genuinely one of the richer nodes here - five distinct glitch styles, each with its own character, and the whole thing can be driven by a reactive Feature so the corruption intensifies with a beat, a motion spike, or anything else you've extracted elsewhere in RyanOnTheInside's system.

The five glitch types

glitch_type is the first decision to make, because it changes what the rest of the parameters actually do: digital gives modern RGB-shift-and-block-displacement artifacts (the "corrupted video file" look); analog simulates old CRT/tape issues - scan lines, ghosting, vertical hold problems; compression mimics JPEG-style block corruption and quantization artifacts; wave applies smooth, layered wave-based distortion rather than hard breakage; corrupt scatters random line and block corruption for a more chaotic, data-loss feel.

intensity (0–1, default 0.5) is the overall strength across all five types. Beyond that, the shared numeric parameters lean toward digital/compression-style effects: block_size (8–128) sets how large the corrupted blocks are - bigger blocks read as more "chunky," smaller ones as finer static; wave_amplitude and wave_frequency control the height and speed of wave-based displacement, most relevant to wave but layered into others too; corruption_amount governs how often and how severely corruption artifacts appear; and time_seed (0–10000) fixes the random pattern used for corruption - the same seed reproduces the same glitch shapes, which matters if you need a repeatable look across renders.

Feature modulation

feature_param picks which single parameter a connected feature drives: intensity, block_size, wave_amplitude, wave_frequency, corruption_amount, time_seed, or None. Driving time_seed with a feature is worth calling out specifically - since the seed determines the glitch pattern, modulating it makes the corruption shapes themselves change over time rather than just getting stronger or weaker, which reads very differently from modulating intensity. feature_mode (relative/absolute), feature_threshold, and strength behave as they do across the rest of the Flex family.

Inputs and outputs that matter

  • images - required.
  • glitch_type - decide this first; it reframes what every other setting is doing.
  • intensity - the fastest way to dial the effect up or down once you've picked a type.
  • opt_feature (optional) - for reactive glitching; try targeting time_seed for pattern variation instead of just intensity for strength.

Output is a single IMAGE.

How to install it

Via ComfyUI Manager, search "RyanOnTheInside." Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt

then restart. Pure image processing - no model download, no external service.

Common issues & troubleshooting

Effect looks nothing like what you expected. The five glitch_type options are genuinely different algorithms, not variations on a theme - if you picked wave expecting hard block corruption, or analog expecting sharp RGB splits, you'll be disappointed by a node that's actually working correctly. Cycle through all five on the same frame once to see what each actually produces before committing to a look.

Same glitch pattern repeats even though you want variation. That's time_seed sitting fixed. Either randomize it manually per run, or drive it with a feature so it changes across your sequence instead of staying locked to one pattern.

Effect is too subtle at low intensity but jumps too far at higher values. intensity interacts with the type-specific parameters (block_size, corruption_amount, etc.) rather than being a clean linear dial on its own - if the jump feels abrupt, try holding intensity moderate and adjusting the type-specific parameter instead for finer control.

CategoryRyanOnTheInside/FlexFeatures/Targets/Images

Inputs (13)

NameTypeDefaultDescription
strengthFLOAT1.000–1Overall strength of the effect (0.0 to 1.0) Higher values create more dramatic changes, while lower values are more subtle.
feature_thresholdFLOAT0.000–1Minimum feature value to trigger the effect (0.0 to 1.0) Only applies the effect when the feature value exceeds this threshold. Lower values make the effect more sensitive, higher values make it more selective.
feature_paramCOMBOChoose which parameter to modulate: - intensity: Dynamically adjust overall glitch strength - block_size: Dynamically adjust artifact size - wave_amplitude: Dynamically adjust wave distortion - wave_frequency: Dynamically adjust wave patterns - corruption_amount: Dynamically adjust glitch frequency - time_seed: Dynamically change random patterns - None: No parameter modulation
feature_modeCOMBOrelativeHow to apply the feature modulation: - relative: Changes are centered around the original value - absolute: Changes scale directly from zero to the maximum
imagesIMAGEInput image sequence to be processed (IMAGE type)
glitch_typeCOMBOdigitalType of glitch effect to apply: - digital: Modern digital artifacts with RGB shifts and block displacement - analog: Classic TV distortion with scan lines, ghosting, and vertical hold issues - compression: JPEG-like artifacts with block corruption and quantization - wave: Smooth wave-based distortions with multiple harmonics - corrupt: Random data corruption with line and block artifacts
intensityFLOAT0.500–1Overall strength of the glitch effect. Higher values create more pronounced distortions (0.0 to 1.0)
block_sizeINT328–128Size of blocks for digital glitches and compression artifacts. Larger sizes create more visible blocks (8 to 128)
wave_amplitudeFLOAT0.100–1Height of wave distortions. Controls the magnitude of wave-based displacement (0.0 to 1.0)
wave_frequencyFLOAT5.00.1–20Frequency of wave patterns. Higher values create more rapid oscillations (0.1 to 20.0)
corruption_amountFLOAT0.100–1Probability and intensity of corruption artifacts. Affects how often and how severely glitches occur (0.0 to 1.0)
time_seedINT00–10000Seed for random glitch generation. Same seed produces consistent glitch patterns (0 to 10000)
opt_featureoptFEATUREOptional feature input for modulation Connect any feature node here to control the effect. Features can come from audio, motion, color, or other sources.

Outputs (1)

NameTypeDescription
IMAGEIMAGEβ€”