01

Detection (What to watch)

Configure the sources the detector should monitor.

source
RTSP/HTTP stream URL or local video path. Use a list [ ] for multiple sources.
interval
Seconds to wait between processed frames (default 0). Useful to reduce load on slow machines.
frame_retention
How many recent frames to keep in memory per source (default 30) for context.
02

YOLO (Object Detection)

The fast first-pass AI that scans every frame. Without YOLO, all frames simply pass through.

model
URL or local path to a YOLO model file (.pt or .onnx).
confidence
Confidence required (0-1). Can also be a per-class threshold, e.g., { "person": 0.85 }.
time_max
Maximum duration in seconds to group frames into one event (default 60).
timeout
Seconds of no detections before the event is considered over (default 5).
cooldown
Seconds to wait before starting a new event. Prevents repeat alerts. Can be per class.
include_trailing_time
Seconds of extra footage to include after the last detection (default 1).
frames_min
How many frames in a row must match before counting (default 6, or 3 depending on GPU).
imgsz
Image size fed into the model. Higher is more accurate but slower (default 640).
strategy
Which frames to evaluate: "LATEST" (most recent only) or "ALL".
03

VLM (AI Double-Check - Optional)

A Vision Language Model checks the footage after a YOLO detection. Greatly reduces false alarms.

prompt
The question to ask, e.g., 'Is there a person in this video?'.
model
The AI model (e.g., 'gemini/gemini-2.0-flash'). Supports LiteLLM providers.
key
API key for the chosen model provider.
url
Custom API endpoint, useful for local models.
strategy
"VIDEO" sends a clip to the AI. "IMAGE" sends a single frame (cheaper but less accurate).
04

Exporters (Alerts & Storage)

Configure where confirmed detections should be sent.

Disk (Opslag)

directory
Folder path under 'detections/' to save files into. Otherwise uses the class name.
strategy
"BEST" saves only the highest-confidence frame. "ALL" saves every frame.
confidence
Minimum confidence required to save.
export_rejected
Whether to also save detections rejected by the VLM (default true).

Telegram

token
Your Telegram bot token.
chat
The Telegram chat or user ID.
confidence
Minimum confidence required to send.
alert_every
Only send an alert every Nth detection (1 = every time, 5 = every 5th).
include_plot
Include the full frame with a detection box drawn on it (default false).
include_crop
Include a cropped image of just the detected object (default false).
include_video
Include an MP4 clip of the detection sequence (default true).
video_width
Width of the video clip in pixels (default 1280).
video_crf
Video quality (0-51). Lower = better quality, default 28.
export_rejected
Whether to also send detections rejected by the VLM (default false).

Webhook

url
The URL to POST to when a detection occurs.
token
Authorization token sent in the request headers.
confidence
Minimum confidence required to trigger.
data_type
How image/video data is encoded in the payload: "binary" or "base64".
data_max
Maximum payload size in bytes. Images are compressed if they exceed this.
include_plot
Include the full frame with detection overlay (default false).
include_crop
Include a cropped image of the detected area (default true).
include_video
Include an MP4 clip of the detection sequence (default false).
video_width
Width of the video clip in pixels (default 1280).
video_crf
Video quality (0-51). Lower = better quality, default 28.
export_rejected
Whether to also POST detections rejected by the VLM (default false).
05

Health (Ping Monitor)

Sends a simple periodic HTTP request to verify the process is still alive.

url
The URL to ping.
method
HTTP method: GET, POST, PUT, PATCH, DELETE, or HEAD (default GET).
interval
Seconds between pings (default 60).
timeout
Request timeout in seconds (default 5).
headers
Optional HTTP headers map.
body
Optional request body sent as raw text.
06

ONNX Runtime

Controls how ONNX Runtime configures before loading a YOLO model.

provider
Optional provider name to force (e.g., "CUDAExecutionProvider").
winml
For Windows ML build only. Tries to register ML execution providers (default true).
opset
ONNX opset used when exporting. Lower values can improve compatibility (default 20).

View the full documentation, example configurations and the Docker setup on our official GitHub page.

View on GitHub