Video Blinds Transition
Window-blind transitions — horizontal, vertical, or diagonal slats flipping between clips
- video1
- video2
- video
The blinds transition is the classic "shutters" wipe: your frame is divided into horizontal (or vertical, or diagonal) slats, and they rotate over, like a window blind closing - except each slat is revealing video2 on its back. It's a clean, architectural cut that sits nicely between a plain crossfade and the full 3D theater of the cube nodes. If you want a transition that reads as deliberate without being gimmicky - titles, section breaks, corporate-but-stylish intros - this is the one. And it's the node where the pack's CSS3 rendering approach genuinely shines, because the slats are real 3D-flipped elements, not a warp trick.
How it works
Chromium branch: video1 and video2 are baked onto both sides of a set of CSS 3D transform "slats," and a headless Chromium (Playwright) animates each slat flipping, screenshotting every frame back into an IMAGE tensor. blinds_count sets how many slats; flip_duration is how long each slat takes to turn; and stagger_delay offsets each slat from its neighbor, which is what turns a synchronized flip into that satisfying cascading wave. The four blinds_direction options - horizontal, vertical, diagonal_right, diagonal_left - set the slat orientation. Horizontal blinds (slats running across the frame, flipping up/down) are the default and the most legible.
Inputs and outputs that matter
video1,video2- the two clips, sampled by progress.blinds_direction- the four-way enum above.blinds_count(4–30, default 4) - number of slats. 4 is bold and readable; 30 is fine Venetian-blind texture that gets expensive.flip_duration(0.3–1, default 0.6) - per-slat flip time.stagger_delay(0–0.2, default 0.05) - the cascade offset. 0 = everything flips at once; 0.05–0.1 gives the wave.total_frames(4–300, default 24) andfps(default 24) - a fast, percussive wipe is the look; the defaults are already in the right place.use_gpu(off by default),batch_size,background_color,width/height(up to 3840),quality.
Output is video - an IMAGE batch; wire it to VHS_VideoCombine or ImageBatch to export.
Installing it
Same pack, same steps as the other Chromium nodes. ComfyUI Manager → search "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
The Chromium install is required - no browser binary, no blinds.
Common issues
- Missing Chromium crash -
playwright install chromium(with--mirror=https://registry.npmmirror.combehind the GFW). - Slats all flip at once, no wave -
stagger_delayis at 0. Raise it to 0.05–0.1. - Flip looks too slow or sluggish -
flip_durationat 1.0 over a short transition is a lot of motion per frame; drop it toward 0.3–0.5 and keeptotal_framesshort. - Black gaps between slats - the
background_colorshows through between the 3D slats mid-flip; set it to match your footage (or accept it as a deliberate frame). - Many slats = slow render -
blinds_countat 30 means 30 animated CSS elements screenshot per frame. Keep it modest unless you need the texture.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| video1 | IMAGE | — | |
| video2 | IMAGE | — | |
| blinds_direction | COMBO | 4 options: horizontal, vertical, diagonal_right, diagonal_left | |
| total_frames | INT | 244–300 | — |
| fps | INT | 2415–60 | — |
| blinds_countopt | INT | 44–30 | — |
| flip_durationopt | FLOAT | 0.600.3–1 | — |
| stagger_delayopt | FLOAT | 0.050–0.2 | — |
| use_gpuopt | BOOLEAN | false | — |
| batch_sizeopt | INT | 51–20 | — |
| background_coloropt | STRING | #000000 | — |
| widthopt | INT | 640640–3840 | — |
| heightopt | INT | 640360–2160 | — |
| qualityopt | INT | 9060–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | IMAGE | — |