1. Does LiveKit allow overriding the Gemini real-time turn detection? We tried setting our own VAD but we get a warning that it will be overridden because the real-time model uses server-side turn detection?
2. Does LiveKit expose the gemini realtime inetrruption events, do we get any events for response created or response ended scenarios. Currently if the user interrupts the agent, the agent just hangs. We tried to forcefully check the user and agent states and manually call `generate_reply` once we found that the agent was interrupted. However, it seems LiveKit internally livekit does not end the previous response generation, causing any manual call to `generate_reply` to time out?
Have you tried thise?
Override Gemini’s built-in VAD turn detection. By default, Gemini Live uses server-side turn detection. To use LiveKit’s turn detector instead, you must disable Gemini’s automatic activity detection and provide a separate streaming STT model. This is documented under Turn detection in the Gemini Live API plugin.
LiveKit does not expose raw Gemini “response created/ended” events directly. Instead, you should rely on AgentSession events such as agent_state_changed, user_interruption_detected, and interruption handling controls described in the Turns overview. If generate_reply() is timing out after interruption, it usually means the prior generation was not fully interrupted at the session level.