Nodes/ComfyUI-VideoTransition/Video Flip 3D Transition
ComfyUI Node

Video Flip 3D Transition

A clean 3D page-flip between clips — horizontal, vertical, or on the oblique

By yichengup·Created 11 months ago·Updated 11 months ago· 25
Video Flip 3D Transition
  • video1
  • video2
  • video
transition_type
total_frames60
fps30
perspective1000.00
use_gpufalse
batch_size5
background_color#000000
width640
height640

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, or oblique_flip.
  • perspective (500–2000, default 1000) - the lens feel. Push toward 1500–2000 for a flatter, more natural card turn.
  • total_frames (default 60) and fps (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.com behind the GFW).
  • Mid-flip looks warped/distorted - that's perspective too 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.
CategoryVideoTransition

Inputs (11)

NameTypeDefaultDescription
video1IMAGE
video2IMAGE
transition_typeCOMBO3 options: horizontal_flip, vertical_flip, oblique_flip
total_framesINT604–300
fpsINT3015–60
perspectiveoptFLOAT1000.00500–2000
use_gpuoptBOOLEANfalse
batch_sizeoptINT51–20
background_coloroptSTRING#000000
widthoptINT640320–1920
heightoptINT640240–1080

Outputs (1)

NameTypeDescription
videoIMAGE