Embed a 360° Panorama with One iframe
Load https://360panoramaviewer.com/?embed=true&pano=https://example.com/my-panorama.jpg#embed
inside an iframe. The page switches to full-viewport viewer mode, so the frame shows the scene only.
- embed=true — full-viewport viewer mode with a small branding badge.
- pano — public HTTPS URL of the 2:1 equirectangular image.
- autorotate=1 — slow automatic camera rotation until the visitor drags.
- #embed — hash form of the embed switch for hosts that strip query strings.
REST API Endpoints
- GET /api/health — service, database and payment gateway status.
- GET /api/billing — public plan configuration and trial credits.
- GET /api/models — available image models with API keys stripped.
- POST /api/user/guest — create a trial session and bearer token.
- POST /api/generate — generate a 2:1 equirectangular panorama from a prompt.
- GET /api/shares?public=1 — listed panoramas only, newest first, no auth.
- GET /api/shares/{id}/image — panorama bytes, usable as a texture or embed source.
- POST /api/shares — publish a panorama with a bearer token (PNG or JPEG body).
Authentication and Limits
Read-only endpoints need no credentials and send Access-Control-Allow-Origin: *.
Private calls use an Authorization: Bearer session token from the guest or auth
endpoint. Share reads are rate limited per hour and per day, publishing is limited to a few new
links per day with a 100 MB personal quota, and generation is limited by daily credits.
AI Agents and MCP Tools
Every endpoint is ordinary JSON over HTTPS, so an agent or a self-hosted MCP server can call
/api/generate to create a scene and then pass /api/shares/{id}/image to
other tools as a plain image URL.