diff --git a/frigate/config/camera/objects.py b/frigate/config/camera/objects.py index c83dcd228..e52c813f0 100644 --- a/frigate/config/camera/objects.py +++ b/frigate/config/camera/objects.py @@ -108,6 +108,10 @@ class ObjectConfig(FrigateBaseModel): default_factory=dict, title="Object filters." ) mask: Union[str, list[str]] = Field(default="", title="Object mask.") + genai: GenAIObjectConfig = Field( + default_factory=GenAIObjectConfig, + title="Config for using genai to analyze objects.", + ) _all_objects: list[str] = PrivateAttr() @property diff --git a/frigate/config/config.py b/frigate/config/config.py index 83bf59ec0..85686416e 100644 --- a/frigate/config/config.py +++ b/frigate/config/config.py @@ -352,6 +352,11 @@ class FrigateConfig(FrigateBaseModel): default_factory=ModelConfig, title="Detection model configuration." ) + # GenAI config + genai: GenAIConfig = Field( + default_factory=GenAIConfig, title="Generative AI configuration." + ) + # Camera config cameras: Dict[str, CameraConfig] = Field(title="Camera configuration.") audio: AudioConfig = Field( @@ -366,9 +371,6 @@ class FrigateConfig(FrigateBaseModel): ffmpeg: FfmpegConfig = Field( default_factory=FfmpegConfig, title="Global FFmpeg configuration." ) - genai: GenAIConfig = Field( - default_factory=GenAIConfig, title="Generative AI configuration." - ) live: CameraLiveConfig = Field( default_factory=CameraLiveConfig, title="Live playback settings." ) @@ -458,7 +460,6 @@ class FrigateConfig(FrigateBaseModel): "live": ..., "objects": ..., "review": ..., - "genai": ..., "motion": ..., "notifications": ..., "detect": ..., @@ -606,7 +607,7 @@ class FrigateConfig(FrigateBaseModel): camera_config.review.detections.enabled_in_config = ( camera_config.review.detections.enabled ) - camera_config.genai.enabled_in_config = camera_config.genai.enabled + camera_config.objects.genai.enabled_in_config = camera_config.objects.genai.enabled # Add default filters object_keys = camera_config.objects.track