Generate 360° panoramas from text or reference photos with the Panorama API, or connect an AI assistant through the local stdio MCP server. Both use the same API key, credit balance and asynchronous generation tasks. Retrieve a 2:1 equirectangular image and a viewer URL; private viewers require owner login, and public sharing requires a public panorama.
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.
When generation succeeds, read image_url, viewer_url and storage_status. The image URL may still be temporary: poll until storage_status is saved or saved-no-thumb before storing the hosted URL in your app. Private viewers require owner login; request public visibility only for panoramas you intend to share publicly.
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"}'Connect an AI assistant that supports local stdio MCP to your panorama account. The standalone package exposes text generation, reference-image generation, image upload, task status and credit balance. It calls the same REST API with your own API key; you do not need this website’s source code. Generation is asynchronous, so create one task and query its status rather than submitting the prompt again.
Requires Node.js 20 or later and npm/npx on your computer. Get an API key in API key settings; your account must have at least one paid order. The package download has no separate fee. Generation uses your existing credit balance.
Client configuration
{
"mcpServers": {
"panorama": {
"command": "npx",
"args": [
"-y",
"--package",
"https://panoramagenerator.com/downloads/panorama-generator-mcp-0.1.0.tgz",
"panorama-generator-mcp"
],
"env": {
"PANORAMA_API_KEY": "sk-YOUR_API_KEY"
}
}
}
}Add this entry to a client that supports the mcpServers configuration format, replace sk-YOUR_API_KEY with your key, then reconnect. npx downloads and starts the package from this website. On Windows, use npx.cmd if the client cannot launch npx. Keep your key in the local configuration, never in a chat message. Other clients may use a different configuration format.
| Tool | Capability |
|---|---|
| generate_panorama_from_text | Create a panorama from a text prompt; 1k/2k/4k cost 4/6/10 credits. |
| generate_panorama_from_images | Create a panorama from 1–3 HTTPS image URLs, with an optional prompt. |
| get_panorama_task | Query an existing task and retrieve its image and viewer URLs. |
| get_credit_balance | Read the account balance without generating an image. |
| upload_reference_images | Upload 1–5 images as raw base64 and receive public URLs. |
Verify the connection without generating an image
Paid text-generation test: 4 credits
{
"prompt": "A tranquil forest cabin at sunrise, seamless 360 degree panorama",
"resolution": "1k",
"visibility": "private",
"max_credits": 4
}Call generate_panorama_from_text with this JSON once. It reserves 4 credits and returns an id. Query get_panorama_task with that id every few seconds until the output is ready. The image URL may be temporary until storage_status is saved or saved-no-thumb. A private viewer requires owner login. A failed task refunds its reserved credits.
Uploads accept 1–5 JPEG, PNG or WebP files, up to 10 MiB each and 20 MiB total. A generation accepts at most 3 HTTPS reference-image URLs. The optional max_credits limit applies to one creation, not total account spending. This release uses local stdio; it does not provide a remote MCP URL, HDR/EXR exports or engine plugins. A timed-out creation may already have been charged: check your works before submitting again.
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.
POST /api/v1/images accepts up to 5 JPEG, PNG or WebP files per upload, up to 10 MiB each and 20 MiB total, and returns hosted image_urls. Pass at most 3 of those HTTPS URLs to POST /api/v1/panoramas with an optional prompt. Upload capacity and generation capacity are different limits: uploading 5 files does not make a single generation accept 5 references. You can also supply your own public HTTPS image URLs. The Photo to 360° Converter uses the same generation pipeline in the browser.
Use the 2:1 equirectangular output in your own app or renderer. REST API calls and local MCP tools share the same generation service; cubemap conversion and HDR export are separate browser workflows.
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 for a product configurator or listing. Private viewer URLs require owner login, so publish only scenes intended for public viewing before sharing a viewer link with customers.
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.
Choose the output workflow your renderer needs: the API and MCP return equirectangular panoramas, while the browser tools handle cubemap conversion and HDR export.
The API and local MCP server generate a 2:1 equirectangular image. Use that image as a 360° backdrop in Unity, Unreal, Blender or a web viewer. For six cube faces, use the browser Skybox Generator or Cubemap Generator. Radiance .hdr export is available through the browser AI HDRI Generator; API v1 and this MCP release do not offer HDR/EXR export or engine plugins. Check storage_status before keeping an image URL, and choose public visibility only for scenes you intend to share.
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.
REST API and MCP generation use the same credit balance as the web app. The MCP package has no separate download fee; image generation still costs credits.
1K
1024 × 512
4 credits
2K
2048 × 1024
6 credits
4K
3840 × 1920
10 credits
Text and reference-image generation reserve the same 4/6/10 credits for 1K/2K/4K output. Failed tasks refund their reserved credits. Read your balance with GET /api/v1/credits or the MCP get_credit_balance tool. Creating an API key requires at least one paid order on your account. See pricing for credit bundles. The MCP max_credits option caps one creation, not total account spending.
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 generation provider returned an error or timed out. Check existing tasks or works before resubmitting a creation request. |
| 500 | internal_error | Unexpected server error. Check whether a creation was accepted before submitting it again; read requests can be retried 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 5 files with POST /api/v1/images, then pass at most 3 returned HTTPS image_urls to POST /api/v1/panoramas. Each JPEG, PNG or WebP file can be up to 10 MiB; the upload total is capped at 20 MiB. You can also supply public HTTPS image URLs directly. Add an optional prompt to guide the scene.
API and MCP generations use 4 credits at 1K, 6 at 2K and 10 at 4K from the same account balance. The MCP package has no separate download fee. Creating an API key requires at least one paid order. See pricing for credit bundles; max_credits can limit the budget of an individual MCP creation.
The API and MCP return a 2:1 equirectangular image at 1K, 2K or 4K, with image_url, viewer_url and storage_status. Wait for saved or saved-no-thumb before retaining the hosted image URL. Private viewers require owner login; public panoramas have public viewer links. HDR/EXR export is not available through API v1 or this MCP release.
Failed generation tasks refund their reserved credits. A timeout or connection error alone does not prove that a creation failed: the server may have accepted it. Check the task status or your works before submitting the same request again. API and MCP use the same generation and credit service.
Download the local MCP package and add the configuration above to a client that supports stdio MCP. Node.js 20 or later and an API key are required. Call generate_panorama_from_text or generate_panorama_from_images once, then poll get_panorama_task with the returned id. Verify the connection first with get_credit_balance and a max_credits 0 budget check.
This release provides a local stdio MCP server, not a hosted HTTP or SSE connection URL. Your MCP client starts the package with npx on your computer, and the package calls the hosted REST API using your key. A client that accepts only remote MCP URLs cannot connect directly to this local package.
Start generating 360° panoramas programmatically
Try generation in the web app with your signup credits. After at least one paid order, create an API key and use it for REST API calls or the local MCP server.
View pricing