Animated Stripes (Purz)
Equalizer bars, camo, and rolling waves
- image
Stripes are the most workhorse pattern there is - and PurzAnimatedStripes is the one that makes them move. A wave rolls through your stripe pattern frame by frame, so vertical bars sway, diagonal stripes crawl, and the whole thing turns into a looping background that's begging to be a video. It's the animated counterpart to the pack's plain Stripes Pattern node, and it's the most "music visualizer" of the four Purz/Patterns/Animated nodes - tilt the stripes horizontal and you're basically building equalizer bars.
From ComfyUI-Purz by PurzBeats (a Comfy Org staffer). Same wave engine as the other animated patterns; the base pattern is just stripes, with more direction options than the checkerboard version.
How it works
Draw a stripe pattern, generate an animating wave, combine the two with a math operation, map to a color ramp, repeat per frame. Output is a full IMAGE batch - one frame per frame_count - ready for a video combiner or a quick preview loop.
The geometry knobs are simple but worth knowing:
- stripe_width - 1–256, the thickness of each stripe. Thin stripes + a gentle wave = fabric or camo-ish texture; thick stripes + a strong wave = bold graphic motion.
- direction -
horizontal,vertical,diagonal_right, ordiagonal_left. Diagonal stripes are where this node gets interesting - rolling diagonals read as motion even at low wave factors, which makes them great for conveyor-belt or "energy flow" backgrounds.
The inputs that matter
- width / height - canvas size (64–4096).
- color1 / color2 - hex colors, blended through the color ramp. High-contrast pairs (white/black) give clean barcode motion; close, muted pairs give a subtle shifting sheen.
- frame_count - number of frames, up to 300. Your length control.
- wave_type -
sine,cosine,square,triangle,sawtooth. The defaultsineis smooth;squaregives abrupt on/off banding that can look like a hard matte shifting. - wave_direction - defaults to
horizontalhere, which makes the stripes sway left and right.verticalrolls them up/down;radialanddiagonalare the wilder options. - wave_scale - wave frequency. Lower = slower, longer waves.
- wave_factor - 0–2, how strongly the wave bends the stripes. 0 = static stripes.
- math_operation - how the wave combines with the stripes (
add,multiply,maximum,power…). - reverse_phase - flips the direction of travel.
- color_ramp_type -
linear,ease,b_spline,cardinal,constant.
Output is image, an IMAGE batch with frame_count frames.
Installing it
ComfyUI Manager - search ComfyUI-Purz - or:
cd ComfyUI/custom_nodes/
git clone https://github.com/purzbeats/ComfyUI-Purz.git
cd ComfyUI-Purz
pip install -r requirements.txt
Restart ComfyUI and you're done. Requirements are OpenCV, Pillow, torch, numpy - all already present in a stock ComfyUI install, no models to fetch.
Where people get burned
The classic mistake is pairing wave_shape and wave_type values that fight each other and getting jagged output - if your stripes look glitchy rather than wavy, back off to sine on both and reintroduce one at a time. Also remember wave_direction controls the wave's sweep, not the stripe angle; direction controls the stripes. Mix them up and you can get perpendicular motion that looks like a weave - which is honestly kind of cool, but it's easy to not realize why it happened. As always with animated nodes, prototype at low resolution; 300 frames of high-res stripes is a real render.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51264–4096 | — |
| height | INT | 51264–4096 | — |
| stripe_width | INT | 201–256 | — |
| direction | COMBO | vertical | 4 options: horizontal, vertical, diagonal_right, diagonal_left |
| color1 | STRING | #FFFFFF | — |
| color2 | STRING | #000000 | — |
| frame_count | INT | 301–300 | — |
| wave_type | COMBO | sine | 5 options: sine, cosine, square, triangle, sawtooth |
| wave_scale | FLOAT | 0.100.01–1 | — |
| wave_direction | COMBO | horizontal | 4 options: horizontal, vertical, diagonal, radial |
| wave_shape | COMBO | sine | 3 options: sine, square, triangle |
| math_operation | COMBO | add | 12 options: add, subtract, multiply, divide, power, minimum, +6 |
| wave_factor | FLOAT | 0.500–2 | — |
| reverse_phase | BOOLEAN | false | — |
| color_ramp_type | COMBO | linear | 5 options: linear, ease, b_spline, cardinal, constant |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |