6×90° Strip → 360
Stitch your edited cube-face strip back into a clean 360° image
- strip
- IMAGE
The sibling to EquirectToStrip90 is the part of the round-trip you actually think about least and screw up most. EquirectToStrip90 flattens a 360° panorama into six cube faces laid out as a strip; Strip90ToEquirect is the return flight - it takes that (now inpainted, upscaled, or edited) strip and rebuilds an equirectangular image you can drop into a VR viewer, a panorama editor, or straight into one of the 360° ERP outpainting LoRAs that want real equirect input. Without it, the strip is a dead end. With it, you have a proper 2:1 360° image with the seams where you made them.
How it works
It's the inverse projection, done per pixel. For every pixel in the output equirect, the node computes a direction vector in 3D space, figures out which cube face that ray hits (dominant axis wins: +Z is front, −Z is back, ±X the sides, ±Y top/bottom), and samples the matching tile from the strip. It reverses the flip_sides flip before sampling so the faces come back upright, and it maps faces back to strip positions using the order you passed in. All numpy, all fast - a 2048×1024 reconstruction is well under a second.
The inputs that matter
Four of the six inputs are your responsibility, and the recurring theme is: match the encode node.
strip- the IMAGE output fromEquirectToStrip90, or anything downstream of it.width/height- the output equirect dimensions, default 2048×1024. That 2:1 ratio is the equirectangular standard; keep it unless you have a reason not to.face_size- must equal theface_sizeused when the strip was encoded. The node slices the strip into faces atface_sizeintervals, so a mismatch means it cuts the tiles in the wrong places and you get garbage. This is the most common silent failure.orderandflip_sides- same story. The decode defaults (0,1,2,3,4,5,flip_sides=false) will not match the encode defaults (3,2,1,0,4,5,flip_sides=true), so if you've left either node on defaults you'll get a scrambled hemisphere. The encode node passes itsorderandflip_sidesout as outputs precisely so you can wire them straight in here and never think about it again.
The single output is IMAGE - the reconstructed equirect.
Installing it
Same pack as its sibling, one install gets you both. No models, no extra dependencies; the code needs cv2/numpy/torch, which ComfyUI already ships. Via Manager, search for Equirectangular. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/migero/ComfyUI-Equirectangular-Strip
Restart ComfyUI; both nodes land under the 360 category.
Gotchas
The seam advice from the encode side applies in reverse here: whatever you do to the strip happens before this node, so if you inpainted each face independently, this node will faithfully stitch your creases back together. Inpaint across face boundaries in the strip for a seamless result. Also remember the whole pipeline is single-image - EquirectToStrip90 only reads the first frame of a batch, so plan your strip around one panorama at a time. Get the three "match the encode" fields right, though, and this node is about as boring as a projection should be - which is the compliment it deserves.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| strip | IMAGE | — | |
| width | INT | 2048 | — |
| height | INT | 1024 | — |
| face_size | INT | 512 | — |
| order | STRING | 0,1,2,3,4,5 | — |
| flip_sides | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |