Nodes/ComfyUI-VideoTransition/Multi-video cube rotation
ComfyUI Node

Multi-video cube rotation

Put six real clips on one spinning cube — and skip the browser

By yichengup·Created 11 months ago·Updated 11 months ago· 25
Multi-video cube rotation
  • video_front
  • video_back
  • video_left
  • video_right
  • video_top
  • video_bottom
  • video
rotation_style
rotation_speed1.0
duration5.0
fps30
background_color#1a1a2e
width640
height640
cube_size0.60
perspective1000.00

If you looked at CubeRotationNode and thought "cool, but I want actual moving video on each face, not six stills," this is the node. Displayed as "Multi-video cube rotation," it takes up to six separate video inputs - front, back, left, right, top, bottom - and spins them around on a 3D cube. And here's the part that makes it quietly the better sibling: it does all of it in pure Python. No Playwright, no headless Chromium, no browser install required. Same effect family, a fraction of the moving parts.

How it works

The README claims this one is WebGL; the shipped code is not. Open the source and it's the honest version: a hardcoded 8-vertex, 6-face cube model, real 3D rotation math per frame, and OpenCV to perspective-project and composite the faces in painter's order. It's the "advanced" name in the sense of "advanced architecture," not "advanced features" - the rotation_style menu is identical to the browser version.

Inputs and outputs that matter

  • video_front, video_back, video_left, video_right, video_top, video_bottom - all optional. You can supply one face, three, or all six; the node logs how many it got and renders just the cube it can build. Feed stills if that's all you have; it works the same.
  • rotation_style - x_axis, y_axis, z_axis, diagonal, random_spin, cube_unfold.
  • rotation_speed (0.1–5), duration (1–30s), fps (15–60).
  • cube_size (0.3–1) and perspective (500–3000) control the look; background_color, width/height (up to 3840) control the canvas.

Single video output - an IMAGE batch, so combine it (VHS_VideoCombine, ImageBatch, etc.) to export.

Installing it

Same pack, same install as everything else in ComfyUI-VideoTransition:

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

That's it for this node. Unlike CubeRotationNode you don't need playwright install chromium - one of the few in the pack you can say that about.

Common issues

  • cv2 ImportError - same story as every pure-Python node here: opencv isn't in requirements.txt, it's relying on ComfyUI's bundled copy. pip install opencv-python in a bare env.
  • Only some faces render - that's expected if you fed fewer than six inputs. Check the console line that reports "faces: N/6 provided."
  • Cube looks flat or boxy - raise perspective (toward 2000+) for a more natural lens feel; low values make the projection look cramped.
  • No GPU flag - don't go looking for use_gpu; this one is CPU OpenCV by design, which is also why it's fast enough not to need one.
CategoryVideoTransition

Inputs (15)

NameTypeDefaultDescription
rotation_styleCOMBO6 options: x_axis, y_axis, z_axis, diagonal, random_spin, cube_unfold
rotation_speedFLOAT1.00.1–5
durationFLOAT5.01–30
fpsINT3015–60
video_frontoptIMAGE
video_backoptIMAGE
video_leftoptIMAGE
video_rightoptIMAGE
video_topoptIMAGE
video_bottomoptIMAGE
background_coloroptSTRING#1a1a2e
widthoptINT640640–3840
heightoptINT640360–2160
cube_sizeoptFLOAT0.600.3–1
perspectiveoptFLOAT1000.00500–3000

Outputs (1)

NameTypeDescription
videoIMAGE