Nodes/ComfyTV/Panorama · Current View
ComfyUI Node

Panorama · Current View

Aim inside a 360° panorama and capture that exact viewport as a flat image

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Panorama · Current View
  • panorama
  • image
force_run_token0
project_id
parent_output_id0
yaw0.0
pitch0.0
fov75.0
aspect_ratio16:9
resolution1K

Panorama owns the full 360° sphere. Current View owns one window looking out from its center. That's the whole design in a sentence: this node sits downstream of a panorama, gives you an interactive viewer, and when you aim at something good and release, it captures that viewport as a normal flat image you can wire into everything else.

This is the node you reach for when you've got an HDRI or a generated environment and you want to use it - a storyboard frame, an image-to-video start frame, a background plate. Instead of exporting an equirectangular image and un-warping it in another tool, you point and shoot inside the sphere.

How it works

The capture is a perspective projection of the equirectangular source at your chosen camera orientation:

  • yaw - azimuth in degrees, -180..180, 0 = forward. The drag-to-aim gesture sets this.
  • pitch - elevation, -89..89, 0 = horizon.
  • fov - vertical field of view, 10..120 (default 75). Wide = immersive, narrow = telephoto crop.
  • aspect_ratio - captured shape (16:9 default), which also locks the preview shell so what you frame is what you get.
  • resolution - short-side tier: 1K (1024), 2K (2048), or 4K (4096). Bigger is sharper but heavier downstream.

There's a ▶ Run here - the capture executes on its own, not through the whole graph queue, which is ComfyTV's per-stage snapshot model. The optional panorama input is the COMFYTV_PANORAMA source; the single image output is the flat COMFYTV_IMAGE slice, ready for Image Edit, a Video stage, or the picker.

A practical note on framing

Because the preview shell locks to the aspect ratio, you can literally frame your shot before capturing - compose like a camera, not like a crop tool afterward. And since the panorama is shared, you can drop several Current View nodes onto the same panorama to grab a wide, a medium, and a close-up from one environment, each with its own fov and framing. That's the workflow trick the pack's docs push, and it works.

Install

Pack-wide one-liner:

cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV

Restart ComfyUI - Desktop/macOS users: clone into the running instance's custom_nodes by absolute path, verify __init__.py at the top level, and fully restart the backend. ComfyUI Manager finds it as "ComfyTV". No extra Python dependencies.

The one thing that bites people: the image output is a capture, so it's only as good as the source panorama's resolution. Capturing a 4K viewport from a 1K equirectangular gives you a soft 4K file - upscale the source first if you actually need the pixels. And like all ComfyTV outputs, it's a snapshot type; native ComfyUI image nodes need a Bridge in between.

CategoryComfyTV/Panorama

Inputs (9)

NameTypeDefaultDescription
force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
project_idSTRINGInternal — populated by the projectStore on the frontend.
parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
yawFLOAT0.0-180–180Camera azimuth (degrees, -180..180, 0 = forward).
pitchFLOAT0.0-89–89Camera elevation (degrees, -89..89, 0 = horizon).
fovFLOAT75.010–120Vertical field of view in degrees.
aspect_ratioCOMBO16:9Captured view aspect ratio. Locks the preview shell too.
resolutionCOMBO1KCaptured view short-side resolution tier (1K=1024, 2K=2048, 4K=4096).
panoramaoptCOMFYTV_PANORAMA

Outputs (1)

NameTypeDescription
imageCOMFYTV_IMAGE