Skip to main content
POST
Create Environment

Authorizations

Authorization
string
header
required

A Kite API key (kite_...), from Platform API → Keys in the dashboard.

Headers

Idempotency-Key
string | null
Maximum string length: 255
Kite-Version
enum<string>
default:2026-09-27

The dated contract your code was written against. Without it you get 2026-09-27; every response says which version served it.

Available options:
2026-09-27,
2026-10-12

Body

application/json

Add an environment from exactly one of: a library panorama (library_id), a photo of your site (photo, with an optional prompt to guide the completion), a description (prompt alone), or an equirectangular panorama you already have (panorama). Library and panorama environments are ready at once; photos and prompts take minutes (status is processing until then).

name
string | null
Maximum string length: 160
kind
enum<string>
default:panorama

world makes a 3D world with parallax, from a photo or a prompt

Available options:
panorama,
world
library_id
string | null

A library environment's library_id

Maximum string length: 120
photo
EnvironmentPhoto · object | null
prompt
string | null
Required string length: 3 - 2000
panorama
string | null

Base64-encoded 2:1 equirectangular JPEG or PNG, from 4096 x 2048 to 8192 x 4096

category
string | null

What kind of place it is (workshop, warehouse, lab, ...): matching filters on it

Maximum string length: 40
scenery_depth_m
number | null

Roughly how far the walls are from the work cell, in metres

Required range: 0 < x <= 1000
lighting
enum<string> | null

What lights the place, when you know it better than the measurement (which can take high windows for lamps)

Available options:
daylight,
artificial

Response

The environment: ready for a library entry or a panorama, processing for a photo or a prompt

id
string
required
name
string
required
kind
enum<string>
required
Available options:
panorama,
world
source
enum<string>
required
Available options:
library,
photo,
prompt,
upload
owner
enum<string>
required

kite for the library, user for yours

Available options:
kite,
user
status
enum<string>
required
Available options:
processing,
ready,
failed
tags
EnvironmentTags · object
required

Measured on the panorama when it is added, plus what the caller said about the place.

object
enum<string>
default:environment
Available options:
environment
Allowed value: "environment"
library_id
string | null

The library panorama it is, or was added from

panorama_url
string | null

The equirectangular panorama: GET it for a JPEG (?width=, default 4096)

world
EnvironmentWorld · object | null

Set for kind: world once ready

license
string | null

CC0-1.0 for the library

attribution
string | null
error
EnvironmentError · object | null
created_at
string | null