Multimodality overview
Status: partial.
Use this page to decide which modality path your agent should use.
rtp-agent exposes separate boundaries for text, audio, realtime models, video frames, and avatars. It does not hide all of those choices behind one universal multimodal builder. You choose the runtime path by configuring the components on app.AppConfig, agent.Agent, or agent.AgentSession.
Common paths
- Speech pipeline: combine STT, LLM, TTS, and optionally VAD.
- Realtime model: use an adapter that implements
llm.RealtimeModel. - Text-only turns: call
AgentSession.RunorGenerateReplywith text input. - Video-aware turns: sample incoming video frames with
VoiceActivityVideoSamplerand use a provider path that consumes images. - Avatar output: configure an avatar provider when an adapter exposes avatar support.
Capability boundary
Provider support is capability-based. A provider is only documented for a modality when the adapter package contains the corresponding source file, such as llm.go, stt.go, tts.go, realtime.go, or avatar.go.
See the provider capability reference before choosing a provider.
Evidence:
core/llm/llm.gocore/stt/stt.gocore/tts/tts.gocore/vad/vad.gocore/agent/video_sampler.gocore/agent/avatar.gointerface/worker/room_io.go