> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beta.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Gallery

Outputs B3OS made in production: styled screenshots, a narrated video, a scrape, an action call, a routine run, MCP calls and recipes, each dated.

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](https://beta.b3os.org/gallery/render/bg-b3os-light/76ea1624c55e04cb.webp)
![The demo app rendered in production with the B3OS dark background preset](https://beta.b3os.org/gallery/render/bg-b3os-dark/60793f6e85feb854.webp)
![The demo app rendered in production with the B3OS blue background preset](https://beta.b3os.org/gallery/render/bg-b3os-blue/16310b68b6cdf15e.webp)
![The demo app rendered in production with the Midnight background preset](https://beta.b3os.org/gallery/render/bg-midnight/e1466c5cb95d9d93.webp)
![The demo app rendered in production with the Aurora background preset](https://beta.b3os.org/gallery/render/bg-aurora/014e568cf71676dd.webp)
![The demo app rendered in production with the Sunset background preset](https://beta.b3os.org/gallery/render/bg-sunset/a923b113e7fa9eca.webp)
![The demo app rendered in production with the Ocean background preset](https://beta.b3os.org/gallery/render/bg-ocean/41b5a9bb2b88c5c8.webp)
![The demo app rendered in production with the Arctic background preset](https://beta.b3os.org/gallery/render/bg-arctic/5e2d07b5b4e65077.webp)
![The demo app rendered in production with the Dusk background preset](https://beta.b3os.org/gallery/render/bg-dusk/e646f30a9c18cf1b.webp)
![The demo app rendered in production with the Forest background preset](https://beta.b3os.org/gallery/render/bg-forest/4dd01452008fcbd8.webp)
![The demo app rendered in production with the Ember background preset](https://beta.b3os.org/gallery/render/bg-ember/aef99d0de3d721ce.webp)
![The demo app rendered in production with the Graphite background preset](https://beta.b3os.org/gallery/render/bg-graphite/684ba1f01525cdc8.webp)
![The demo app rendered in production with the Paper background preset](https://beta.b3os.org/gallery/render/bg-paper/ddd1559c7ce8a429.webp)

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](https://beta.b3os.org/gallery/render/frame-mac/cfdee9a240b34ced.webp)
![The demo app rendered in production with the macOS window (dark) frame preset](https://beta.b3os.org/gallery/render/frame-mac-dark/08b84a75e739ab51.webp)
![The demo app rendered in production with the Browser frame preset](https://beta.b3os.org/gallery/render/frame-browser/76ea1624c55e04cb.webp)
![The demo app rendered in production with the Browser (dark) frame preset](https://beta.b3os.org/gallery/render/frame-browser-dark/0fb7d695c7bd35e1.webp)
![The demo app rendered in production with the Windows window frame preset](https://beta.b3os.org/gallery/render/frame-windows/f9ae574c4d40fedb.webp)
![The demo app rendered in production with the Windows window (dark) frame preset](https://beta.b3os.org/gallery/render/frame-windows-dark/bcf16a3ed6e9a65d.webp)
![The demo app rendered in production with the Phone frame preset](https://beta.b3os.org/gallery/render/frame-phone/1a0f6818bf55a380.webp)
![The demo app rendered in production with the Tablet frame preset](https://beta.b3os.org/gallery/render/frame-tablet/74065e03bf33dd47.webp)
![Preview of the Laptop frame preset](https://beta.b3os.org/assets/presets/laptop.webp)
![Preview of the Laptop (dark) frame preset](https://beta.b3os.org/assets/presets/laptop-dark.webp)
![Preview of the Desktop monitor frame preset](https://beta.b3os.org/assets/presets/desktop.webp)

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](https://beta.b3os.org/gallery/render/element/2045392dda4c4e4e.png)
![Full page: image from the capture render/full-page](https://beta.b3os.org/gallery/render/full-page/c3b09dd94792b86f.webp)
![Device pixel ratio 2: image from the capture render/dpr-2](https://beta.b3os.org/gallery/render/dpr-2/5516adb30aacb4bf.webp)
![Transparent PNG: image from the capture render/png-alpha](https://beta.b3os.org/gallery/render/png-alpha/542ab76d4598c8e3.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.

**A narrated walk through the demo app's board and billing pages**

[Open the video](https://beta.b3os.org/gallery/render/video-base/f3855b571f533c39.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/video-base/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

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

## 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

**The narrated demo restyled with the bold caption preset**

[Open the video](https://beta.b3os.org/gallery/render/captions-bold/c3f75360e5e5871c.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/captions-bold/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

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

**The narrated demo restyled with the light caption preset**

[Open the video](https://beta.b3os.org/gallery/render/captions-light/072b5ea70bb8bdd3.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/captions-light/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

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

**The narrated demo restyled with the minimal caption preset**

[Open the video](https://beta.b3os.org/gallery/render/captions-minimal/6978b849a36c974b.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/captions-minimal/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

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

**The narrated demo with static captions instead of karaoke**

[Open the video](https://beta.b3os.org/gallery/render/captions-static/99e1cd21c7bb615f.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/captions-static/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

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

### Cursors and click effects

**The narrated demo restyled with the light arrow cursor**

[Open the video](https://beta.b3os.org/gallery/render/cursor-arrow-light/67aa77fff12a2fa9.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/cursor-arrow-light/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

Captured 2026-11-01 from commit `e7d425e6`, label `live-recorded` (recorded from production). Case `render/cursor-arrow-light`.

**The narrated demo restyled with the dot cursor**

[Open the video](https://beta.b3os.org/gallery/render/cursor-dot/b6b59ae468a1e9ee.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/cursor-dot/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

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

**The narrated demo restyled with the ring click effect**

[Open the video](https://beta.b3os.org/gallery/render/click-ring/d9460cd094992772.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/click-ring/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

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

### Another background and frame, a vertical cut, a GIF

**The narrated demo restyled with the sunset background and the macOS frame**

[Open the video](https://beta.b3os.org/gallery/render/restyle-pair/d9a1b7959a89077a.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/restyle-pair/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

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

**The narrated demo restyled as a 1080x1920 vertical video**

[Open the video](https://beta.b3os.org/gallery/render/vertical-9x16/a3ffdd36ab4f4bec.mp4) · [Captions (WebVTT)](https://beta.b3os.org/gallery/render/vertical-9x16/8b9c00e51b57ac20.vtt)

Transcript

`0:00` This is the launch plan board for the whole team.

`0:04` Open the billing page.

`0:07` Switch to annual and watch the price update.

Captured 2026-11-01 from commit `e7d425e6`, label `live-recorded` (recorded from production). Case `render/vertical-9x16`.

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

![GIF: image 1 of 2 from the capture render/gif](https://beta.b3os.org/gallery/render/gif/7df7e63f061d07ad.gif)
![GIF: image 2 of 2 from the capture render/gif](https://beta.b3os.org/gallery/render/gif/e3992a86f1aebe24.jpg)

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

**Request**

```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"]}'
```
**Response 200**

```json
{
  "object": "scrape",
  "url": "https://beta.b3os.org/demo/",
  "final_url": "https://beta.b3os.org/demo/",
  "status_code": 200,
  "content_type": "text/html",
  "tier": "browser",
  "cache": {
    "state": "miss",
    "age_s": 0
  },
  "markdown": "# Launch plan\n\nWebsite relaunch, shared with the whole team.\n\nSigned in Sign outShareNew task\n\nAdd task\n\nBoardListTimelineFiles\n\n## To do\n\n**Write the pricing page copy**\n\nPlain language, one plan per column, answers before questions.\n\nCopy*MR*\n\n**Pick hero illustrations**\n\nDesign*AL**JK*\n\n**Draft the launch email**\n\nShort, with one link to the new home page.\n\nCopy*SO*\n\n**Check color contrast**\n\nE…",
  "screenshot": {
    "format": "jpeg",
    "width": 1280,
    "height": 800,
    "data_base64": "https://beta.b3os.org/gallery/vision/scrape-before-after/57b6ffdc7278315e.jpg"
  },
  "metadata": {
    "title": "Launch plan",
    "language": "en",
    "robots": "noindex"
  },
  "page_state": {
    "state": "ok"
  },
  "warnings": [],
  "timing": {
    "acquire_ms": 0.019,
    "admit_ms": 0.141,
    "claim_ms": 0.007,
    "extract_ms": 2.666,
    "nav_dcl_ms": 80.626,
    "nav_load_ms": 136.123,
    "nav_response_ms": 40.095,
    "navigate_ms": 237.887,
    "queue_ms": 0.001,
    "read_ms": 2.37,
    "screenshot_ms": 24.53,
    "setup_ms": 1.838,
    "total_ms": 269.674
  }
}
```
**Server-Timing**

```http
server-timing: edge_auth;dur=24.000, edge_upstream;dur=282.000, admit;dur=0.141, queue;dur=0.001, claim;dur=0.007, acquire;dur=0.019, setup;dur=1.838, navigate;dur=237.887, nav_response;dur=40.095, nav_dcl;dur=80.626, nav_load;dur=136.123, read;dur=2.370, screenshot;dur=24.530, extract;dur=2.666, total;dur=269.951
x-request-id: req_01m6am1anh3ep4d6n6yn6tz4sw
```

![The jpeg the call returned (vision/scrape-before-after)](https://beta.b3os.org/gallery/vision/scrape-before-after/57b6ffdc7278315e.jpg)

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.

**Request**

```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}}'
```
**Response 200**

```json
{
  "object": "action_result",
  "output": {
    "apparent_temperature": 5.2,
    "cloud_cover_percent": 65,
    "conditions": "Partly cloudy",
    "is_day": false,
    "precipitation": 0,
    "relative_humidity_percent": 93,
    "temperature": 7.1,
    "time": "2026-11-01T04:45",
    "timezone": "Europe/Berlin",
    "units": {
      "precipitation": "mm",
      "temperature": "°C",
      "wind_speed": "km/h"
    },
    "weather_code": 2,
    "wind_direction_degrees": 38,
    "wind_speed": 5.9
  },
  "ref": "io.b3os/open-meteo/get-current-weather@1.0.0",
  "timing": {
    "inject_ms": 0.001,
    "map_ms": 0.155,
    "render_ms": 0.02,
    "total_ms": 596.753,
    "upstream_ms": 596.376,
    "validate_ms": 0.014
  },
  "upstream_status": 200
}
```
**Server-Timing**

```http
server-timing: edge_auth;dur=23.000, edge_upstream;dur=609.000, validate;dur=0.014, inject;dur=0.001, render;dur=0.020, upstream;dur=596.376, map;dur=0.155, total;dur=596.828
x-request-id: req_01m6am1b6yx94tta4e0aj3nt33
```

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.

**Request**

```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 '{}'
```
**Response 200**

```json
{
  "created_at": "2026-11-01T04:37:48.380Z",
  "durability": "standard",
  "expires_at": "2026-12-01T04:37:48.456Z",
  "finished_at": "2026-11-01T04:37:48.456Z",
  "id": "run_01m6apcfpwwt27wre1tbx1d3aj",
  "input": {},
  "metadata": {},
  "object": "routine_run",
  "progress": {
    "completed": 3,
    "total": 3,
    "unit": "steps"
  },
  "result": {
    "pages": {
      "billing": 200,
      "pricing": 200
    }
  },
  "routine_id": "rtn_01m6apc9k0b5xt3efyvafkrabz",
  "started_at": "2026-11-01T04:37:48.381Z",
  "status": "succeeded",
  "steps": [
    {
      "attempt": 1,
      "duration_ms": 36.325,
      "finished_at": "2026-11-01T04:37:48.417Z",
      "id": "pricing",
      "started_at": "2026-11-01T04:37:48.381Z",
      "status": "succeeded",
      "uses": "core/http@1"
    },
    {
      "attempt": 1,
      "duration_ms": 38.612,
      "finished_at": "2026-11-01T04:37:48.456Z",
      "id": "billing",
      "started_at": "2026-11-01T04:37:48.417Z",
      "status": "succeeded",
      "uses": "core/http@1"
    },
    {
      "attempt": 1,
      "duration_ms": 0.009,
      "finished_at": "2026-11-01T04:37:48.456Z",
      "id": "summary",
      "started_at": "2026-11-01T04:37:48.456Z",
      "status": "succeeded",
      "uses": "core/transform@1"
    }
  ],
  "timing": {
    "dispatch_ms": 0.348,
    "steps_ms": 74.979,
    "total_ms": 75.327
  },
  "trigger": {
    "type": "api"
  },
  "updated_at": "2026-11-01T04:37:48.456Z",
  "version_id": "ver_01m6apc9k06y6cx7bzbn68hffg",
  "version_number": 1
}
```
**Server-Timing**

```http
server-timing: edge_auth;dur=0.000, edge_upstream;dur=88.000, total;dur=75.840
x-request-id: req_01m6apcfpm2ptr47rmyek507yj
```

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.

**tools/call**

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

```text
exit 0
stdout:
Linux 6.1.188
Python 3.12.3
```
**Result JSON**

```json
{
  "content": [
    {
      "type": "text",
      "text": "exit 0\nstdout:\nLinux 6.1.188\nPython 3.12.3\n"
    }
  ],
  "structuredContent": {
    "duration_ms": 4.416,
    "exit_code": 0,
    "object": "exec_result",
    "signal": null,
    "stderr": "",
    "stderr_truncated": false,
    "stdout": "Linux 6.1.188\nPython 3.12.3\n",
    "stdout_truncated": false,
    "timed_out": false,
    "timing": {
      "dispatch_ms": 0.419,
      "run_ms": 4.416,
      "spawn_ms": 1.55,
      "total_ms": 6.53
    }
  }
}
```
**Server-Timing**

```http
server-timing: total;dur=22.000, edge_colo;desc="PDX ray=a53834c6887a6c24"
x-request-id: req_01m6apce0n1vzf0v2cmp05edfm
```

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

**tools/call**

```json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "vision_act",
    "arguments": {
      "url": "https://example.com",
      "actions": [
        {
          "kind": "markdown"
        },
        {
          "kind": "screenshot"
        }
      ]
    }
  }
}
```
**Result**

```text
session brs_01m6apcecpd0agdtqhfgcmk4bf: ok
0. navigate ok https://example.com/
1. markdown ok
This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.

هذا النطاق مُخصص للاستخدام في أمثلة التوثيق دون الحاجة إلى إذن. هذه ليست خدمة، يُرجى تجنب الاعتماد عليها لأغراض الاختبار والمراقبة.

该域名仅用于文档示例，无需获得许可。这并非一项服务，请勿将其用于测试和监控目的。

L’usage de ce domaine est réservé à des exemples de documentation, sans autorisation préalable. Il ne s’agit pas d’un service ; son utilisation à des fins de test ou de surveillance est à éviter.

Данный домен предназначен для использования в примерах документации без необходимости получения предварительного разрешения. Это не сервис; не рекомендуется его использование для тестирования и мониторинга.

Este dominio está destinado al uso en ejemplos de documentación sin necesidad de permiso. Esto no es un servicio; evitar utilizarlo para realizar pruebas o monitoreos.

[Learn more](https://iana.org/help/example-domains)
2. screenshot ok
   (the screenshot follows as image 1)
```
**Result JSON**

```json
{
  "content": [
    {
      "type": "text",
      "text": "session brs_01m6apcecpd0agdtqhfgcmk4bf: ok\n0. navigate ok https://example.com/\n1. markdown ok\nThis domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.\n\nهذا النطاق مُخصص للاستخدام في أمثلة التوثيق دون الحاجة إلى إذن. هذه ليست خدمة، يُرجى تجنب الاعتماد عليها لأغراض الاختبار والمراقبة.\n\n该域名仅用于文档示例，无需获得…"
    },
    {
      "type": "image",
      "mimeType": "image/jpeg",
      "media": "https://beta.b3os.org/gallery/docs-site/mcp-vision_act/a6b88bd4fdce7cc9.jpg",
      "bytes": 60653
    }
  ],
  "structuredContent": {
    "session_id": "brs_01m6apcecpd0agdtqhfgcmk4bf",
    "ok": true,
    "results": [
      {
        "duration_ms": 59.3,
        "kind": "navigate",
        "status": "ok",
        "status_code": 200,
        "url": "https://example.com/"
      },
      {
        "duration_ms": 1.62,
        "kind": "markdown",
        "markdown": "This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.\n\nهذا النطاق مُخصص للاستخدام في أمثلة التوثيق دون الحاجة إلى إذن. هذه ليست خدمة، يُرجى تجنب الاعتماد عليها لأغراض الاختبار والمراقبة.\n\n该域名仅用于文档示例，无需获得许可。这并非一项服务，请勿将其用于测试和监控目的。\n\nL’usage de ce domaine est réservé à des exemples de documentation, …",
        "status": "ok"
      },
      {
        "duration_ms": 99.445,
        "kind": "screenshot",
        "status": "ok",
        "screenshot": {
          "format": "jpeg",
          "width": 1280,
          "height": 800
        }
      }
    ]
  }
}
```
**Server-Timing**

```http
server-timing: total;dur=211.000, edge_colo;desc="PDX ray=a53834c8eb72d74d"
x-request-id: req_01m6apcecg9nq57nrjfqx9j6gg
```

![The jpeg the call returned (docs-site/mcp-vision_act)](https://beta.b3os.org/gallery/docs-site/mcp-vision_act/a6b88bd4fdce7cc9.jpg)

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](/cookbook/scrape-to-screenshots) (vision and render),
[a routine that scrapes, briefs and screenshots](/cookbook/routine-page-brief) (routines, vision, infer and render)
and [a sandboxed agent that calls the model and a tool](/cookbook/sandbox-agent-weather) (sandboxes, infer and
actions).