π Video Pyramid Generator
A spinning 3D pyramid, zero model needed
- images
The Video Pyramid Generator is DJZ-Nodes at its most playful: a procedural 3D pyramid, rendered from scratch, tumbling through space on your screen as an image batch. No diffusion model, no VRAM, no checkpoint - just a seed, some geometry, and math. It's the kind of node you add to a workflow when you want a hypnotic geometric loop for a background, an intro sting, or just something that isn't another AI image.
It sits right next to Video Maze V2 in the pack's "procedural video" family, and it's the same spirit: CPU-rendered, deterministic, cheap to run.
How it works
It's a tiny 3D engine in a Python file. A pyramid is built from vertices and faces, rotated per-frame around all three axes (rotation_x, rotation_y, rotation_z - each -0.1 to 0.1, where the sign is the spin direction and the value is speed), projected into 2D with a fov and a distance (2β20, camera-to-pyramid spacing), and drawn in one of three render_style modes:
wireframe- the classic line-drawn pyramid, very retro.solid- filled faces.points- a constellation of dots forming the pyramid, which looks great with the right palette.
The pyramid_size slider (0.1β5) scales the thing relative to the frame. Then color_scheme (rainbow, monochrome, neon, pastel, cyberpunk) and lighting_mode (basic, ambient, dynamic, none) dress it up. Because the whole thing is math, the output is fully deterministic and cheap - you can render thousands of frames and it's just CPU time.
The inputs that matter
width/height(128β4096),fps(1β60),max_frames(default 120 - about 4 seconds at 30fps).pyramid_size(0.1β5) - how big the pyramid is in the frame.distance(2β20) - camera distance. Close + large size = dramatic close-up sweep; far + small = a distant object.rotation_x/y/z- per-axis spin speed. For a clean single-axis tumble, zero out two axes and put speed on one; for chaos, spin all three.fov(30β120) - wide FOV exaggerates the perspective as it rotates, which is a big part of the drama.color_scheme,render_style,lighting_mode- the look.
Output is a single images (IMAGE) batch - feed it to a Video Combine and export your pyramid loop.
Installing it
Same pack install as everything else in DJZ-Nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt
Restart ComfyUI, or search "DJZ-Nodes" in ComfyUI Manager.
Troubleshooting
- The pyramid is tiny or off-screen.
pyramid_sizeanddistancefight each other. If it's a dot in the distance, raise size and lower distance. If it's clipped, lower size or raise distance. - It spins too slowly / too fast. The rotation values are per-frame deltas, so they're effectively speeds. 0.03 is a gentle tumble; 0.1 is a spin.
- "Points" mode looks like noise. The points are vertices - on a single pyramid there aren't many. If you want point clouds, this might not be dense enough; the mode reads best with a bright palette against a dark background.
- Colors look washed out. Try
lighting_mode: dynamicorneon/cyberpunkpalettes;monochromewithnonelighting is intentionally flat.
Real talk: this is a fun toy and a solid background generator, not a serious production tool - you're not going to animate a logo with it. But for a geometric ambient loop, it renders in seconds, needs no model, and never runs out of VRAM. Sometimes that's exactly the node you need.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 512128β4096 | β |
| height | INT | 512128β4096 | β |
| fps | INT | 301β60 | β |
| max_frames | INT | 1201β9999 | β |
| pyramid_size | FLOAT | 1.00.1β5 | β |
| distance | FLOAT | 5.02β20 | β |
| fov | FLOAT | 7530β120 | β |
| rotation_x | FLOAT | 0.02-0.1β0.1 | β |
| rotation_y | FLOAT | 0.03-0.1β0.1 | β |
| rotation_z | FLOAT | 0.01-0.1β0.1 | β |
| color_scheme | COMBO | 5 options: rainbow, monochrome, neon, pastel, cyberpunk | |
| render_style | COMBO | 3 options: wireframe, solid, points | |
| lighting_mode | COMBO | 4 options: basic, ambient, dynamic, none |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | β |