Auto Pan Equilateral (mtb)
Fly a virtual camera through a 360 panorama
- equilateral_image
- floats_fovX
- floats_fovY
- floats_elevation
- image
Got a 360 panorama - a skybox, an equirectangular render, an AI-generated pano - and want to turn it into a moving shot? Auto Pan Equilateral does exactly that. It renders a virtual camera panning around inside the panorama and spits out a batch of frames, so a single flat 360 image becomes a smooth sweeping video.
Under the slightly-off name (the description says "equilateral" but the projection it wants is equirectangular - the 2:1 unwrapped-sphere format panoramas come in), it's a neat trick for giving otherwise-static generations some motion, and for previewing what a 360 image looks like from the inside.
How it works
It treats your input as the inside of a sphere and places a camera at the center. For each of frame_count frames it rotates the camera a bit and re-projects the panorama into a normal flat (rectilinear) view at your chosen width×height. The result is a batch that pans across the scene. The field-of-view controls how much you see (i.e. how zoomed in), and elevation controls how high or low the camera looks.
The inputs and outputs that matter
equilateral_image(IMAGE) - your equirectangular panorama. This needs to actually be a 2:1 pano, or the projection looks wrong.fovX/fovY(FLOAT, default 45) - horizontal/vertical field of view. Lower = more zoomed in.elevation(FLOAT, default 0.5) - the vertical look angle.frame_count(INT, default 100) - how many frames to render. This is your batch size, so it drives render time and VRAM.width/height(INT, default 768×512) - the output frame size.
There are optional FLOATS inputs - floats_fovX, floats_fovY, floats_elevation - that let you animate the FOV and elevation over time instead of holding them fixed. Drive those with the batch-float curve nodes (Batch Float Fit and friends) for a zoom or tilt during the pan.
Output is a single image (IMAGE) batch → your video combine/save.
How to install it
Via ComfyUI Manager: search MTB Nodes, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/melMass/comfy_mtb
then restart. No models.
Common issues & troubleshooting
The output looks warped or wrong. Almost always because the input isn't a true equirectangular panorama. It expects the unwrapped-sphere format (twice as wide as it is tall). A normal photo or a non-2:1 image will project into a mess.
It's slow / eats VRAM. frame_count is your batch size - 100 frames means 100 rendered images. Drop it while you're dialing in the FOV and elevation, then raise it for the final render.
The pan feels flat. Wire a curve into floats_fovX or floats_elevation to add a zoom or a tilt as the camera sweeps. A static FOV gives you a plain rotation; animating it is where it starts to feel like a real camera move.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| equilateral_image | IMAGE | — | |
| fovX | FLOAT | 45.00 | — |
| fovY | FLOAT | 45.00 | — |
| elevation | FLOAT | 0.50 | — |
| frame_count | INT | 100 | — |
| width | INT | 768 | — |
| height | INT | 512 | — |
| floats_fovXopt | FLOATS | — | |
| floats_fovYopt | FLOATS | — | |
| floats_elevationopt | FLOATS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |