Nodes/ComfyUI-SplatKit/Persp to ERP Warp
ComfyUI Node

Persp to ERP Warp

A ComfyUI node in SplatKit with 12 inputs and 4 outputs.

By mickmumpitz·Created 19 days ago·Updated a day ago· 0
Persp to ERP Warp
  • image
  • control_video
  • control_mask
  • inpaint_mask
  • erp_guide
width1440
height720
length5
h_fov_deg90
yaw_deg0
pitch_deg0
mask_feather8
supersample2.0
grid_spacing_deg10
guide_opacity0.55
fill_color#000000
CategorySplatKit

Inputs (12)

NameTypeDefaultDescription
imageIMAGE
widthINT144064–8192ERP canvas width. Keep 2:1 (width = 2*height) for the pano LoRA.
heightINT72032–4096
lengthINT51–257Frames in the still batch (N = 1+4k). 1 = single ERP still (fastest); 5 gives the video model a little temporal extent.
h_fov_degFLOAT9020–170HORIZONTAL field of view of the source photo, in degrees. Vertical FOV follows from the image aspect (square pixels). Match your camera: phone main ~70, wide ~90, ultrawide ~110-120.
yaw_degoptFLOAT0-180–180Horizontal placement of the view center (0 = forward/center col).
pitch_degoptFLOAT0-90–90Vertical placement of the view center (0 = horizon/mid row).
mask_featheroptINT80–128Feather (px) on the inpaint_mask edge. Softens the known/hole boundary so an inpainting sampler blends instead of leaving a hard seam. 0 = hard edge.
supersampleoptFLOAT2.01–4Anti-alias quality. The source is heavily minified into the ERP footprint; this area-prefilters it to footprint x this factor before a bicubic warp, killing aliasing/moire. 2 is a good default, 3-4 for very high-res sources, 1 = off (old bilinear-ish).
grid_spacing_degoptINT105–90Lat/lon grid spacing (deg) on the 'erp_guide' chart. The guide is a TECHNICAL equirect reference (no photo): lat/lon grid + degree labels, floor/ceiling perspective curves, and a dotted FOV box marking exactly where the image sits. Feed it to a generator as a pure geometry hint for the 360 layout.
guide_opacityoptFLOAT0.550–10 = draw only the lat/lon grid + FOV box; >0 = also draw the floor + ceiling perspective curves (how a ground/ceiling plane distorts into equirect).
fill_coloroptSTRING#000000Colour of the UNKNOWN region on the ERP canvas (everything outside the photo's footprint). Hex '#RRGGBB' / '#RGB', or 'r,g,b' with 0-255 components. Default black. This only tints control_video -- the masks are unchanged, so an inpainting sampler still regenerates the region regardless. Handy when a model reacts badly to black init (try '#808080' mid-grey).

Outputs (4)

NameTypeDescription
control_videoIMAGE
control_maskIMAGE
inpaint_maskMASK
erp_guideIMAGE