- Events. Seam emits a
camera.activatedevent when a camera detects motion and adevice.doorbell_rangevent when someone presses a video doorbell. - Event media. Each event lists the IDs of the clip and thumbnail captured for it. You exchange an ID for a short-lived URL with
/media/get. - Live video. You play a camera’s live feed in your user’s browser over WebRTC with the
/cameras/live_viewsendpoints.
Cameras are in public beta and available in every workspace. The request and response shapes for event media and live video may change before general availability.
Supported Providers
Each camera reports its capabilities on the device object. Check
can_stream_live_video before you offer a live view. It’s true only for cameras whose provider supports live video and that are currently online. Ring cameras and doorbells always report false.
Event Media
When a camera detects motion or a doorbell is pressed, the event’smedia_ids array lists one ID for each piece of media Seam expects for it, usually a video clip and a thumbnail image.
- Subscribe a webhook to
camera.activatedanddevice.doorbell_rang. - Store each event’s
media_idswith itsevent_idanddevice_id. - When you need the media, call
/media/getwith amedia_id. The response includes the media’sstatusand, once it’savailable, a signedurlthat expires within minutes. - To download the file from a server-side client, pass
format=redirect. Seam responds with a302to the signed URL.
/media/get again whenever you need a fresh URL.
See Retrieve Event Media for the full workflow, statuses, and errors.
Live Video
Live video streams straight from the camera to your user’s browser. Your servers never handle the video, and your API key never reaches the browser.- On your backend, create a client session that has access to the camera’s connected account, and send its token to the browser.
- In the browser, call
/cameras/live_views/createfor a camera whosecan_stream_live_videoistrue. - Send the browser’s WebRTC offer to
/cameras/live_views/offer, then apply the answer to play the video. - Call
/cameras/live_views/stopwhen your user closes the player.
Next Steps
- Retrieve Event Media — Fetch the clip and thumbnail for a camera event.
- Stream Live Video — Play a camera’s live feed in the browser.
- Ring Cameras — Connect Ring cameras and video doorbells.
- Arlo Cameras — Connect an Arlo account.
- Tapo Cameras — Connect Tapo cameras through a Seam Bridge.