enough-match-43171
12/22/2025, 5:37 PMtall-airline-16756
12/22/2025, 5:37 PMtall-airline-16756
12/22/2025, 5:37 PMon_enter(), on_exit(), and on_user_turn_completed() to run custom logic at key moments in a session (greeting, cleanup, modify context before reply).
• Realtime model node: realtime_audio_output_node() to inspect or modify audio frames before they’re sent to the user.
• Transcription node: transcription_node() to access or alter STT / TTS-aligned transcriptions.
• STT / LLM / TTS pipeline nodes (stt_node(), llm_node(), tts_node()) if you use separate components alongside a realtime model.
These hooks/nodes work for OpenAI and Gemini realtime integrations and can be implemented in Python or Node.js by extending the Agent class.
Would you like a short code example for a specific hook (e.g., on_user_turn_completed() or realtime_audio_output_node()) and which language do you prefer?
Sources: Pipeline nodes and hooks | LiveKit docs | Azure OpenAI Realtime API and LiveKit | LiveKit docs