"description":"Numeric or string version of the active configuration to help detect migrations or format changes."
},
"safe_mode":{
"label":"Safe mode",
"description":"When enabled, start Frigate in safe mode with reduced features for troubleshooting."
},
"environment_vars":{
"label":"Environment variables",
"description":"Key/value pairs of environment variables to set for the Frigate process."
},
"logger":{
"label":"Logging",
"description":"Controls default log verbosity and per-component log level overrides.",
"default":{
"label":"Logging level",
"description":"Default global log verbosity (debug, info, warning, error)."
},
"logs":{
"label":"Per-process log level",
"description":"Per-component log level overrides to increase or decrease verbosity for specific modules."
}
},
"auth":{
"label":"Authentication",
"description":"Authentication and session-related settings including cookie and rate limit options.",
"enabled":{
"label":"Enable authentication",
"description":"Enable native authentication for the Frigate UI."
},
"reset_admin_password":{
"label":"Reset admin password",
"description":"If true, reset the admin user's password on startup and print the new password in logs."
},
"cookie_name":{
"label":"JWT cookie name",
"description":"Name of the cookie used to store the JWT token for native authentication."
},
"cookie_secure":{
"label":"Secure cookie flag",
"description":"Set the secure flag on the auth cookie; should be true when using TLS."
},
"session_length":{
"label":"Session length",
"description":"Session duration in seconds for JWT-based sessions."
},
"refresh_time":{
"label":"Session refresh window",
"description":"When a session is within this many seconds of expiring, refresh it back to full length."
},
"failed_login_rate_limit":{
"label":"Failed login limits",
"description":"Rate limiting rules for failed login attempts to reduce brute-force attacks."
},
"trusted_proxies":{
"label":"Trusted proxies",
"description":"List of trusted proxy IPs used when determining client IP for rate limiting."
},
"hash_iterations":{
"label":"Hash iterations",
"description":"Number of PBKDF2-SHA256 iterations to use when hashing user passwords."
},
"roles":{
"label":"Role mappings",
"description":"Map roles to camera lists. An empty list grants access to all cameras for the role."
},
"admin_first_time_login":{
"label":"First-time admin flag",
"description":"When true the UI may show a help link on the login page informing users how to sign in after an admin password reset. "
}
},
"database":{
"label":"Database",
"description":"Settings for the SQLite database used by Frigate to store tracked object and recording metadata.",
"path":{
"label":"Database path",
"description":"Filesystem path where the Frigate SQLite database file will be stored."
}
},
"go2rtc":{
"label":"go2rtc",
"description":"Settings for the integrated go2rtc restreaming service used for live stream relaying and translation."
},
"mqtt":{
"label":"MQTT",
"description":"Settings for connecting and publishing telemetry, snapshots, and event details to an MQTT broker.",
"enabled":{
"label":"Enable MQTT",
"description":"Enable or disable MQTT integration for state, events, and snapshots."
},
"host":{
"label":"MQTT host",
"description":"Hostname or IP address of the MQTT broker."
},
"port":{
"label":"MQTT port",
"description":"Port of the MQTT broker (usually 1883 for plain MQTT)."
},
"topic_prefix":{
"label":"Topic prefix",
"description":"MQTT topic prefix for all Frigate topics; must be unique if running multiple instances."
},
"client_id":{
"label":"Client ID",
"description":"Client identifier used when connecting to the MQTT broker; should be unique per instance."
},
"stats_interval":{
"label":"Stats interval",
"description":"Interval in seconds for publishing system and camera stats to MQTT."
},
"user":{
"label":"MQTT username",
"description":"Optional MQTT username; can be provided via environment variables or secrets."
},
"password":{
"label":"MQTT password",
"description":"Optional MQTT password; can be provided via environment variables or secrets."
},
"tls_ca_certs":{
"label":"TLS CA certs",
"description":"Path to CA certificate for TLS connections to the broker (for self-signed certs)."
},
"tls_client_cert":{
"label":"Client cert",
"description":"Client certificate path for TLS mutual authentication; do not set user/password when using client certs."
},
"tls_client_key":{
"label":"Client key",
"description":"Private key path for the client certificate."
},
"tls_insecure":{
"label":"TLS insecure",
"description":"Allow insecure TLS connections by skipping hostname verification (not recommended)."
},
"qos":{
"label":"MQTT QoS",
"description":"Quality of Service level for MQTT publishes/subscriptions (0, 1, or 2)."
}
},
"notifications":{
"label":"Notifications",
"description":"Settings to enable and control notifications for all cameras; can be overridden per-camera.",
"enabled":{
"label":"Enable notifications",
"description":"Enable or disable notifications for all cameras; can be overridden per-camera."
},
"email":{
"label":"Notification email",
"description":"Email address used for push notifications or required by certain notification providers."
},
"cooldown":{
"label":"Cooldown period",
"description":"Cooldown (seconds) between notifications to avoid spamming recipients."
},
"enabled_in_config":{
"label":"Original notifications state",
"description":"Indicates whether notifications were enabled in the original static configuration."
}
},
"networking":{
"label":"Networking",
"description":"Network-related settings such as IPv6 enablement for Frigate endpoints.",
"ipv6":{
"label":"IPv6 configuration",
"description":"IPv6-specific settings for Frigate network services.",
"enabled":{
"label":"Enable IPv6",
"description":"Enable IPv6 support for Frigate services (API and UI) where applicable."
}
},
"listen":{
"label":"Listening ports configuration",
"internal":{
"label":"Internal port",
"description":"Internal listening port for Frigate (default 5000)."
},
"external":{
"label":"External port",
"description":"External listening port for Frigate (default 8971)."
}
}
},
"proxy":{
"label":"Proxy",
"description":"Settings for integrating Frigate behind a reverse proxy that passes authenticated user headers.",
"header_map":{
"label":"Header mapping",
"description":"Map incoming proxy headers to Frigate user and role fields for proxy-based auth.",
"user":{
"label":"User header",
"description":"Header containing the authenticated username provided by the upstream proxy."
},
"role":{
"label":"Role header",
"description":"Header containing the authenticated user's role or groups from the upstream proxy."
},
"role_map":{
"label":"Role mapping",
"description":"Map upstream group values to Frigate roles (for example map admin groups to the admin role)."
}
},
"logout_url":{
"label":"Logout URL",
"description":"URL to redirect users to when logging out via the proxy."
},
"auth_secret":{
"label":"Proxy secret",
"description":"Optional secret checked against the X-Proxy-Secret header to verify trusted proxies."
},
"default_role":{
"label":"Default role",
"description":"Default role assigned to proxy-authenticated users when no role mapping applies (admin or viewer)."
},
"separator":{
"label":"Separator character",
"description":"Character used to split multiple values provided in proxy headers."
}
},
"telemetry":{
"label":"Telemetry",
"description":"System telemetry and stats options including GPU and network bandwidth monitoring.",
"network_interfaces":{
"label":"Network interfaces",
"description":"List of network interface name prefixes to monitor for bandwidth statistics."
},
"stats":{
"label":"System stats",
"description":"Options to enable/disable collection of various system and GPU statistics.",
"amd_gpu_stats":{
"label":"AMD GPU stats",
"description":"Enable collection of AMD GPU statistics if an AMD GPU is present."
},
"intel_gpu_stats":{
"label":"Intel GPU stats",
"description":"Enable collection of Intel GPU statistics if an Intel GPU is present."
},
"network_bandwidth":{
"label":"Network bandwidth",
"description":"Enable per-process network bandwidth monitoring for camera ffmpeg processes and detectors (requires capabilities)."
},
"intel_gpu_device":{
"label":"SR-IOV device",
"description":"Device identifier used when treating Intel GPUs as SR-IOV to fix GPU stats."
}
},
"version_check":{
"label":"Version check",
"description":"Enable an outbound check to detect if a newer Frigate version is available."
}
},
"tls":{
"label":"TLS",
"description":"TLS settings for Frigate's web endpoints (port 8971).",
"enabled":{
"label":"Enable TLS",
"description":"Enable TLS for Frigate's web UI and API on the configured TLS port."
}
},
"ui":{
"label":"UI",
"description":"User interface preferences such as timezone, time/date formatting, and units.",
"timezone":{
"label":"Timezone",
"description":"Optional timezone to display across the UI (defaults to browser local time if unset)."
},
"time_format":{
"label":"Time format",
"description":"Time format to use in the UI (browser, 12hour, or 24hour)."
},
"date_style":{
"label":"Date style",
"description":"Date style to use in the UI (full, long, medium, short)."
},
"time_style":{
"label":"Time style",
"description":"Time style to use in the UI (full, long, medium, short)."
},
"unit_system":{
"label":"Unit system",
"description":"Unit system for display (metric or imperial) used in the UI and MQTT."
}
},
"detectors":{
"label":"Detector hardware",
"description":"Configuration for object detectors (CPU, GPU, ONNX backends) and any detector-specific model settings.",
"type":{
"label":"Detector Type",
"description":"Type of detector to use for object detection (for example 'cpu', 'edgetpu', 'openvino')."
},
"model":{
"label":"Detector specific model configuration",
"description":"Detector-specific model configuration options (path, input size, etc.).",
"path":{
"label":"Custom Object detection model path",
"description":"Path to a custom detection model file (or plus://<model_id> for Frigate+ models)."
},
"labelmap_path":{
"label":"Label map for custom object detector",
"description":"Path to a labelmap file that maps numeric classes to string labels for the detector."
},
"width":{
"label":"Object detection model input width",
"description":"Width of the model input tensor in pixels."
},
"height":{
"label":"Object detection model input height",
"description":"Height of the model input tensor in pixels."
},
"labelmap":{
"label":"Labelmap customization",
"description":"Overrides or remapping entries to merge into the standard labelmap."
},
"attributes_map":{
"label":"Map of object labels to their attribute labels",
"description":"Mapping from object labels to attribute labels used to attach metadata (for example 'car' -> ['license_plate'])."
},
"input_tensor":{
"label":"Model Input Tensor Shape",
"description":"Tensor format expected by the model: 'nhwc' or 'nchw'."
},
"input_pixel_format":{
"label":"Model Input Pixel Color Format",
"description":"Pixel colorspace expected by the model: 'rgb', 'bgr', or 'yuv'."
},
"input_dtype":{
"label":"Model Input D Type",
"description":"Data type of the model input tensor (for example 'float32')."
},
"model_type":{
"label":"Object Detection Model Type",
"description":"Detector model architecture type (ssd, yolox, yolonas) used by some detectors for optimization."
}
},
"model_path":{
"label":"Detector specific model path",
"description":"File path to the detector model binary if required by the chosen detector."
}
},
"model":{
"label":"Detection model",
"description":"Settings to configure a custom object detection model and its input shape.",
"path":{
"label":"Custom Object detection model path",
"description":"Path to a custom detection model file (or plus://<model_id> for Frigate+ models)."
},
"labelmap_path":{
"label":"Label map for custom object detector",
"description":"Path to a labelmap file that maps numeric classes to string labels for the detector."
},
"width":{
"label":"Object detection model input width",
"description":"Width of the model input tensor in pixels."
},
"height":{
"label":"Object detection model input height",
"description":"Height of the model input tensor in pixels."
},
"labelmap":{
"label":"Labelmap customization",
"description":"Overrides or remapping entries to merge into the standard labelmap."
},
"attributes_map":{
"label":"Map of object labels to their attribute labels",
"description":"Mapping from object labels to attribute labels used to attach metadata (for example 'car' -> ['license_plate'])."
},
"input_tensor":{
"label":"Model Input Tensor Shape",
"description":"Tensor format expected by the model: 'nhwc' or 'nchw'."
},
"input_pixel_format":{
"label":"Model Input Pixel Color Format",
"description":"Pixel colorspace expected by the model: 'rgb', 'bgr', or 'yuv'."
},
"input_dtype":{
"label":"Model Input D Type",
"description":"Data type of the model input tensor (for example 'float32')."
},
"model_type":{
"label":"Object Detection Model Type",
"description":"Detector model architecture type (ssd, yolox, yolonas) used by some detectors for optimization."
}
},
"genai":{
"label":"Generative AI",
"description":"Settings for integrated generative AI providers used to generate object descriptions and review summaries.",
"api_key":{
"label":"API key",
"description":"API key required by some providers (can also be set via environment variables)."
},
"base_url":{
"label":"Base URL",
"description":"Base URL for self-hosted or compatible providers (for example an Ollama instance)."
},
"model":{
"label":"Model",
"description":"The model to use from the provider for generating descriptions or summaries."
},
"provider":{
"label":"Provider",
"description":"The GenAI provider to use (for example: ollama, gemini, openai)."
},
"provider_options":{
"label":"Provider options",
"description":"Additional provider-specific options to pass to the GenAI client."
},
"runtime_options":{
"label":"Runtime options",
"description":"Runtime options passed to the provider for each inference call."
}
},
"audio":{
"label":"Audio events",
"description":"Settings for audio-based event detection for all cameras; can be overridden per-camera.",
"enabled":{
"label":"Enable audio detection",
"description":"Enable or disable audio event detection for all cameras; can be overridden per-camera."
},
"max_not_heard":{
"label":"End timeout",
"description":"Amount of seconds without the configured audio type before the audio event is ended."
},
"min_volume":{
"label":"Minimum volume",
"description":"Minimum RMS volume threshold required to run audio detection; lower values increase sensitivity (e.g., 200 high, 500 medium, 1000 low)."
},
"listen":{
"label":"Listen types",
"description":"List of audio event types to detect (for example: bark, fire_alarm, scream, speech, yell)."
},
"filters":{
"label":"Audio filters",
"description":"Per-audio-type filter settings such as confidence thresholds used to reduce false positives."
},
"enabled_in_config":{
"label":"Original audio state",
"description":"Indicates whether audio detection was originally enabled in the static config file."
},
"num_threads":{
"label":"Detection threads",
"description":"Number of threads to use for audio detection processing."
}
},
"birdseye":{
"label":"Birdseye",
"description":"Settings for the Birdseye composite view that composes multiple camera feeds into a single layout.",
"enabled":{
"label":"Enable Birdseye",
"description":"Enable or disable the Birdseye view feature."
},
"mode":{
"label":"Tracking mode",
"description":"Mode for including cameras in Birdseye: 'objects', 'motion', or 'continuous'."
},
"restream":{
"label":"Restream RTSP",
"description":"Re-stream the Birdseye output as an RTSP feed; enabling this will keep Birdseye running continuously."
},
"width":{
"label":"Width",
"description":"Output width (pixels) of the composed Birdseye frame."
},
"height":{
"label":"Height",
"description":"Output height (pixels) of the composed Birdseye frame."
},
"quality":{
"label":"Encoding quality",
"description":"Encoding quality for the Birdseye mpeg1 feed (1 highest quality, 31 lowest)."
},
"inactivity_threshold":{
"label":"Inactivity threshold",
"description":"Seconds of inactivity after which a camera will stop being shown in Birdseye."
},
"layout":{
"label":"Layout",
"description":"Layout options for the Birdseye composition.",
"scaling_factor":{
"label":"Scaling factor",
"description":"Scaling factor used by the layout calculator (range 1.0 to 5.0)."
},
"max_cameras":{
"label":"Max cameras",
"description":"Maximum number of cameras to display at once in Birdseye; shows the most recent cameras."
}
},
"idle_heartbeat_fps":{
"label":"Idle heartbeat FPS",
"description":"Frames-per-second to resend the last composed Birdseye frame when idle; set to 0 to disable."
},
"order":{
"label":"Position",
"description":"Numeric position controlling the camera's ordering in the Birdseye layout."
}
},
"detect":{
"label":"Object Detection",
"description":"Settings for the detection/detect role used to run object detection and initialize trackers.",
"enabled":{
"label":"Detection enabled",
"description":"Enable or disable object detection for all cameras; can be overridden per-camera. Detection must be enabled for object tracking to run."
},
"height":{
"label":"Detect height",
"description":"Height (pixels) of frames used for the detect stream; leave empty to use the native stream resolution."
},
"width":{
"label":"Detect width",
"description":"Width (pixels) of frames used for the detect stream; leave empty to use the native stream resolution."
},
"fps":{
"label":"Detect FPS",
"description":"Desired frames per second to run detection on; lower values reduce CPU usage (recommended value is 5, only set higher - at most 10 - if tracking extremely fast moving objects)."
},
"min_initialized":{
"label":"Minimum initialization frames",
"description":"Number of consecutive detection hits required before creating a tracked object. Increase to reduce false initializations. Default value is fps divided by 2."
},
"max_disappeared":{
"label":"Maximum disappeared frames",
"description":"Number of frames without a detection before a tracked object is considered gone."
},
"stationary":{
"label":"Stationary objects config",
"description":"Settings to detect and manage objects that remain stationary for a period of time.",
"interval":{
"label":"Stationary interval",
"description":"How often (in frames) to run a detection check to confirm a stationary object."
},
"threshold":{
"label":"Stationary threshold",
"description":"Number of frames with no position change required to mark an object as stationary."
},
"max_frames":{
"label":"Max frames",
"description":"Limits how long stationary objects are tracked before being discarded.",
"default":{
"label":"Default max frames",
"description":"Default maximum frames to track a stationary object before stopping."
},
"objects":{
"label":"Object max frames",
"description":"Per-object overrides for maximum frames to track stationary objects."
}
},
"classifier":{
"label":"Enable visual classifier",
"description":"Use a visual classifier to detect truly stationary objects even when bounding boxes jitter."
}
},
"annotation_offset":{
"label":"Annotation offset",
"description":"Milliseconds to shift detect annotations to better align timeline bounding boxes with recordings; can be positive or negative."
}
},
"ffmpeg":{
"label":"FFmpeg",
"description":"FFmpeg settings including binary path, args, hwaccel options, and per-role output args.",
"path":{
"label":"FFmpeg path",
"description":"Path to the FFmpeg binary to use or a version alias (\"5.0\" or \"7.0\")."
},
"global_args":{
"label":"FFmpeg global args",
"description":"Global args passed to FFmpeg processes by default."
},
"hwaccel_args":{
"label":"Hardware acceleration args",
"description":"Hardware acceleration arguments for FFmpeg (auto or provider-specific)."
},
"input_args":{
"label":"Input args",
"description":"Input arguments applied to FFmpeg input streams by default."
},
"output_args":{
"label":"Output args",
"description":"Default output args used for different FFmpeg roles such as detect and record.",
"detect":{
"label":"Detect output args",
"description":"Default output args for detect role streams."
},
"record":{
"label":"Record output args",
"description":"Default output args for record role streams."
}
},
"retry_interval":{
"label":"FFmpeg retry time",
"description":"Seconds to wait before attempting to reconnect a camera stream after failure. Default is 10."
},
"apple_compatibility":{
"label":"Apple compatibility",
"description":"Enable HEVC tagging for better Apple player compatibility when recording H.265."
},
"gpu":{
"label":"GPU index",
"description":"Default GPU index used for hardware acceleration if available."
},
"inputs":{
"label":"Camera inputs",
"description":"List of input stream definitions (paths and roles) for this camera.",
"path":{
"label":"Input path",
"description":"Camera input stream URL or path."
},
"roles":{
"label":"Input roles",
"description":"Roles for this input stream (for example: detect, record, audio)."
},
"global_args":{
"label":"FFmpeg global args",
"description":"FFmpeg global arguments for this input stream."
},
"hwaccel_args":{
"label":"Hardware acceleration args",
"description":"Hardware acceleration arguments for this input stream."
},
"input_args":{
"label":"Input args",
"description":"Input arguments specific to this stream."
}
}
},
"live":{
"label":"Live playback",
"description":"Settings used by the Web UI to control live stream resolution and quality.",
"streams":{
"label":"Live stream names",
"description":"Mapping of configured stream names to restream/go2rtc names used for live playback."
},
"height":{
"label":"Live height",
"description":"Height (pixels) to render the live stream in the Web UI; must be <= detect stream height."
},
"quality":{
"label":"Live quality",
"description":"Encoding quality for the live jsmpeg stream (1 highest, 31 lowest)."
}
},
"motion":{
"label":"Motion detection",
"description":"Default motion detection settings applied to cameras unless overridden per-camera.",
"enabled":{
"label":"Enable motion detection",
"description":"Enable or disable motion detection for all cameras; can be overridden per-camera."
},
"threshold":{
"label":"Motion threshold",
"description":"Pixel difference threshold used by the motion detector; higher values reduce sensitivity (range 1-255)."
},
"lightning_threshold":{
"label":"Lightning threshold",
"description":"Threshold to detect and ignore brief lighting spikes (lower is more sensitive, values between 0.3 and 1.0)."
},
"improve_contrast":{
"label":"Improve contrast",
"description":"Apply contrast improvement to frames before motion analysis to help detection."
},
"contour_area":{
"label":"Contour area",
"description":"Minimum contour area in pixels required for a motion contour to be counted."
},
"delta_alpha":{
"label":"Delta alpha",
"description":"Alpha blending factor used in frame differencing for motion calculation."
},
"frame_alpha":{
"label":"Frame alpha",
"description":"Alpha value used when blending frames for motion preprocessing."
},
"frame_height":{
"label":"Frame height",
"description":"Height in pixels to scale frames to when computing motion (useful for performance)."
},
"mask":{
"label":"Mask coordinates",
"description":"Ordered x,y coordinates defining the motion mask polygon used to include/exclude areas."
},
"mqtt_off_delay":{
"label":"MQTT off delay",
"description":"Seconds to wait after last motion before publishing an MQTT 'off' state."
},
"enabled_in_config":{
"label":"Original motion state",
"description":"Indicates whether motion detection was enabled in the original static configuration."
},
"raw_mask":{
"label":"Raw Mask"
}
},
"objects":{
"label":"Objects",
"description":"Object tracking defaults including which labels to track and per-object filters.",
"track":{
"label":"Objects to track",
"description":"List of object labels to track for all cameras; can be overridden per-camera."
},
"filters":{
"label":"Object filters",
"description":"Filters applied to detected objects to reduce false positives (area, ratio, confidence).",
"min_area":{
"label":"Minimum object area",
"description":"Minimum bounding box area (pixels or percentage) required for this object type. Can be pixels (int) or percentage (float between 0.000001 and 0.99)."
},
"max_area":{
"label":"Maximum object area",
"description":"Maximum bounding box area (pixels or percentage) allowed for this object type. Can be pixels (int) or percentage (float between 0.000001 and 0.99)."
},
"min_ratio":{
"label":"Minimum aspect ratio",
"description":"Minimum width/height ratio required for the bounding box to qualify."
},
"max_ratio":{
"label":"Maximum aspect ratio",
"description":"Maximum width/height ratio allowed for the bounding box to qualify."
},
"threshold":{
"label":"Avg confidence",
"description":"Average detection confidence threshold required for the object to be considered a true positive."
},
"min_score":{
"label":"Minimum confidence",
"description":"Minimum single-frame detection confidence required for the object to be counted."
},
"mask":{
"label":"Filter mask",
"description":"Polygon coordinates defining where this filter applies within the frame."
},
"raw_mask":{
"label":"Raw Mask"
}
},
"mask":{
"label":"Object mask",
"description":"Mask polygon used to prevent object detection in specified areas."
},
"genai":{
"label":"GenAI object config",
"description":"GenAI options for describing tracked objects and sending frames for generation.",
"enabled":{
"label":"Enable GenAI",
"description":"Enable GenAI generation of descriptions for tracked objects by default."
},
"use_snapshot":{
"label":"Use snapshots",
"description":"Use object snapshots instead of thumbnails for GenAI description generation."
},
"prompt":{
"label":"Caption prompt",
"description":"Default prompt template used when generating descriptions with GenAI."
},
"object_prompts":{
"label":"Object prompts",
"description":"Per-object prompts to customize GenAI outputs for specific labels."
},
"objects":{
"label":"GenAI objects",
"description":"List of object labels to send to GenAI by default."
},
"required_zones":{
"label":"Required zones",
"description":"Zones that must be entered for objects to qualify for GenAI description generation."
},
"debug_save_thumbnails":{
"label":"Save thumbnails",
"description":"Save thumbnails sent to GenAI for debugging and review."
},
"send_triggers":{
"label":"GenAI triggers",
"description":"Defines when frames should be sent to GenAI (on end, after updates, etc.).",
"tracked_object_end":{
"label":"Send on end",
"description":"Send a request to GenAI when the tracked object ends."
},
"after_significant_updates":{
"label":"Early GenAI trigger",
"description":"Send a request to GenAI after a specified number of significant updates for the tracked object."
}
},
"enabled_in_config":{
"label":"Original GenAI state",
"description":"Indicates whether GenAI was enabled in the original static config."
}
}
},
"record":{
"label":"Recording",
"description":"Recording and retention settings applied to cameras unless overridden per-camera.",
"enabled":{
"label":"Enable recording",
"description":"Enable or disable recording for all cameras; can be overridden per-camera."
},
"expire_interval":{
"label":"Record cleanup interval",
"description":"Minutes between cleanup passes that remove expired recording segments."
},
"continuous":{
"label":"Continuous retention",
"description":"Number of days to retain recordings regardless of tracked objects or motion. Set to 0 if you only want to retain recordings of alerts and detections.",
"days":{
"label":"Retention days",
"description":"Days to retain recordings."
}
},
"motion":{
"label":"Motion retention",
"description":"Number of days to retain recordings triggered by motion regardless of tracked objects. Set to 0 if you only want to retain recordings of alerts and detections.",
"days":{
"label":"Retention days",
"description":"Days to retain recordings."
}
},
"detections":{
"label":"Detection retention",
"description":"Recording retention settings for detection events including pre/post capture durations.",
"pre_capture":{
"label":"Pre-capture seconds",
"description":"Number of seconds before the detection event to include in the recording."
},
"post_capture":{
"label":"Post-capture seconds",
"description":"Number of seconds after the detection event to include in the recording."
},
"retain":{
"label":"Event retention",
"description":"Retention settings for recordings of detection events.",
"days":{
"label":"Retention days",
"description":"Number of days to retain recordings of detection events."
},
"mode":{
"label":"Retention mode",
"description":"Mode for retention: all (save all segments), motion (save segments with motion), or active_objects (save segments with active objects)."
}
}
},
"alerts":{
"label":"Alert retention",
"description":"Recording retention settings for alert events including pre/post capture durations.",
"pre_capture":{
"label":"Pre-capture seconds",
"description":"Number of seconds before the detection event to include in the recording."
},
"post_capture":{
"label":"Post-capture seconds",
"description":"Number of seconds after the detection event to include in the recording."
},
"retain":{
"label":"Event retention",
"description":"Retention settings for recordings of detection events.",
"days":{
"label":"Retention days",
"description":"Number of days to retain recordings of detection events."
},
"mode":{
"label":"Retention mode",
"description":"Mode for retention: all (save all segments), motion (save segments with motion), or active_objects (save segments with active objects)."
}
}
},
"export":{
"label":"Export config",
"description":"Settings used when exporting recordings such as timelapse and hardware acceleration.",
"hwaccel_args":{
"label":"Export hwaccel args",
"description":"Hardware acceleration args to use for export/transcode operations."
}
},
"preview":{
"label":"Preview config",
"description":"Settings controlling the quality of recording previews shown in the UI.",
"description":"List of object labels that qualify as detection events."
},
"required_zones":{
"label":"Required zones",
"description":"Zones that an object must enter to be considered a detection; leave empty to allow any zone."
},
"cutoff_time":{
"label":"Detections cutoff time",
"description":"Seconds to wait after no detection-causing activity before cutting off a detection."
},
"enabled_in_config":{
"label":"Original detections state",
"description":"Tracks whether detections were originally enabled in the static configuration."
}
},
"genai":{
"label":"GenAI config",
"description":"Controls use of generative AI for producing descriptions and summaries of review items.",
"enabled":{
"label":"Enable GenAI descriptions",
"description":"Enable or disable GenAI-generated descriptions and summaries for review items."
},
"alerts":{
"label":"Enable GenAI for alerts",
"description":"Use GenAI to generate descriptions for alert items."
},
"detections":{
"label":"Enable GenAI for detections",
"description":"Use GenAI to generate descriptions for detection items."
},
"image_source":{
"label":"Review image source",
"description":"Source of images sent to GenAI ('preview' or 'recordings'); 'recordings' uses higher quality frames but more tokens."
},
"additional_concerns":{
"label":"Additional concerns",
"description":"A list of additional concerns or notes the GenAI should consider when evaluating activity on this camera."
},
"debug_save_thumbnails":{
"label":"Save thumbnails",
"description":"Save thumbnails that are sent to the GenAI provider for debugging and review."
},
"enabled_in_config":{
"label":"Original GenAI state",
"description":"Tracks whether GenAI review was originally enabled in the static configuration."
},
"preferred_language":{
"label":"Preferred language",
"description":"Preferred language to request from the GenAI provider for generated responses."
},
"activity_context_prompt":{
"label":"Activity context prompt",
"description":"Custom prompt describing what is and is not suspicious activity to provide context for GenAI summaries."
}
}
},
"snapshots":{
"label":"Snapshots",
"description":"Settings for saved JPEG snapshots of tracked objects for all cameras; can be overridden per-camera.",
"enabled":{
"label":"Snapshots enabled",
"description":"Enable or disable saving snapshots for all cameras; can be overridden per-camera."
},
"clean_copy":{
"label":"Save clean copy",
"description":"Save an unannotated clean copy of snapshots in addition to annotated ones."
},
"timestamp":{
"label":"Timestamp overlay",
"description":"Overlay a timestamp on saved snapshots."
},
"bounding_box":{
"label":"Bounding box overlay",
"description":"Draw bounding boxes for tracked objects on saved snapshots."
},
"crop":{
"label":"Crop snapshot",
"description":"Crop saved snapshots to the detected object's bounding box."
},
"required_zones":{
"label":"Required zones",
"description":"Zones an object must enter for a snapshot to be saved."
},
"height":{
"label":"Snapshot height",
"description":"Height (pixels) to resize saved snapshots to; leave empty to preserve original size."
},
"retain":{
"label":"Snapshot retention",
"description":"Retention settings for saved snapshots including default days and per-object overrides.",
"default":{
"label":"Default retention",
"description":"Default number of days to retain snapshots."
},
"mode":{
"label":"Retention mode",
"description":"Mode for retention: all (save all segments), motion (save segments with motion), or active_objects (save segments with active objects)."
},
"objects":{
"label":"Object retention",
"description":"Per-object overrides for snapshot retention days."
}
},
"quality":{
"label":"JPEG quality",
"description":"JPEG encode quality for saved snapshots (0-100)."
}
},
"timestamp_style":{
"label":"Timestamp style",
"description":"Styling options for in-feed timestamps applied to recordings and snapshots.",
"position":{
"label":"Timestamp position",
"description":"Position of the timestamp on the image (tl/tr/bl/br)."
},
"format":{
"label":"Timestamp format",
"description":"Datetime format string used for timestamps (Python datetime format codes)."
},
"color":{
"label":"Timestamp color",
"description":"RGB color values for the timestamp text (all values 0-255).",
"red":{
"label":"Red",
"description":"Red component (0-255) for timestamp color."
},
"green":{
"label":"Green",
"description":"Green component (0-255) for timestamp color."
},
"blue":{
"label":"Blue",
"description":"Blue component (0-255) for timestamp color."
}
},
"thickness":{
"label":"Timestamp thickness",
"description":"Line thickness of the timestamp text."
},
"effect":{
"label":"Timestamp effect",
"description":"Visual effect for the timestamp text (none, solid, shadow)."
}
},
"audio_transcription":{
"label":"Audio transcription",
"description":"Settings for live and speech audio transcription used for events and live captions.",
"enabled":{
"label":"Enable audio transcription",
"description":"Enable or disable automatic audio transcription for all cameras; can be overridden per-camera."
"description":"Language code used for transcription/translation (for example 'en' for English). See https://whisper-api.com/docs/languages/ for supported language codes."
"description":"Enable streaming live transcription for audio as it is received."
}
},
"classification":{
"label":"Object classification",
"description":"Settings for classification models used to refine object labels or state classification.",
"bird":{
"label":"Bird classification config",
"description":"Settings specific to bird classification models.",
"enabled":{
"label":"Bird classification",
"description":"Enable or disable bird classification."
},
"threshold":{
"label":"Minimum score",
"description":"Minimum classification score required to accept a bird classification."
}
},
"custom":{
"label":"Custom Classification Models",
"description":"Configuration for custom classification models used for objects or state detection.",
"enabled":{
"label":"Enable model",
"description":"Enable or disable the custom classification model."
},
"name":{
"label":"Model name",
"description":"Identifier for the custom classification model to use."
},
"threshold":{
"label":"Score threshold",
"description":"Score threshold used to change the classification state."
},
"save_attempts":{
"label":"Save attempts",
"description":"How many classification attempts to save for recent classifications UI."
},
"object_config":{
"objects":{
"label":"Classify objects",
"description":"List of object types to run object classification on."
},
"classification_type":{
"label":"Classification type",
"description":"Classification type applied: 'sub_label' (adds sub_label) or other supported types."
}
},
"state_config":{
"cameras":{
"label":"Classification cameras",
"description":"Per-camera crop and settings for running state classification.",
"crop":{
"label":"Classification crop",
"description":"Crop coordinates to use for running classification on this camera."
}
},
"motion":{
"label":"Run on motion",
"description":"If true, run classification when motion is detected within the specified crop."
},
"interval":{
"label":"Classification interval",
"description":"Interval (seconds) between periodic classification runs for state classification."
}
}
}
},
"semantic_search":{
"label":"Semantic Search",
"description":"Settings for Semantic Search which builds and queries object embeddings to find similar items.",
"enabled":{
"label":"Enable semantic search",
"description":"Enable or disable the semantic search feature."
},
"reindex":{
"label":"Reindex on startup",
"description":"Trigger a full reindex of historical tracked objects into the embeddings database."
},
"model":{
"label":"Semantic search model",
"description":"The embeddings model to use for semantic search (for example 'jinav1')."
},
"model_size":{
"label":"Model size",
"description":"Select model size; 'small' runs on CPU and 'large' typically requires GPU."
},
"device":{
"label":"Device",
"description":"This is an override, to target a specific device. See https://onnxruntime.ai/docs/execution-providers/ for more information"
},
"triggers":{
"label":"Triggers",
"description":"Actions and matching criteria for camera-specific semantic search triggers.",
"friendly_name":{
"label":"Friendly name",
"description":"Optional friendly name displayed in the UI for this trigger."
},
"enabled":{
"label":"Enable this trigger",
"description":"Enable or disable this semantic search trigger."
},
"type":{
"label":"Trigger type",
"description":"Type of trigger: 'thumbnail' (match against image) or 'description' (match against text)."
},
"data":{
"label":"Trigger content",
"description":"Text phrase or thumbnail ID to match against tracked objects."
},
"threshold":{
"label":"Trigger threshold",
"description":"Minimum similarity score (0-1) required to activate this trigger."
},
"actions":{
"label":"Trigger actions",
"description":"List of actions to execute when trigger matches (notification, sub_label, attribute)."
}
}
},
"face_recognition":{
"label":"Face recognition",
"description":"Settings for face detection and recognition for all cameras; can be overridden per-camera.",
"enabled":{
"label":"Enable face recognition",
"description":"Enable or disable face recognition for all cameras; can be overridden per-camera."
},
"model_size":{
"label":"Model size",
"description":"Model size to use for face embeddings (small/large); larger may require GPU."
},
"unknown_score":{
"label":"Unknown score threshold",
"description":"Distance threshold below which a face is considered a potential match (higher = stricter)."
},
"detection_threshold":{
"label":"Detection threshold",
"description":"Minimum detection confidence required to consider a face detection valid."
},
"recognition_threshold":{
"label":"Recognition threshold",
"description":"Face embedding distance threshold to consider two faces a match."
},
"min_area":{
"label":"Minimum face area",
"description":"Minimum area (pixels) of a detected face box required to attempt recognition."
},
"min_faces":{
"label":"Minimum faces",
"description":"Minimum number of face recognitions required before applying a recognized sub-label to a person."
},
"save_attempts":{
"label":"Save attempts",
"description":"Number of face recognition attempts to retain for recent recognition UI."
},
"blur_confidence_filter":{
"label":"Blur confidence filter",
"description":"Adjust confidence scores based on image blur to reduce false positives for poor quality faces."
},
"device":{
"label":"Device",
"description":"This is an override, to target a specific device. See https://onnxruntime.ai/docs/execution-providers/ for more information"
}
},
"lpr":{
"label":"License Plate Recognition",
"description":"License plate recognition settings including detection thresholds, formatting, and known plates.",
"enabled":{
"label":"Enable LPR",
"description":"Enable or disable license plate recognition for all cameras; can be overridden per-camera."
},
"model_size":{
"label":"Model size",
"description":"Model size used for text detection/recognition. Most users should use 'small'."
},
"detection_threshold":{
"label":"Detection threshold",
"description":"Detection confidence threshold to begin running OCR on a suspected plate."
},
"min_area":{
"label":"Minimum plate area",
"description":"Minimum plate area (pixels) required to attempt recognition."
},
"recognition_threshold":{
"label":"Recognition threshold",
"description":"Confidence threshold required for recognized plate text to be attached as a sub-label."
},
"min_plate_length":{
"label":"Min plate length",
"description":"Minimum number of characters a recognized plate must contain to be considered valid."
},
"format":{
"label":"Plate format regex",
"description":"Optional regex to validate recognized plate strings against an expected format."
},
"match_distance":{
"label":"Match distance",
"description":"Number of character mismatches allowed when comparing detected plates to known plates."
},
"known_plates":{
"label":"Known plates",
"description":"List of plates or regexes to specially track or alert on."
},
"enhancement":{
"label":"Enhancement level",
"description":"Enhancement level (0-10) to apply to plate crops prior to OCR; higher values may not always improve results, levels above 5 may only work with night time plates and should be used with caution."
},
"debug_save_plates":{
"label":"Save debug plates",
"description":"Save plate crop images for debugging LPR performance."
},
"device":{
"label":"Device",
"description":"This is an override, to target a specific device. See https://onnxruntime.ai/docs/execution-providers/ for more information"
},
"replace_rules":{
"label":"Replacement rules",
"description":"Regex replacement rules used to normalize detected plate strings before matching.",
"pattern":{
"label":"Regex pattern"
},
"replacement":{
"label":"Replacement string"
}
},
"expire_time":{
"label":"Expire seconds",
"description":"Time in seconds after which an unseen plate is expired from the tracker (for dedicated LPR cameras only)."
}
},
"camera_groups":{
"label":"Camera groups",
"description":"Configuration for named camera groups used to organize cameras in the UI.",
"cameras":{
"label":"Camera list",
"description":"Array of camera names included in this group."
},
"icon":{
"label":"Group icon",
"description":"Icon used to represent the camera group in the UI."
},
"order":{
"label":"Sort order",
"description":"Numeric order used to sort camera groups in the UI; larger numbers appear later."
}
},
"camera_mqtt":{
"label":"MQTT",
"description":"MQTT image publishing settings.",
"enabled":{
"label":"Send image",
"description":"Enable publishing image snapshots for objects to MQTT topics for this camera."
},
"timestamp":{
"label":"Add timestamp",
"description":"Overlay a timestamp on images published to MQTT."
},
"bounding_box":{
"label":"Add bounding box",
"description":"Draw bounding boxes on images published over MQTT."
},
"crop":{
"label":"Crop image",
"description":"Crop images published to MQTT to the detected object's bounding box."
},
"height":{
"label":"Image height",
"description":"Height (pixels) to resize images published over MQTT."
},
"required_zones":{
"label":"Required zones",
"description":"Zones that an object must enter for an MQTT image to be published."
},
"quality":{
"label":"JPEG quality",
"description":"JPEG quality for images published to MQTT (0-100)."
}
},
"camera_ui":{
"label":"Camera UI",
"description":"Display ordering and dashboard visibility for this camera in the UI.",
"order":{
"label":"UI order",
"description":"Numeric order used to sort the camera in the UI; larger numbers appear later."
},
"dashboard":{
"label":"Show in dashboard",
"description":"Toggle whether this camera is visible in the main dashboard."
}
},
"onvif":{
"label":"ONVIF",
"description":"ONVIF connection and PTZ autotracking settings for this camera.",
"host":{
"label":"ONVIF host",
"description":"Host (and optional scheme) for the ONVIF service for this camera."
},
"port":{
"label":"ONVIF port",
"description":"Port number for the ONVIF service."
},
"user":{
"label":"ONVIF username",
"description":"Username for ONVIF authentication; some devices require admin user for ONVIF."
},
"password":{
"label":"ONVIF password",
"description":"Password for ONVIF authentication."
},
"tls_insecure":{
"label":"Disable TLS verify",
"description":"Skip TLS verification and disable digest auth for ONVIF (unsafe; use in safe networks only)."
},
"autotracking":{
"label":"Autotracking",
"description":"Automatically track moving objects and keep them centered in the frame using PTZ camera movements.",
"enabled":{
"label":"Enable Autotracking",
"description":"Enable or disable automatic PTZ camera tracking of detected objects."
},
"calibrate_on_startup":{
"label":"Calibrate on start",
"description":"Measure PTZ motor speeds on startup to improve tracking accuracy. Frigate will update config with movement_weights after calibration."
"description":"Control zoom level on tracked objects. Lower values keep more scene in view; higher values zoom in closer but may lose tracking. Values between 0.1 and 0.75."
},
"track":{
"label":"Tracked objects",
"description":"List of object types that should trigger autotracking."
},
"required_zones":{
"label":"Required zones",
"description":"Objects must enter one of these zones before autotracking begins."
},
"return_preset":{
"label":"Return preset",
"description":"ONVIF preset name configured in camera firmware to return to after tracking ends."
},
"timeout":{
"label":"Return timeout",
"description":"Wait this many seconds after losing tracking before returning camera to preset position."
},
"movement_weights":{
"label":"Movement weights",
"description":"Calibration values automatically generated by camera calibration. Do not modify manually."
},
"enabled_in_config":{
"label":"Original autotrack state",
"description":"Internal field to track whether autotracking was enabled in configuration."
}
},
"ignore_time_mismatch":{
"label":"Ignore time mismatch",
"description":"Ignore time synchronization differences between camera and Frigate server for ONVIF communication."