Skip to main content
Per-camera live view with optional OSD (On-Screen Display) overlay. All endpoints are scoped to a specific camera. See the auto-generated API reference for full request/response schemas.

Workflow

1

Enable or start live view

POST /api/cameras/{id}/live-view/enable or POST /api/cameras/{id}/live-view/start
2

Get frames

GET /api/cameras/{id}/live-view/frame returns a single JPEG frame
3

Optional: enable OSD

POST /api/cameras/{id}/live-view/osd-enable
4

Get OSD frames

GET /api/cameras/{id}/live-view/osd-frame
5

Stop live view

POST /api/cameras/{id}/live-view/stop

Endpoints

Live view is disabled by default in remote-transfer mode. You must call /live-view/enable (or /live-view/start which auto-enables) before requesting frames.

Get Frame

Returns the latest live view frame as a JPEG image. Streaming must be started first.

OSD Overlay

Enable on-screen display — the camera renders its UI (exposure info, focus points, histogram, etc.) as an overlay image composited onto the live view frame.

Polling for continuous frames

For a render loop at ~15 fps, poll GET /api/cameras/{id}/live-view/frame at roughly 66 ms intervals. The endpoint returns the latest JPEG the server has captured — the camera-side frame rate is the actual cap. See the live-view polling example for full client implementations in TypeScript, Python, and Swift.