Call one REST endpoint to generate a seamless 360° panorama from a text prompt or reference photos — get back a permanently hosted equirectangular image plus a shareable interactive viewer URL. Built for apps, games, virtual tours, and any pipeline that needs 360° image generation on demand.
Turn a text prompt into a 360° panorama in three REST calls — no SDK to install, no queue to manage yourself.
POST /api/v1/panoramas with a prompt and a resolution (1k, 2k, or 4k). Credits are reserved immediately and the endpoint responds with 202 Accepted and a task id — the panorama generation API runs the render in the background.
GET /api/v1/panoramas/{id} every few seconds until status flips to succeeded (or failed). Generation takes tens of seconds, so this panorama API is task-based by design — safe to call from serverless functions with short timeouts.
On success the response includes image_url — a permanent, hosted equirectangular PNG — and viewer_url, a ready-to-share interactive 360° viewer page. Embed the viewer, download the image, or feed the URL into your own render pipeline.
Create a task with a single POST request:
curl -X POST https://panoramagenerator.com/api/v1/panoramas \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{"prompt": "sunset over a tropical beach, palm trees", "resolution": "2k"}'Prefer to start from a real photo instead of a prompt? The same panorama generation API accepts reference images and extends them into a full 360° scene.
Upload up to three reference photos with a POST to /api/v1/images (JPEG, PNG, or WebP, up to 10MB each) and the endpoint returns permanent image_urls. Pass those URLs into /api/v1/panoramas as image_urls alongside an optional short prompt to steer the result — the reference photo carries most of the signal, so the prompt can be brief or omitted entirely. Already hosting the source photo somewhere public and https:// reachable? Skip the upload step and point image_urls straight at it. This is the same photo-to-panorama pipeline behind our Photo to 360° Converter, exposed as a plain REST call so you can convert a batch of property photos, product shots, or travel pictures into panoramas from a script or CI job instead of clicking through a browser tool.
One panorama generation API, wired into whatever renders 360° content in your product.
Generate a walkable-feeling 360° backdrop for a listing, showroom, or venue in seconds — no photographer or 360° camera needed for placeholder or concept scenes.
Call the API from a build pipeline or level-design tool to generate skyboxes and background panoramas on demand, then wire the equirectangular output into Unity, Unreal, or your own renderer.
Feed the returned equirectangular image straight into a WebXR or native VR viewer as an immersive environment — handy for prototyping scenes before commissioning real 360° photography.
Add AI 360 image generation as a feature inside your own product — the async task API and plain JSON responses drop into any backend language, no browser SDK required.
Generate a 360° environment around a product render for a configurator or listing page, then drop in the hosted viewer_url as a ready-made embed.
Script batch generation for a content pipeline — a CMS job, a marketing tool, or a design system that needs many panoramas without a human touching a UI.
The panorama API is also the generation core behind two more specialized pipelines, for when a plain equirectangular panorama isn't quite the format you need.
If you're comparing this to a skybox ai api like Blockade Labs, the same /api/v1/panoramas endpoint is the foundation both our dedicated Skybox Generator (game-engine-ready cubemaps and seamless 360° wraps) and our AI HDRI Generator (Radiance .hdr export for Blender, Unreal, and Unity lighting) build on. Call the panorama API directly when a 2:1 equirectangular PNG and a hosted viewer URL are all your pipeline needs. Radiance .hdr export is currently a web-app-only feature — it is not yet part of API v1 — so for an .hdr file today, generate through the AI HDRI Generator in the browser and use the panorama API for everything upstream of that step.
Game-ready 360° skyboxes and in-browser cubemap conversion, for engines that expect six cube faces instead of one equirectangular image.
The same generation core exported as a Radiance .hdr container for physically based lighting in Blender, Unreal, and Unity — see AI HDRI Generator.
The panorama API bills against the same credit balance as the web app — no separate API plan, no per-call invoice.
1K
1024 × 512
4 credits
2K
2048 × 1024
6 credits
4K
3840 × 1920
10 credits
Credits are reserved the moment a task is created and refunded automatically if generation ends up failed — a broken task never costs you anything. Check your remaining balance anytime with GET /api/v1/credits. API keys are available on any paid plan; see pricing for current credit bundles.
Real HTTP status codes plus stable, machine-readable error codes, so you can build actual retry logic instead of guessing.
Write requests
10 / minute per API key — applies to POST /panoramas and POST /images.
Read requests
60 / minute per API key — applies to GET /panoramas/{id} and GET /credits.
Concurrent tasks
5 panorama tasks in processing at once per account, shared across all of that account's API keys.
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | Malformed JSON, more than 3 image_urls, a bad image URL, an invalid resolution, or a prompt under 3 characters with no image_urls. |
| 401 | invalid_api_key | Missing or invalid Bearer API key (the x-api-key header works too). |
| 402 | insufficient_credits | Not enough credits for the requested resolution — purchase more and retry. |
| 404 | not_found | No task exists with this id for the authenticated account. |
| 429 | rate_limited | Per-minute rate limit exceeded — retry after the seconds given in the retry-after header. |
| 429 | too_many_active_tasks | The account already has 5 tasks processing — wait for one to finish; no retry-after header is sent. |
| 502 | upstream_error | The upstream generation provider errored or timed out — safe to retry. |
| 500 | internal_error | Unexpected server error — safe to retry with backoff. |
Send a POST request to /api/v1/panoramas with a text prompt and a resolution (1k, 2k, or 4k). It reserves credits immediately and returns a task id with status processing. Poll GET /api/v1/panoramas/{id} every few seconds until status is succeeded, then read image_url and viewer_url from the response. The quickstart section above has a full curl example.
Yes. The panorama generation API exposes the same AI 360 image generation engine as a plain REST endpoint, so you can call it from a backend, CI job, or automation script instead of a browser UI. If you're a non-developer looking for a point-and-click AI 360 image generator instead, use the web app at 360 Image Maker.
Upload up to 3 reference photos with POST /api/v1/images (JPEG, PNG, or WebP, up to 10MB each) to get back permanent image_urls, or point straight at your own https:// photo URL. Pass image_urls into POST /api/v1/panoramas along with an optional short prompt — the photo carries most of the signal, so the prompt can be brief or omitted. This is the same pipeline behind Photo to 360° Converter, available as a REST call for scripts and pipelines.
The API bills the same credits as the web app: 4 credits at 1K, 6 at 2K, and 10 at 4K resolution. There's no separate API subscription — any paid plan unlocks API keys. See pricing for current credit bundle prices.
Every panorama is a 2:1 equirectangular image at your chosen resolution — 1K, 2K, or 4K — hosted at a permanent image_url, plus a shareable viewer_url for the interactive 360° viewer. Radiance .hdr export is a separate, web-app-only feature for now (see the AI HDRI Generator) and isn't part of API v1.
No. Credits are reserved when the task is created and refunded automatically the moment a task's status becomes failed — you're only charged for panoramas that actually succeed.
Start generating 360° panoramas programmatically
Free credits on signup let you try the web app first; any paid plan unlocks API keys for the panorama generation API.
View pricing