Multi-video cube rotation
Put six real clips on one spinning cube — and skip the browser
- video_front
- video_back
- video_left
- video_right
- video_top
- video_bottom
- video
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) andperspective(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
cv2ImportError - 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-pythonin 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.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| rotation_style | COMBO | 6 options: x_axis, y_axis, z_axis, diagonal, random_spin, cube_unfold | |
| rotation_speed | FLOAT | 1.00.1–5 | — |
| duration | FLOAT | 5.01–30 | — |
| fps | INT | 3015–60 | — |
| video_frontopt | IMAGE | — | |
| video_backopt | IMAGE | — | |
| video_leftopt | IMAGE | — | |
| video_rightopt | IMAGE | — | |
| video_topopt | IMAGE | — | |
| video_bottomopt | IMAGE | — | |
| background_coloropt | STRING | #1a1a2e | — |
| widthopt | INT | 640640–3840 | — |
| heightopt | INT | 640360–2160 | — |
| cube_sizeopt | FLOAT | 0.600.3–1 | — |
| perspectiveopt | FLOAT | 1000.00500–3000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | IMAGE | — |