Video Flip 3D Transition
A clean 3D page-flip between clips — horizontal, vertical, or on the oblique
- video1
- video2
- video
The 3D flip is the workhorse "premium" transition: the whole frame turns over like a card and the next clip is revealed on the back. Less theatrical than the cube flip (there's no visible third dimension spinning around), cleaner than a wipe. This node gives you it in three flavors - horizontal_flip, vertical_flip, and oblique_flip (diagonal) - and it's one of those transitions that reads as expensive even though it's a single node sitting between your two clips.
How it works
Fun fact: the README files this one under "pure Python," and the shipped code disagrees - open the source and it's a Chromium node like the cube and blinds effects. video1 and video2 get placed on the two faces of a card in a CSS 3D transform scene, and headless Chromium (Playwright) animates the rotation, screenshotting every frame back into an IMAGE tensor. The perspective input (500–2000) is the one that makes or breaks it: low values give that stretched, fisheye mid-flip; high values look like a real lens. A flipController in the page handles batching the animation so the Python side only orchestrates.
Inputs and outputs that matter
video1,video2- the two clips, sampled by progress.transition_type-horizontal_flip(default),vertical_flip, oroblique_flip.perspective(500–2000, default 1000) - the lens feel. Push toward 1500–2000 for a flatter, more natural card turn.total_frames(default 60) andfps(default 30) - 60 frames at 30fps is a full 2 seconds; for a flip that's on the slow side, so consider 24–36 frames.use_gpu(off by default),batch_size,background_color,width/height(capped at 1920×1080).
Output is video - an IMAGE batch; wire it to VHS_VideoCombine or ImageBatch to export.
Installing it
Same pack, same steps. 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 despite the README's "pure Python" label - the source is the ground truth here.
Common issues
- Runtime crash, missing Chromium - install the browser (
playwright install chromium,--mirror=https://registry.npmmirror.combehind the GFW). - Mid-flip looks warped/distorted - that's
perspectivetoo low. Raise it; the default 1000 is fine but 1500+ is where it stops looking like a funhouse mirror. - Flip feels sluggish - trim
total_frames. A 2-second flip drags; this effect wants to be a fast, confident turn. - README said no browser, why is it downloading one? - the pack's README is optimistic about which nodes are pure Python. Trust the source; if you want a genuinely browser-free flip, this isn't it.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| video1 | IMAGE | — | |
| video2 | IMAGE | — | |
| transition_type | COMBO | 3 options: horizontal_flip, vertical_flip, oblique_flip | |
| total_frames | INT | 604–300 | — |
| fps | INT | 3015–60 | — |
| perspectiveopt | FLOAT | 1000.00500–2000 | — |
| use_gpuopt | BOOLEAN | false | — |
| batch_sizeopt | INT | 51–20 | — |
| background_coloropt | STRING | #000000 | — |
| widthopt | INT | 640320–1920 | — |
| heightopt | INT | 640240–1080 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | IMAGE | — |