Bridge overlays

Overlays that read live printer status from Kinkajou Bridge. Overview and Compact use the Bridge WebSocket (/v1/events) so time remaining can update smoothly; older Status / Progress widgets poll HTTP.

Use a separate OBS Browser Source per printer, each with its own printer= id, so you can place three printers anywhere on your scene.

Available overlays

Overlay Browser Source URL Recommended size What it shows
Overview [/bridge/overview/]({{ “/bridge/overview/” relURL }}) 520 × 280
Compact [/bridge/compact/]({{ “/bridge/compact/” relURL }}) 480 × 90
Status [/bridge/status/]({{ “/bridge/status/” relURL }}) 420 × 140
Progress [/bridge/progress/]({{ “/bridge/progress/” relURL }}) 480 × 160

These paths are plain HTML/JS/CSS — no site navigation chrome — so they are safe to use as OBS Browser Sources.

Query parameters

All Bridge overlays accept:

Parameter Default Purpose
printer (first printer) Printer instance id from Bridge (required when you run more than one)
host http://127.0.0.1:29067 Optional. Bridge API base URL — omit unless Bridge is not on the default address
token (none) Optional API token (Authorization: Bearer … / WS token query)
interval 2000 Poll interval for Status / Progress only (ms)

Default URLs (Bridge on 127.0.0.1:29067 — no host needed):

https://overlays.kinkajou.dev/bridge/overview/?printer=PRINTER_A_ID
https://overlays.kinkajou.dev/bridge/compact/?printer=PRINTER_B_ID

If Bridge listens elsewhere, add host:

https://overlays.kinkajou.dev/bridge/overview/?printer=PRINTER_A_ID&host=http://127.0.0.1:9000

Copy ready-made URLs from Printers → Details in Bridge (Connect overlays & Streamer.bot).

Time fields

Bridge exposes job timing on status as:

Overview and Compact refresh from WebSocket events and tick remaining/elapsed locally between updates. If a plugin only sends progress + remaining, the client derives the other times when possible.

Set up in OBS

See Configure in OBS for Browser Source steps, sizing, and how to target a specific printer.

Build your own

You do not need a special Kinkajou JavaScript SDK. Prefer browser built-ins (fetch, WebSocket) or libraries you already use.