strong-pizza-31661
07/21/2025, 5:55 PMtall-airline-16756
07/21/2025, 5:55 PMtall-airline-16756
07/21/2025, 5:56 PMmodalities=["text"]) together with a multimodal AgentSession configuration that includes TTS, VAD, and STT components. This combination is explicitly supported and documented.
The AgentSession constructor is designed to accept separate components for different modalities. You can mix and match these as needed, for example:
session = AgentSession(
llm=openai.realtime.RealtimeModel(modalities=["text"]),
tts=elevenlabs.TTS(...),
vad=silero.VAD.load(),
stt=deepgram.STT(...)
)
This approach is useful if you want to use a different TTS provider, or if you want to maintain control over speech output while still benefiting from realtime speech comprehension. The same pattern is supported across different realtime model providers.
This configuration is allowed and will work as intended.
Sources: Realtime model integrations | LiveKit Docs | OpenAI Realtime API integration guide | LiveKit Docs | livekit-agents/livekit/agents/voice/agent_session.py | Azure OpenAI Realtime API and LiveKit | LiveKit Docs | Gemini Live API integration guide | LiveKit Docs