Skip to content

Live View & OSD

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.

  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


Method Path Description
POST /api/cameras/{id}/live-view/enable Send SDK Setting_Key_EnableLiveView
POST /api/cameras/{id}/live-view/disable Disable live view
GET /api/cameras/{id}/live-view/status Returns enabled + streaming booleans
POST /api/cameras/{id}/live-view/start Start the frame capture worker (auto-enables live view)
POST /api/cameras/{id}/live-view/stop Stop the frame capture worker
GET /api/cameras/{id}/live-view/frame Latest JPEG frame (Content-Type: image/jpeg)
POST /api/cameras/{id}/live-view/osd-enable Enable OSD overlay
POST /api/cameras/{id}/live-view/osd-disable Disable OSD overlay
GET /api/cameras/{id}/live-view/osd-status Returns supported + enabled
GET /api/cameras/{id}/live-view/osd-frame Composited JPEG (live view + OSD)

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

Terminal window
curl -o frame.jpg http://localhost:8080/api/cameras/D10F60149B0C/live-view/frame

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.

Terminal window
curl -o osd-frame.jpg http://localhost:8080/api/cameras/D10F60149B0C/live-view/osd-frame

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.