An extension for AUTOMATIC1111's Stable Diffusion Web UI which provides a number of tools for editing equirectangular panoramas.
Some examples made using this extension, all were outpainted starting from a normal image.
Only inpainting models were used, no LoRAs or panorama-specific prompts.
- Image - Equirectangular panorama image to be edited.
- From Txt2Img / Img2Img / Extras - Copy the selected image from the respective tab.
- Apply Changes - Apply the changes to the panarama back to the input.
- ↩️ Revert to previous image.
- 3D Preview camera parameters
- Pitch / Yaw - Camera angles in degrees, can be adjusted with sliders or by dragging preview.
- Field of View - Camera field of view in degrees, can be adjusted by sliders or by scroll wheel.
- Front / Back / Left / Right / Up / Down - Sets camera to predefined view angles.
- Projects an image onto the panorama based on the camera settings given.
- Enable - Display the inpainting image on the output preview.
- Image - Image to be inpainted into the panorama.
- From Txt2Img / Img2Img / Extras - Copy the selected image from the respective tab.
- ↩️ Revert to previous image.
- Pitch / Yaw - Camera angles of the inpaint image.
- Field of View - Camera field of the inpaint image.
- 🖼️ - Copy last saved camera settings from 3D preview. (saves upon clicking Send To X)
- 👁️ - Copy current camera settings from 3D preview.
- Mask Blur - Blur the edges of the inpaint blending mask.
- Reorient Pitch / Yaw - Adjust the default pitch / yaw of the panorama.
- Upper/Lower Pole Offset - Shift the location of the upper/lower poles, for fixing up images with missing poles.
- Preview Width / Height - Render resolution of the 3D preview and images sent to other tabs.
- Panorama Width / Height - Render resolution of the 2D preview and images sent to other tabs.
- From Panorama Image - Calculate panorama & preview resolutions from panorama input image.
- From Inpaint Image - Calculate panorama & preview resolutions from panorama inpaint image.
- Navigation - Click & drag to look around, mouse wheel to zoom.
- Send To Img2Img / Inpaint / Extras - Send the current 3D preview to the respective tab & save the camera settings.
- Send To Img2Img / Inpaint / Extras - Send the current 2D preview to the respective tab.
- 💾 - Download the current panorama image.
- Converts the current equirectangular panorama to a set of cubemap face images.
- Provides a larger 3D viewer window for the current panorama.
- A 3D sketching tool to guide panarama generation using ControlNet's scribble model.
- Similar to the drawing tools in Blockade Labs' Skybox AI.
- Mode - Look - Click and drag to look around, mouse wheel to zoom
- Mode - Draw - Click and drag to draw
- Mode - Erase - Click and drag to erase
- 🞄⦁⚫︎⬤ - Brush size %
- ❌ - Clear view
- ↩️ - Undo last change
- Send To Txt2Img/Img2Img Unit 0 - Send the panorama sketch to ControlNet Unit 0 on the respective tab.
- Greyed out if the ControlNet extension isn't found/loaded.
- Image - Load a pre-existing sketch image to modify.
Some roughly outlined workflows using this extension to generate / fix up panoramas.
Using an inpainting model is recommended.
- Enable inpainting in Panorama Tools tab.
- Import a starting image using the "From *" buttons or by dragging in a starting image.
- For generated images, send the image to inpainting to copy the prompt/settings.
- Click Resolution -> From Inpaint Image to set the resolution of the preview & panorama.
- Adjust field of view & pitch in the inpainting controls until the perspective looks right in the 3d preview.
- Click "Apply Changes" under the panorama input to apply the inpainting image.
- Angle the 3D preview to show roughly 1/2 - 1/3 of the previous image.
- Typically increments of 45 / 60 degrees on the yaw, depending on image contents.
- May have to zoom out for the poles.
- Click "Send to Inpainting" under the 3D preview.
- Mask out the unfilled areas.
- The following settings are recommended:
- Masked content - Latent nothing
- Denoising strength - 1.0
- Inpaint area - Whole picture
- Generate the images.
- May have to adjust the prompt depending on desired image content.
- i.e. "hallway" tends to always generate images looking straight down a hallway.
- Select the desired image in the gallery.
- Go back to the Panorama Tools tab.
- Under Inpainting, click "From Img2Img".
- Click the 🖼️ button to copy the camera settings used for the image.
- Repeat from 5. until the whole panorama is filled.
- Enable inpainting in Panorama Tools tab.
- Under Input, import the panorama to edit using the "From *" buttons or by dragging in an image.
- For generated panoramas, send the image to inpainting to copy the prompt/settings.
- Under resolution, click "Copy Input Resolution" to set the optimal panorama/preview resolutions.
- If the poles are missing/cropped out:
- Adjust Upper/Lower Pole Offset until the perspective looks right in the 3D preview.
- Typicially when the horizon/vanishing point is roughly centered vertically with the preview pitch set to 0.
- Click "Apply Changes" under the panorama input to apply the adjustments.
- Zero out all settings under Adjustments.
- Adjust Upper/Lower Pole Offset until the perspective looks right in the 3D preview.
- Angle / zoom the preview to see the pole to inpaint.
- Up / Down buttons in the Preview settings
- Click "Send to Inpainting" under the 3D preview.
- Mask out the pole area.
- The following settings are recommended:
- Masked content - Fill / Latent noise / Latent nothing
- Denoising strength - 0.7-0.9 / 0.7-0.9 / 1.0
- Inpaint area - Whole picture / Only masked
- Update the prompt based on what's visible around the pole and remove any panorama/360 prompts.
- Generate the images.
- Select the desired image in the gallery.
- Go back to the Panorama Tools tab.
- Under Inpainting, click "From Img2Img".
- Click the 🖼️ button to copy the camera settings used for the image.
- Click "Apply Changes" under the panorama input to apply the inpainting image.
- Repeat from 5. for both poles.
- Right click the preview and click "Copy Image"
- Do not change the preview settings after doing this.
- Paste into your image editing program and edit as needed.
- Copy the image from your image editing program.
- Hide the panorama Input
- Paste the image into the inpainting input.
- Click the 👁️ button to copy the camera angles from the preview.
- Enable inpainting.
- Adjust the Mask Blur as needed to blend in the edited image.
- Click "Apply Changes" under the panorama input to apply the inpainting image.








