{"$defs":{"AlertsConfig":{"additionalProperties":false,"description":"Configure alerts","properties":{"enabled":{"default":true,"description":"Enable or disable alert generation for all cameras; can be overridden per-camera.","title":"Enable alerts","type":"boolean"},"labels":{"default":["person","car"],"description":"List of object labels that qualify as alerts (for example: car, person).","items":{"type":"string"},"title":"Alert labels","type":"array"},"required_zones":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"description":"Zones that an object must enter to be considered an alert; leave empty to allow any zone.","title":"Required zones"},"enabled_in_config":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Tracks whether alerts were originally enabled in the static configuration.","title":"Original alerts state"},"cutoff_time":{"default":40,"description":"Seconds to wait after no alert-causing activity before cutting off an alert.","title":"Alerts cutoff time","type":"integer"}},"title":"AlertsConfig","type":"object"},"AudioConfig":{"additionalProperties":false,"properties":{"enabled":{"default":false,"description":"Enable or disable audio event detection for all cameras; can be overridden per-camera.","title":"Enable audio detection","type":"boolean"},"max_not_heard":{"default":30,"description":"Amount of seconds without the configured audio type before the audio event is ended.","title":"End timeout","type":"integer"},"min_volume":{"default":500,"description":"Minimum RMS volume threshold required to run audio detection; lower values increase sensitivity (e.g., 200 high, 500 medium, 1000 low).","title":"Minimum volume","type":"integer"},"listen":{"default":["bark","fire_alarm","speech","yell"],"description":"List of audio event types to detect (for example: bark, fire_alarm, speech, yell).","items":{"type":"string"},"title":"Listen types","type":"array"},"filters":{"anyOf":[{"additionalProperties":{"$ref":"#/$defs/AudioFilterConfig"},"type":"object"},{"type":"null"}],"default":null,"description":"Per-audio-type filter settings such as confidence thresholds used to reduce false positives.","title":"Audio filters"},"enabled_in_config":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Indicates whether audio detection was originally enabled in the static config file.","title":"Original audio state"},"num_threads":{"default":2,"description":"Number of threads to use for audio detection processing.","minimum":1,"title":"Detection threads","type":"integer"}},"title":"AudioConfig","type":"object"},"AudioFilterConfig":{"additionalProperties":false,"properties":{"threshold":{"default":0.8,"description":"Minimum confidence threshold for the audio event to be counted.","exclusiveMaximum":1.0,"minimum":0.5,"title":"Minimum audio confidence","type":"number"}},"title":"AudioFilterConfig","type":"object"},"AudioTranscriptionConfig":{"additionalProperties":false,"properties":{"enabled":{"default":false,"description":"Enable or disable automatic audio transcription for all cameras; can be overridden per-camera.","title":"Enable audio transcription","type":"boolean"},"language":{"default":"en","description":"Language code used for transcription/translation (for example 'en' for English). See https://whisper-api.com/docs/languages/ for supported language codes.","title":"Transcription language","type":"string"},"device":{"$ref":"#/$defs/EnrichmentsDeviceEnum","default":"CPU","description":"Device key (CPU/GPU) to run the transcription model on. Only NVIDIA CUDA GPUs are currently supported for transcription.","title":"Transcription device"},"model_size":{"$ref":"#/$defs/ModelSizeEnum","default":"small","description":"Model size to use for offline audio event transcription.","title":"Model size"},"live_enabled":{"anyOf":[{"type":"boolean"