2026-04-12 18:52:37 +04:00

132 lines
4.5 KiB
JSON

{
"paths": {
"data_dir": "AI_Photographer/Data/G1",
"app_data_dir": "AI_Photographer/Data",
"app_settings_dir": "AI_Photographer/Data/Settings",
"app_scripts_dir": "AI_Photographer/Data/Scripts",
"app_runtime_dir": "AI_Photographer/Data/Runtime",
"app_notes_dir": "AI_Photographer/Data/Notes",
"audio_prompts_dir": "AI_Photographer/Data/Audio",
"audio_prompt_records_file": "AI_Photographer/Data/Settings/audio_prompt_records.json",
"scripts_dir": "AI_Photographer/Scripts",
"web_dir": "AI_Photographer/Web",
"photos_dir": "AI_Photographer/photos/Captures",
"people_dir": "AI_Photographer/photos/people",
"samples_dir": "AI_Photographer/photos/samples",
"replay_recordings_dir": "AI_Photographer/Data/G1",
"replay_recorder_script": "",
"home_file": "arm_home.jsonl",
"photo_phrases_file": "AI_Photographer/Data/Scripts/photo_command_ai.txt",
"sanad_script_file": "AI_Photographer/Data/Scripts/sanad_script.txt",
"runtime_health_file": "AI_Photographer/Data/Runtime/runtime_health.json",
"autonomous_state_file": "AI_Photographer/Data/Runtime/autonomous_state.json",
"upload_db": "AI_Photographer/Data/Runtime/upload_db.json"
},
"timing": {
"photo_total_sec": 10.0,
"photo_thanks_sec": 3.0,
"photo_delay_sec": 5.0,
"replay_capture_end_margin_sec": 0.25,
"loop_rate": 10.0,
"ai_query_interval": 1.0
},
"server": {
"photo_server_port": 8080
},
"gemini": {
"api_key": "AIzaSyDt9Xi83MDZuuPpfwfHyMD92X7ZKdGkqf8",
"mic_enabled": true,
"model": "models/gemini-2.5-flash-native-audio-preview-12-2025",
"voice_name": "Charon",
"system_prompt_fallback": "You are Sanad (Bousandah), a friendly Emirati photographer assistant. Speak in UAE dialect (Khaleeji). Be short, energetic, and helpful."
},
"upload": {
"method": "http",
"url": "",
"s3_bucket": "",
"s3_region": "",
"s3_key": "",
"s3_secret": ""
},
"mode": {
"default_mode": "manual",
"current_mode": "manual"
},
"replay": {
"active_file": "photo_G3.jsonl"
},
"camera": {
"camera_index": 0,
"frame_width": 640,
"frame_height": 480,
"fps": 30,
"preferred_realsense_serial": "243622071722"
},
"vision": {
"detection_backend": "yolo",
"yolo_runtime": "ultralytics",
"yolo_ultralytics_device": "cpu",
"person_yolo_onnx": "Models/person.pt",
"face_yolo_onnx": "",
"input_size": 640,
"person_class_id": 0,
"person_score_thresh": 0.35,
"face_score_thresh": 0.35,
"nms_iou_thresh": 0.45,
"group_min_people": 3,
"group_link_distance_px": 220.0,
"yolo_strict_required": true,
"gemini_context_hz": 8.0,
"gemini_context_silent": true,
"idle_voice_listen_enabled": true,
"hard_target_lock_enabled": true,
"retake_prompt_enabled": true,
"autonomous_greeting_replay_enabled": true,
"autonomous_greeting_replay_file": "right_hand_up.jsonl",
"autonomous_capture_replay_enabled": true,
"retake_max_per_session": 1,
"framing_headroom_min_ratio": 0.06,
"framing_headroom_max_ratio": 0.25,
"framing_eye_line_min_ratio": 0.28,
"framing_eye_line_max_ratio": 0.48,
"framing_retake_score_threshold": 0.68,
"face_recognition_enabled": true,
"face_recognition_threshold": 0.88
},
"watchdog": {
"ws_initial_backoff_sec": 1.0,
"ws_max_backoff_sec": 20.0,
"component_restart_delay_sec": 1.0,
"camera_capture_retry_count": 2,
"camera_capture_retry_delay_sec": 0.8
},
"audio_prompts": {
"mode": "audio",
"fallback_to_gemini": true,
"files": {
"welcome_single": "welcome_single.wav",
"welcome_group": "welcome_group.wav",
"welcome_returning": "welcome_returning.wav",
"frame_single": "frame_single.wav",
"frame_group": "frame_group.wav",
"confirm_reminder": "confirm_reminder.wav",
"visitor_left": "visitor_left.wav",
"declined": "declined.wav",
"confirm_timeout": "confirm_timeout.wav",
"session_cancelled": "session_cancelled.wav",
"framing_timeout": "framing_timeout.wav",
"countdown_intro": "countdown_intro.wav",
"count_3": "count_3.wav",
"count_2": "count_2.wav",
"count_1": "count_1.wav",
"smile": "smile.wav",
"countdown_cancelled": "countdown_cancelled.wav",
"lost_from_frame": "lost_from_frame.wav",
"retake_recommended": "retake_recommended.wav",
"retake_yes": "retake_yes.wav",
"retake_limit": "retake_limit.wav",
"photo_saved_thanks": "photo_saved_thanks.wav"
}
}
}