{ "_description": "Tunables for gemini/client.py. All keys are optional — defaults live in code. Gemini credentials (api_key, model_live, voice_name) come from core_config.json\u0027s gemini_defaults — single source of truth.", "client": { "_comment": "gemini/client.py — Gemini Live WebSocket client used by the typed-replay engine for one-shot TTS calls.", "recv_timeout_sec": 30, "reconnect_max_attempts": 3, "reconnect_initial_delay_sec": 1.0, "reconnect_max_delay_sec": 10.0, "post_generation_grace_sec": 3, "output_transcription": true, "_comment_grace": "Seconds to keep reading after generationComplete, reset on every frame. 1.2 was too short: reads got cut and the leftover tail bled into the NEXT generation." } }