This is a Scrypted Mixin plugin that periodically captures images from your cameras and sends them to a specified HTTP endpoint.
This mixin plugin can be enabled for your existing camera devices in Scrypted. When enabled for a specific camera, it will:
- Capture a JPEG image from the camera at a configurable interval.
- Send the image as a
multipart/form-data
POST request to a server you specify.
This allows you to easily integrate your Scrypted cameras with custom backend services for image analysis, storage, or any other purpose.
First, configure the main provider with a Default Location ID. This is a general identifier for where your Scrypted instance is located (e.g., "store-1", "home", "office-main-entrance").
This is a "Mixin" plugin, which means it adds functionality to your existing cameras. To enable it for a specific camera, go to the camera's settings and find the HTTP Images Stream section.
- Enabled: Toggle this to enable or disable image pushing for this camera.
Your server will receive a POST
request with a multipart/form-data
body containing the following fields:
location_id
(string): The location identifier (e.g., "store-42").camera_id
(string): The unique ID of the camera in Scrypted.camera_name
(string): The name of the camera in Scrypted.timestamp
(string): The ISO 8601 timestamp of when the image was captured (e.g., "2025-07-02T18:30:00.123Z").image
(file): The JPEG image data.
Your server can dynamically adjust the image capture interval for a specific camera. To do this, your endpoint should respond to the POST
request with a JSON body containing an interval_s
key:
{
"interval_s": 10
}
The plugin will then update the interval for that camera to 10 seconds. If the key is not present or the response is not valid JSON, the interval will not be changed.