Nodes/DJZ-Nodes/Video Corridor V1
ComfyUI Node

Video Corridor V1

An infinite corridor fly-through, generated in pure Python — no model required

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 78
Video Corridor V1
    • images
    width512
    height512
    fps30
    max_frames300
    corridor_depth2.0
    movement_speed0.05
    color_scheme
    wall_pattern
    lighting_mode
    perspective_strength1.0

    Video Corridor V1 generates a first-person flight down an infinite corridor - perspective vanishing point, walls scrolling past, lighting that changes - and it does it entirely with numpy and cv2. No model, no VAE, no GPU inference, no seed lottery. You give it dimensions and a color scheme, it hands back a batch of frames that just is the animation. For synthwave loops, title backgrounds, or VJ-style filler, it's instant gratification in a way diffusion never is.

    How it works

    Each frame is drawn procedurally: the node computes a perspective projection of corridor walls converging on a vanishing point, fills them with the chosen wall_pattern, and steps the camera forward by movement_speed per frame. Because the corridor is infinite by construction, the loop can be made seamless by matching the start and end camera positions - which makes it genuinely good background-loop material.

    • corridor_depth (0.5–5, default 2) - how "long" the corridor feels; higher = more perspective pull
    • movement_speed (0.01–0.2, default 0.05) - how fast you fly
    • color_scheme - neon, classic, rainbow, monochrome, sunset, cyberpunk
    • wall_pattern - solid, gradient, grid, diagonal
    • lighting_mode - dynamic, static, pulsing, ambient
    • perspective_strength (0.5–2) - the distortion of the convergence

    Inputs and outputs

    Required: width, height (128–4096, step 64), fps (1–60), max_frames (1–9999), then the corridor params above. Output: images - one IMAGE batch, max_frames frames long.

    Wire that batch into a video save/encode node (or the pack's frame tools) and you have a rendered clip. Since it's just a tensor, you can also feed the frames onward - into img2img for stylization, into an interpolation pass, or into a compositor.

    Where it sits in a workflow

    The classic move: generate the corridor, then run it through an img2img or a ControlNet-constrained pass so the AI paints on top of a stable camera move. That's where procedural video really pays - you get perfect camera motion for free and use diffusion only for the surface. The corridor is also a dependable "is my video pipeline working?" test, because it needs zero models and renders in seconds.

    Install

    Part of DJZ-Nodes by Drift Johnson. ComfyUI Manager → "DJZ-Nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MushroomFleet/DJZ-Nodes
    cd DJZ-Nodes
    pip install -r requirements.txt
    

    Restart ComfyUI. numpy/torch/cv2 only - nothing extra.

    Gotchas

    It's CPU rendering, and while it's fast at 512², a 4096² run with 9999 frames is a real render - keep max_frames proportional to your needs. The output is raw frames with no audio (obviously), so a silent corridor clip is on you. And the color schemes are preset-palettes, not user colors - if you want a specific purple, you're picking "neon" and hoping, or you're post-grading.

    Categorysd

    Inputs (10)

    NameTypeDefaultDescription
    widthINT512128–4096
    heightINT512128–4096
    fpsINT301–60
    max_framesINT3001–9999
    corridor_depthFLOAT2.00.5–5
    movement_speedFLOAT0.050.01–0.2
    color_schemeCOMBO6 options: neon, classic, rainbow, monochrome, sunset, cyberpunk
    wall_patternCOMBO4 options: solid, gradient, grid, diagonal
    lighting_modeCOMBO4 options: dynamic, static, pulsing, ambient
    perspective_strengthFLOAT1.00.5–2

    Outputs (1)

    NameTypeDescription
    imagesIMAGE