Nodes/ComfyUI-VideoTransition/Video Glitch Art Transition
ComfyUI Node

Video Glitch Art Transition

Cyberpunk glitch cuts — signal interference, data moshing, pixel sorting, matrix rain

By yichengup·Created 12 months ago·Updated 11 months ago· 25
Video Glitch Art Transition
  • video1
  • video2
  • video
◄glitch_style▾►
◄total_frames36►
◄fps24►
◄glitch_intensity1.00►
◄corruption_rate0.30►
◄scanline_frequency5.00►
◄noise_amount0.20►
◄digital_artifactstrue►
◄color_bleedingtrue►
◄screen_teartrue►
◄use_gputrue►
◄batch_size6►
◄background_color#000000►
◄width640►
◄height640►
◄quality90►

The glitch transition is the pack's cyberpunk centerpiece, and it's the one people usually discover first. Instead of a clean cut, video1 dissolves into static, scanlines, crushed data blocks, RGB bleed - the whole VHS-melted-in-a-storm aesthetic - and reassembles as video2. Four distinct looks: signal_interference, data_moshing, pixel_sorting, and matrix_rain. It's theatrical and it's overused, which is exactly why it's popular for intros and bass drops. If your edit already has this aesthetic everywhere, skip it; if you need one tasteful digital-breakdown moment, this is your node.

How it works

This is the WebGL branch - the most demanding renderer in the pack. Frames go into a headless Chromium page as base64, and the effects run as WebGL/GLSL shaders in the browser rather than CSS: signal_interference is classic static + scanline tearing, data_moshing crushes and blocks the pixels like a broken codec, pixel_sorting rearranges rows of pixels by brightness (that streaky digital smear), and matrix_rain is green katakana rain over the cut. Note the use_gpu default here is true - these shaders want the GPU, and they're the pack's most resource-hungry nodes.

Inputs and outputs that matter

  • video1, video2 - the two clips.
  • glitch_style - the four-way enum. This is the whole show; pick the mood first.
  • glitch_intensity (0.1–3) - how violent the disruption is.
  • corruption_rate (0.1–0.8) - how much of the frame is corrupted at the peak.
  • scanline_frequency (1–20) - density of the scanlines.
  • noise_amount (0–0.5) - static/grain level.
  • digital_artifacts, color_bleeding, screen_tear - three toggles for extra crushing, RGB fringing, and horizontal tearing. All default on; turn them down if it gets messy.
  • total_frames (4–120, default 36), fps (default 24) - glitches read best short and violent.
  • use_gpu, batch_size, background_color, width/height (up to 3840), quality.

Output is video - an IMAGE batch; feed it to VHS_VideoCombine or ImageBatch to export.

Installing it

Same pack. ComfyUI Manager → "VideoTransition", or:

cd ComfyUI/custom_nodes
git clone https://github.com/yichengup/ComfyUI-VideoTransition
cd ComfyUI-VideoTransition
pip install -r requirements.txt
playwright install chromium

Chromium is required - WebGL runs inside the headless browser.

Common issues

  • Missing Chromium crash - playwright install chromium (with --mirror=https://registry.npmmirror.com behind the GFW).
  • Slow render / high VRAM - WebGL + GPU + screenshots adds up. If it's chugging, drop fps/duration first, then total_frames, and consider use_gpu off (Swiftshader software rendering - slower but predictable).
  • Glitch too chaotic to see the cut - back glitch_intensity off toward 1 and shorten total_frames. The effect lands when it's a flash, not a feature.
  • Black background bleeding through - on matrix_rain especially, the background_color shows between the falling glyphs; set it to match your video.
CategoryVideoTransition

Inputs (18)

NameTypeDefaultDescription
video1IMAGE—
video2IMAGE—
glitch_styleCOMBO4 options: signal_interference, data_moshing, pixel_sorting, matrix_rain
total_framesINT364–120—
fpsINT2415–60—
glitch_intensityoptFLOAT1.000.1–3—
corruption_rateoptFLOAT0.300.1–0.8—
scanline_frequencyoptFLOAT5.001–20—
noise_amountoptFLOAT0.200–0.5—
digital_artifactsoptBOOLEANtrue—
color_bleedingoptBOOLEANtrue—
screen_tearoptBOOLEANtrue—
use_gpuoptBOOLEANtrue—
batch_sizeoptINT61–15—
background_coloroptSTRING#000000—
widthoptINT640640–3840—
heightoptINT640360–2160—
qualityoptINT9060–100—

Outputs (1)

NameTypeDescription
videoIMAGE—