Live View

View as Markdown

Watch a session in real time. Mint a preview token, open the stream URL in a browser, and see the session framebuffer at 5 fps. Click and tap through the stream back into the session.

Minting a preview token

$curl -s https://api.chaser.sh/v1/sessions/{session_id}/preview-token \
> -X POST \
> -H "Authorization: Bearer $CHASER_KEY" \
> -H "Content-Type: application/json" \
> -d '{}' | jq

Response:

1{
2 "url": "wss://stream.chaser.sh/sessions/{session_id}/preview?token=eyJ...",
3 "expires_at": "2026-06-13T11:54:41.836Z",
4 "input_enabled": true,
5 "fps": 5
6}
FieldDescription
urlWebSocket URL for the preview stream
expires_atToken validity (ISO 8601 timestamp).
input_enabledWhether click/tap input is forwarded to the session.
fpsFrame rate (currently 5).

Opening the stream

The preview URL is a WebSocket endpoint designed to be consumed by a browser-based player. Open it in the Chaser dashboard’s session detail page, or connect directly:

https://chaser.sh/dashboard/sessions/{session_id}

The dashboard renders the stream using a <canvas> element and forwards mouse and touch events back through the WebSocket.

Using live view for captchas

When a target presents a captcha, open the live view, solve it by clicking through the stream, and let your automation continue. The session sees genuine user input — trusted events from real mouse and touch interactions — not synthetic dispatchMouseEvent calls.

This is the difference between a captcha that fails and one that passes: the input events carry the isTrusted property that bot-detection libraries check.

Input forwarding

When input_enabled: true (the default), clicks and taps on the preview canvas are forwarded to the session as native input events. Keyboard input is forwarded when the preview canvas has focus.

Events are translated at the viewport level — a click at pixel (x, y) on the canvas becomes a click at (x, y) on the session’s screen.

Token lifecycle

  • Tokens expire (check expires_at). Mint a new one to resume.
  • Deleting the session invalidates all outstanding tokens.
  • Tokens are single-workspace — a token for workspace A cannot access workspace B’s sessions.