Everything on this page was made by B3OS in production (https://beta-api.b3os.org) by the gallery runner, which sends each case's request and keeps what came back. Each block says when it ran, from which commit, and its label; live-recorded means production. Nothing here is a mockup or a hand-edited response. The requests are the cases in examples/gallery/cases/, so you can send the same ones.

Screenshots: backgrounds

The demo app rendered once per background preset, in a browser frame. The same request with another background gives the next image.

The demo app rendered in production with the B3OS light background preset
B3OS light (b3os-light)
The demo app rendered in production with the B3OS dark background preset
B3OS dark (b3os-dark)
The demo app rendered in production with the B3OS blue background preset
B3OS blue (b3os-blue)
The demo app rendered in production with the Midnight background preset
Midnight (midnight)
The demo app rendered in production with the Aurora background preset
Aurora (aurora)
The demo app rendered in production with the Sunset background preset
Sunset (sunset)
The demo app rendered in production with the Ocean background preset
Ocean (ocean)
The demo app rendered in production with the Arctic background preset
Arctic (arctic)
The demo app rendered in production with the Dusk background preset
Dusk (dusk)
The demo app rendered in production with the Forest background preset
Forest (forest)
The demo app rendered in production with the Ember background preset
Ember (ember)
The demo app rendered in production with the Graphite background preset
Graphite (graphite)
The demo app rendered in production with the Paper background preset
Paper (paper)

Each image is the demo app rendered in production by POST /v1/render/screenshots with that preset: cases render/bg-<id> , label live-recorded , captured 2026-11-01 from commit 617e5c05 .

Screenshots: frames

The same page in each window frame preset.

The demo app rendered in production with the macOS window frame preset
macOS window (mac)
The demo app rendered in production with the macOS window (dark) frame preset
macOS window (dark) (mac-dark)
The demo app rendered in production with the Browser frame preset
Browser (browser)
The demo app rendered in production with the Browser (dark) frame preset
Browser (dark) (browser-dark)
The demo app rendered in production with the Windows window frame preset
Windows window (windows)
The demo app rendered in production with the Windows window (dark) frame preset
Windows window (dark) (windows-dark)
The demo app rendered in production with the Phone frame preset
Phone (phone)
The demo app rendered in production with the Tablet frame preset
Tablet (tablet)
Preview of the Laptop frame preset
Laptop (laptop)
Preview of the Laptop (dark) frame preset
Laptop (dark) (laptop-dark)
Preview of the Desktop monitor frame preset
Desktop monitor (desktop)

Each image is the demo app rendered in production by POST /v1/render/screenshots with that preset: cases render/frame-<id> , label live-recorded , captured 2026-11-01 from commit 617e5c05 .

Laptop, Laptop (dark), Desktop monitor: the preview image GET /v1/render/presets links (preview_url); no production capture yet.

Screenshots: element, full page, pixel ratio and transparency

One element at device pixel ratio 2, a full-page capture, a viewport at pixel ratio 2, and a PNG with a transparent background.

One element at 2x: image from the capture render/element
One element at 2x
Full page: image from the capture render/full-page
Full page
Device pixel ratio 2: image from the capture render/dpr-2
Device pixel ratio 2
Transparent PNG: image from the capture render/png-alpha
Transparent PNG

Captured 2026-11-01 from commit 617e5c05 , label live-recorded (recorded from production). Case render/element .

Captured 2026-11-01 from commit 617e5c05 , label live-recorded (recorded from production). Case render/full-page .

Captured 2026-11-01 from commit 617e5c05 , label live-recorded (recorded from production). Case render/dpr-2 .

Captured 2026-11-01 from commit 617e5c05 , label live-recorded (recorded from production). Case render/png-alpha .

A narrated video

A scripted walk through the demo app: three beats, a voice reading each line, karaoke captions burned in and a WebVTT sidecar, styled with the midnight background and the dark browser frame.

One recording, restyled

POST /v1/render/videos/{video_id}/restyle composes the recording above again with another style: the page is not captured again and the voice is not spoken again. Each video below is that call on the same recording, with one part of the style changed.

Caption presets

Cursors and click effects

Another background and frame, a vertical cut, a GIF

formats: ["gif"] for places that cannot play video:

GIF: image 1 of 2 from the capture render/gif
GIF 1 of 2
GIF: image 2 of 2 from the capture render/gif
GIF 2 of 2

Captured 2026-11-01 from commit e7d425e6 , label live-recorded (recorded from production). Case render/gif .

A scrape: the page as the browser rendered it, and the Markdown

bash
curl -s -X POST 'https://beta-api.b3os.org/v1/vision/scrape' \ -H "Authorization: Bearer $B3OS_API_KEY" \ -H 'Content-Type: application/json' \ -d '{"url":"https://beta.b3os.org/demo/","formats":["markdown","screenshot"]}'
The jpeg the call returned (vision/scrape-before-after)

Captured 2026-11-01 from commit 1f273e0a , label live-recorded (recorded from production); long values abridged. Case vision/scrape-before-after .

A keyless action call

The Open-Meteo action from the catalog, called with no connection.

bash
curl -s -X POST 'https://beta-api.b3os.org/v1/actions/call' \ -H "Authorization: Bearer $B3OS_API_KEY" \ -H 'content-type: application/json' \ -d '{"ref":"io.b3os/open-meteo/get-current-weather@1","input":{"latitude":52.52,"longitude":13.405}}'

Captured 2026-11-01 from commit 1f273e0a , label live-recorded (recorded from production). Case actions/call-current-weather .

A routine run, step by step

A three-step routine run through the API with ?wait=30: two core/http@1 steps fetch demo pages in parallel, then a transform joins them. Each step carries its start, finish and duration on the node.

bash
curl -s -X POST 'https://beta-api.b3os.org/v1/routines/gallery-steps/runs?wait=30' \ -H "Authorization: Bearer $B3OS_API_KEY" \ -H 'content-type: application/json' \ -d '{}'

Captured 2026-11-01 from commit b495ed3b , label live-recorded (recorded from production). Case routines/run-gantt .

Through MCP

The remote MCP server (https://beta-api.b3os.org/mcp) with the same key: each block is the tools/call an agent sends and the result it gets back.

json
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "sandbox_exec", "arguments": { "sandbox_id": "sbx_01m6apce03dqyayz2ysd63wmjj", "cmd": "uname -sr && python3 --version" } }}

Captured 2026-11-01 from commit b495ed3b , label live-recorded (recorded from production). Case docs-site/mcp-sandbox_exec .

json
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "vision_act", "arguments": { "url": "https://example.com", "actions": [ { "kind": "markdown" }, { "kind": "screenshot" } ] } }}
The jpeg the call returned (docs-site/mcp-vision_act)

Captured 2026-11-01 from commit b495ed3b , label live-recorded (recorded from production); long values abridged. Case docs-site/mcp-vision_act .

Recipes

Recipes chain products in one flow and run against production the same way; each page shows its last green run: scrape a page, then screenshot its links (vision and render), a routine that scrapes, briefs and screenshots (routines, vision, infer and render) and a sandboxed agent that calls the model and a tool (sandboxes, infer and actions).

Ask a question... ⌘I