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

MethodPathDescription
POST/api/cameras/{id}/live-view/enableSend SDK Setting_Key_EnableLiveView
POST/api/cameras/{id}/live-view/disableDisable live view
GET/api/cameras/{id}/live-view/statusReturns enabled + streaming booleans
POST/api/cameras/{id}/live-view/startStart the frame capture worker (auto-enables live view)
POST/api/cameras/{id}/live-view/stopStop the frame capture worker
GET/api/cameras/{id}/live-view/frameLatest JPEG frame (Content-Type: image/jpeg)
POST/api/cameras/{id}/live-view/osd-enableEnable OSD overlay
POST/api/cameras/{id}/live-view/osd-disableDisable OSD overlay
GET/api/cameras/{id}/live-view/osd-statusReturns supported + enabled
GET/api/cameras/{id}/live-view/osd-frameComposited JPEG (live view + OSD)
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.
curl -o frame.jpg http://localhost:8080/api/cameras/D10F60149B0C/live-view/frame

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.
curl -o osd-frame.jpg http://localhost:8080/api/cameras/D10F60149B0C/live-view/osd-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.