A session is a graph
Cameras and robots join. Models from a catalog are attached to their video while the session runs, under a name you choose; every attach is admitted onto a node with room, or refused while the session keeps running. Results come back as data on the same clock as the video. No pipelines, nothing deployed.
const session = await client.sessions.create({ name: 'warehouse-demo', durationSeconds: 3600 });
const cam = await session.join({ as: 'camera', id: 'cam0', publish: ['video'] });
const objects = await session.attach('sam3-detector-v1', { to: 'cam0', as: 'objects', params: { prompts: ['person'] } });
const alerts = await session.attach('qwen-monitor-v1', { to: 'cam0', as: 'alerts', params: { rules: ['a fire broke out'] } });
objects.watch(drawBoxes);
alerts.watch((e) => page(`${e.rule}: ${e.reason}`));
The same in Python, with the records and the full API: llms.txt. The pages below use the real JS SDK (lib/rgb-sdk.js) against the control plane at /api/v1 on this host.
Demo 1: open-vocabulary detection
Type what to look for. Boxes and track IDs come back as data on a separate track, drawn by the page.
Demo 2: natural-language alerts
Write rules in plain language. A cheap detector watches every frame; a small VLM screens, a larger one confirms and explains.
Demo 3: an agent drives a world, a person takes over
A simulated world joins as a participant (video out, commands in). A VLM agent attached to it drives from a plain-language instruction; hold the arrow keys and you have the wheel. Same shape for a world model later.
Demo 4: model-aware transport
Four cameras on one constrained link. A trigger moves the bandwidth to one camera, forces a keyframe, and backfills its HD pre-roll behind the live stream. The one demo that needs the transport to be MoQ.
Fleet
The nodes serving models right now, their slots and heartbeats, and every session's graph with where each attachment runs.
Pages take ?session=…&cam=…. Live state of the control plane: nodes · sessions · catalog (these need the API key as a bearer token; the pages carry it).