The scene store
Browse, preview, fork and install community scenes from scenes.frameos.net - on cloud-managed frames with one click, or on a self-hosted backend by pasting a link.
scenes.frameos.net is the FrameOS scene store: calendars, dashboards, galleries, message boards, generative art - published by the community and by the FrameOS project, and installable on any frame.
Each scene page is a small workspace with four panels you can toggle - Info (publisher, install count, the FrameOS version it needs, description and gallery), Editor (the same node-graph scene editor the backend has, so you can read exactly what a scene does before you install it), AI (edit it in plain language) and Preview, a live preview rendered in your browser. A version dropdown in the bar swaps the whole workspace to any published version, and Download .zip hands you the scene as a file.
The preview is the real FrameOS renderer compiled to WebAssembly, and it can show the scene the way a panel would: tick Dither and pick the panel to simulate - Spectra 6, 7-colour ACeP, black/white/red, black/white/yellow, 4 or 16 greys, plain black and white - and the frame is dithered with the device's own algorithm. It has a browser-only assets folder (kept in your browser, seeded with sample photos) so slideshow and SD-card scenes render too, an Auto apply switch that re-renders as you change state fields, and an opt-in real-time mode for scenes that want to animate. JavaScript clocks run in the scene's time zone. A scene that calls a pay-per-request service (OpenAI, say) never renders on its own - it waits for you to click Run preview each time the scene changes, so a browse never spends your credits.
Install a scene
The Install button opens one dialog with every way in:
- On a cloud-managed frame: sign in, pick the frame and click Install - the scene is added next to the frame's existing scenes and deployed within seconds (or as soon as an offline frame reconnects). The frame remembers where the scene came from and which version it is on.
- On a self-hosted backend: copy the Install on a self-hosted FrameOS link and paste it
into the search box of a frame's Templates panel in the backend.
A backend linked to your cloud account goes one better: the store shows
up as a repository in the Templates panel, so you browse and install it there directly. Unlinked
backends can add
https://scenes.frameos.net/api/store/repository.jsonas a repository by hand. - On a standalone frame: Download zip and upload it on the frame's admin page.
Scenes that run shell commands on the frame are flagged in the store. A backend warns before installing one; the cloud never pushes them at all - install those from the frame itself, and only from publishers you trust.
Your scenes
Signed in, the store gets a second tab, My scenes (scenes.frameos.net/my-scenes), with your private scenes first and your public ones below. Everything private is yours alone until you click Make public. Scenes get here four ways:
- Create a scene with AI - describe what you want and the scene assistant builds it as a new private scene.
- Fork any store scene ("Save a copy as a new private scene in your account"), then edit it in the hosted editor.
- Upload a scene ZIP exported from a backend or a frame; the cover image in the zip becomes the scene's preview.
- From a linked backend: the Save to private cloud item in a scene's Templates menu pushes it straight to your account, and your private scenes appear in the backend's Templates panel on every machine you link.
A private scene's install link carries a sharing secret, so you can hand it to a friend without publishing. Versions are immutable - Save as new version asks for a one-line "What changed?" that heads the version in the dropdown and on the public page, and you can yank a bad version so new installs skip it. A scene the store has pulled stays readable and deletable by its owner.
Build and edit scenes with AI
Every scene you own has an AI panel (and the store's front page has a Create a scene with AI card). Describe the scene, or the change - "add a theme selector", "make the clock bigger, show the weather for Tallinn" - and the assistant edits the node graph, the JavaScript apps and the state fields, checks the result against a catalog-aware linter and renders it inline before handing it over; you then save it as a new version, with the prompt pre-filled as the change note. Long edits keep running if your connection drops and pick up where they were. The prompt is never stored inside the scene, so the scenes.json you download or publish doesn't carry it. The same assistant is available to scripts and agents through the cloud's MCP server.
Published scenes, private ones included, pass an automated content check on their name, description and preview image. Limits while in beta: 200 scenes per account, 100 MB of private storage (public scenes are free), 8 MB per scene ZIP.
Publishing for others
Make a scene public and it appears in the store under your publisher page. Give it a good preview image (in the Preview panel, Save to images uploads the current render to the scene's gallery; Download PNG hands you the same frame as a file; drag gallery images to reorder them, the first one leads) and a description that says which API keys it needs - it doubles as the summary in the card Discord and Slack unfurl for the scene's link. There are no ratings or comments by design - install counts and the diagram speak for the scene.