Server setup
For the person running their own prism server. On Prism Mapper (app.prismmapper.com) there is nothing to set up: sign in and start. If someone else hosts prism for you, give them this page rather than entering keys into the studio.
Install, build and run
- Use Node.js 20.19 or newer and the pnpm version specified in the repository's
package.json. - From the repository root, run
pnpm install --frozen-lockfile. Copy.env.exampleto.envand set only what you need. Keep this file private. - Run
pnpm build, thenpnpm start. The server serves the website at/, the studio at/studio, and the manual at/studio/docs. - After changing environment settings, restart the server process you own. After source or guide changes, rebuild the affected app. Preserve users' active shows when scheduling a restart.
For development, pnpm dev runs the studio and server. The studio's normal development HTTPS setup uses pnpm certs; see the repository README. pnpm dev:site runs the marketing site.
Public URL and HTTPS
The server's default HTTP port is 8787. Use a trusted HTTPS reverse proxy or tunnel for phone camera access. Set PUBLIC_URL to the public origin the phone can reach, without a path. The proxy must pass WebSocket upgrades and API traffic as well as pages. Changing the studio's address changes its browser storage; export first if you intend to move your working address.
Protect the deployment according to who should be able to access it. A public development tunnel is not an account or subscription system. Test pairing from the phone's network and the intended browser before the show.
Configuration reference
| Variable | Meaning / default |
|---|---|
PORT, HOST | HTTP listener, 8787 and 0.0.0.0. |
PUBLIC_URL | Public HTTP(S) origin for pairing; blank uses request origin. |
ANTHROPIC_API_KEY | Enables Anthropic-backed shader and procedural-animation services. |
ANTHROPIC_MODEL, ANTHROPIC_ANIMATION_MODEL | Optional model overrides for shaders and procedural animation. Blank uses the defaults in the shipped release. |
OPENAI_API_KEY, OPENAI_IMAGE_MODEL | Texture service credential and optional image-model override. |
GEMINI_API_KEY, GEMINI_VIDEO_MODEL | Video-clip service credential and optional video-model override. |
AI_RATE_LIMITS | Optional JSON, for example {"texturesPerHour":20,"shadersPerHour":30,"videosPerHour":10}. Unspecified fields retain release defaults. |
SCAN_BLOB_DIR | Optional directory for normal expiring scan blobs; blank keeps them in memory. |
DIAG_DIR | Optional durable diagnostic logs and scan archives. Off when blank; operator manages access and deletion. |
WEB_DIST, STUDIO_DIST | Optional paths to built apps. Defaults are apps/web/dist and apps/studio/dist. |
OSC_PORT, OSC_HOST | OSC UDP bridge: port 8000 and HOST by default. Use off to disable; bind 127.0.0.1 for local senders only. |
LOG_LEVEL | info by default; fatal, error, warn, info, debug or silent. Trace is not accepted. |
AI availability and limits
Keys stay on the server. A missing key disables the corresponding service; adding it requires a restart. A configured key alone cannot guarantee provider credit, model access or availability. AI integrations are considered validated for this release; operational failures still appear in the generation interface.
Default per-room limits are 20 textures, 30 shaders and 10 videos in a sliding hour, with at most two concurrent long-running generation jobs in a room. Completed job results are held for up to 30 minutes, subject to a 512 MB shared clip-memory limit; running jobs time out after 20 minutes. These are application safeguards, not a provider budget cap or a subscription entitlement system. Providers may impose their own quotas. Do not put real credentials in documentation, screenshots or client environment variables.
Storage and operations
Projects live in the user's browser, not in a server project account. Normal scan blobs expire after two hours; idle rooms after twelve. Diagnostic archives do not share that automatic expiry. Keep DIAG_DIR blank unless you need it, and set a deliberate archive deletion policy when using it. Back up configuration securely and rehearse a server restart between shows. See Your data and AI and connection requirements.
Reviewed for prism 2026.09.29.1 · 29 September 2026. Release notes.