# LiveKit docs > LiveKit is a platform for building voice and realtime AI applications. LiveKit Cloud is the hosted commercial offering based on the open-source LiveKit project. ## Overview LiveKit is an open-source framework and cloud platform for building voice, video, and physical AI agents. It consists of these primary components: - **LiveKit server**: An open-source WebRTC Selective Forwarding Unit (SFU) that orchestrates realtime communication. Use [LiveKit Cloud](https://cloud.livekit.io) or self-host on your own infrastructure. - **LiveKit Agents framework**: High-level tools for building AI agents in [Python](https://github.com/livekit/agents) or [Node.js](https://github.com/livekit/agents-js), including a [deployment environment](https://docs.livekit.io/agents/ops/deployment.md) for running agents on LiveKit Cloud, a hosted voice AI [inference service](https://docs.livekit.io/agents/models.md#inference), and an extensive [plugin system](https://docs.livekit.io/agents/models.md#plugins) for connecting to a wide range of AI providers. - A global WebRTC-based realtime media server with [realtime SDKs](https://docs.livekit.io/intro/basics/connect.md) for- [Web](https://github.com/livekit/client-sdk-js) - [Swift](https://github.com/livekit/client-sdk-swift) - [Android](https://github.com/livekit/client-sdk-android) - [Flutter](https://github.com/livekit/client-sdk-flutter) - [React Native](https://github.com/livekit/client-sdk-react-native) - [Unity](https://github.com/livekit/client-sdk-unity) - [Python](https://github.com/livekit/client-sdk-python) - [Node.js](https://github.com/livekit/client-sdk-node) - [Rust](https://github.com/livekit/rust-sdks) - [C++](https://github.com/livekit/client-sdk-cpp) - [ESP32](https://github.com/livekit/client-sdk-esp32) - and more - **Integration services**: [Telephony](https://docs.livekit.io/telephony.md) for connecting to phone networks, [Egress](https://docs.livekit.io/transport/media/ingress-egress/egress.md) for recording and streaming, and [Ingress](https://docs.livekit.io/transport/media/ingress-egress/ingress.md) for external media streams. For greater detail, see [Intro to LiveKit](https://docs.livekit.io/intro.md). ## Introduction ### Get Started - [Overview](https://docs.livekit.io/intro/overview.md): The platform for voice, video, and physical AI agents. - [About LiveKit](https://docs.livekit.io/intro/about.md): An overview of the LiveKit ecosystem. - [Coding agent support](https://docs.livekit.io/intro/coding-agents.md): Turn your favorite coding agent into a LiveKit expert with access to docs, tools, and best practices. - [LiveKit 101 video course](https://www.youtube.com/playlist?list=PLWx-Xa8RhJxXuv8fu2Qz9rj2MPb4qgXir) - [Community resources](https://docs.livekit.io/intro/community.md): Join an active community of LiveKit developers. ### Understanding LiveKit - [Overview](https://docs.livekit.io/intro/basics.md): An overview of the core concepts and fundamentals to get started with LiveKit. - [LiveKit CLI](https://docs.livekit.io/intro/basics/cli.md): Manage your LiveKit Cloud projects and agents from the terminal - [LiveKit Cloud](https://docs.livekit.io/intro/cloud.md): An end-to-end platform for building, deploying, and operating AI agent applications. - [Connecting to LiveKit](https://docs.livekit.io/intro/basics/connect.md): Learn how to connect to LiveKit using realtime SDKs. #### Rooms, participants, & tracks - [Overview](https://docs.livekit.io/intro/basics/rooms-participants-tracks.md): Understand the core building blocks of LiveKit applications. - [Room management](https://docs.livekit.io/intro/basics/rooms-participants-tracks/rooms.md): Create, list, and delete Rooms from your backend server. - [Participant management](https://docs.livekit.io/intro/basics/rooms-participants-tracks/participants.md): List, remove, and mute from your backend server. - [Track management](https://docs.livekit.io/intro/basics/rooms-participants-tracks/tracks.md): Understand tracks and track publications in LiveKit applications. - [Webhooks & events](https://docs.livekit.io/intro/basics/rooms-participants-tracks/webhooks-events.md): Configure webhooks and handle events to monitor and respond to changes in rooms, participants, and tracks. - [Building AI agents](https://docs.livekit.io/intro/basics/agents.md): Build AI agents that interact with users through realtime media and data streams. ### Reference - [Recipes](https://docs.livekit.io/reference/recipes.md) - [Room service API](https://docs.livekit.io/reference/other/roomservice-api.md): Use LiveKit's built-in API to manage rooms, participants, and tracks in your backend. ## Build Agents ### Get Started - [Introduction](https://docs.livekit.io/agents.md): Realtime framework for voice, video, and physical AI agents. - [Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai.md): Build and deploy a simple voice assistant in less than 10 minutes. - [Agent Builder](https://docs.livekit.io/agents/start/builder.md): Prototype simple voice agents directly in your browser. - [Agent Console](https://docs.livekit.io/agents/start/console.md): Debug your agents in realtime in the browser. - [Agent Embed Widget](https://docs.livekit.io/agents/start/embed.md): Embed a LiveKit Cloud agent on any website with a script tag. - [Prompting guide](https://docs.livekit.io/agents/start/prompting.md): How to write good instructions to guide your agent's behavior. ### Multimodality - [Overview](https://docs.livekit.io/agents/multimodality.md): Build agents that communicate through multiple channels for richer, more natural interactions. #### Speech & audio - [Overview](https://docs.livekit.io/agents/multimodality/audio.md): Speech and audio capabilities for LiveKit agents. - [Audio customization](https://docs.livekit.io/agents/multimodality/audio/customization.md): Cache TTS responses, customize pronunciation, and adjust speech volume. - [Background audio](https://docs.livekit.io/agents/multimodality/audio/background-audio.md): Add ambient sounds, thinking sounds, and on-demand audio playback to your agent. - [Custom voices](https://docs.livekit.io/agents/multimodality/audio/custom-voices.md): Create voice clones from audio samples and use them with supported TTS providers in LiveKit Inference. - [Text & transcriptions](https://docs.livekit.io/agents/multimodality/text.md): Integrate realtime text features into your agent. #### Images & video - [Overview](https://docs.livekit.io/agents/multimodality/vision.md): Process images and video input, and send visual output with avatars and byte streams. - [Images](https://docs.livekit.io/agents/multimodality/vision/images.md): Add images to your agent's context, receive images from the frontend, and send images back to users. - [Video](https://docs.livekit.io/agents/multimodality/vision/video.md): Sample video frames, enable live video input, and add virtual avatars for video output. ### Logic & Structure - [Overview](https://docs.livekit.io/agents/logic.md): Learn how to structure agent logic with sessions, workflows, tasks, tools, and other components for building voice AI applications. - [Agent sessions](https://docs.livekit.io/agents/logic/sessions.md): How to use AgentSession to orchestrate your voice AI app. - [Chat context](https://docs.livekit.io/agents/logic/chat-context.md): How to use ChatContext to manage conversation history in your agents. - [Tasks & task groups](https://docs.livekit.io/agents/logic/tasks.md): Use tasks to build complex workflows for your voice AI agents. - [Workflows](https://docs.livekit.io/agents/logic/workflows.md): How to model repeatable, accurate workflows through agents, handoffs, and tasks. - [Supervisor pattern](https://docs.livekit.io/agents/logic/supervisor-pattern.md): A central agent routes work to specialist tasks while staying in control of the session. #### Tool definition & use - [Overview](https://docs.livekit.io/agents/logic/tools.md): Let your agents call external tools and more. - [Function tools](https://docs.livekit.io/agents/logic/tools/definition.md): How to design and register custom tools for your agent. - [Toolsets](https://docs.livekit.io/agents/logic/tools/toolsets.md): Group related tools and add or remove them as a unit. - [Async tools](https://docs.livekit.io/agents/logic/tools/async.md): Handle long-running tools so agents can keep talking. - [Model Context Protocol (MCP)](https://docs.livekit.io/agents/logic/tools/mcp.md): Use MCP servers to expose tools to your agent. - [Forwarding to the frontend](https://docs.livekit.io/agents/logic/tools/forwarding.md): Fulfill tool calls via RPC from the client. - [Pipeline nodes & hooks](https://docs.livekit.io/agents/logic/nodes.md): Learn how to customize the behavior of your agent with nodes and hooks in the voice pipeline. #### Turn detection & interruptions - [Overview](https://docs.livekit.io/agents/logic/turns.md): Guide to managing conversation turns in voice AI. - [Turn detector](https://docs.livekit.io/agents/logic/turns/turn-detector.md): Open-weights model for contextually-aware voice AI turn detection. - [Adaptive interruption handling](https://docs.livekit.io/agents/logic/turns/adaptive-interruption-handling.md): Distinguish between true interruptions and conversational backchanneling. - [Silero VAD plugin](https://docs.livekit.io/agents/logic/turns/vad.md): High-performance voice activity detection for LiveKit Agents. - [Turn-taking tuning](https://docs.livekit.io/agents/logic/turns/tuning.md): Tune turn detection, endpointing, interruption, and preemptive generation for natural, low-latency conversations. - [Agents & handoffs](https://docs.livekit.io/agents/logic/agents-handoffs.md): How to use agents and handoffs as part of a voice AI workflow. - [External data & RAG](https://docs.livekit.io/agents/logic/external-data.md): Best practices for adding context and taking external actions. - [Fallback strategies](https://docs.livekit.io/agents/logic/fallback-strategies.md): Configure fallback providers for STT, LLM, and TTS to handle model failures gracefully. ### Testing & evaluation - [Overview](https://docs.livekit.io/agents/start/testing.md): Write tests to control and evaluate agent behavior. - [Test framework](https://docs.livekit.io/agents/start/testing/test-framework.md): Set up tests, navigate results, write assertions, and test multi-turn conversations. ### Prebuilt components #### Prebuilt tasks - [Overview](https://docs.livekit.io/agents/prebuilt/tasks.md): Use prebuilt tasks to collect structured data or run workflows without implementing the logic yourself. - [GetEmailTask](https://docs.livekit.io/agents/prebuilt/tasks/get-email.md): Collect and validate an email address from the user with noisy voice transcription handling. - [GetAddressTask](https://docs.livekit.io/agents/prebuilt/tasks/get-address.md): Collect and validate a complete mailing address from the user with international format support. - [GetDtmfTask](https://docs.livekit.io/agents/prebuilt/tasks/get-dtmf.md): Collect keypad (DTMF) or spoken digits from callers for IVR and telephony flows. - [WarmTransferTask](https://docs.livekit.io/agents/prebuilt/tasks/warm-transfer.md): Execute an agent-assisted warm transfer with SIP dialing, hold music, and context handoff. #### Prebuilt tools - [Overview](https://docs.livekit.io/agents/prebuilt/tools.md): Use prebuilt tools so your agent can perform common actions without implementing them yourself. - [EndCallTool](https://docs.livekit.io/agents/prebuilt/tools/end-call-tool.md): Provide your agent with a tool that gracefully ends the call and disconnects from the room. - [send_dtmf_events](https://docs.livekit.io/agents/prebuilt/tools/send-dtmf-events.md): Send DTMF tones to telephony providers for IVR navigation and phone systems. ### Agent Server - [Overview](https://docs.livekit.io/agents/server.md): An overview of agent server components for LiveKit Agents. - [Startup modes](https://docs.livekit.io/agents/server/startup-modes.md): Guide to different agent server modes for development, production, and more. - [Server lifecycle](https://docs.livekit.io/agents/server/lifecycle.md): How agent servers register, receive requests, and manage jobs. - [Agent dispatch](https://docs.livekit.io/agents/server/agent-dispatch.md): Specifying how and when your agents are assigned to rooms. - [Job lifecycle](https://docs.livekit.io/agents/server/job.md): Learn more about the entrypoint function and how to end and clean up LiveKit sessions. - [Server options](https://docs.livekit.io/agents/server/options.md): Learn about the options available for creating an agent server. ### Models - [Overview](https://docs.livekit.io/agents/models.md): Choose the right AI models for your voice agent. - [Pipeline types](https://docs.livekit.io/agents/models/pipelines.md): Compare the voice pipeline types supported by LiveKit Agents and pick the right one for your agent. - [LiveKit Inference](https://docs.livekit.io/agents/models/inference.md): Access the best AI models for voice agents, included in LiveKit Cloud. #### LLM - [Overview](https://docs.livekit.io/agents/models/llm.md): Conversational intelligence for your voice agents. - [DeepSeek](https://docs.livekit.io/agents/models/llm/deepseek.md): How to use DeepSeek models with LiveKit Agents. - [Gemini](https://docs.livekit.io/agents/models/llm/gemini.md): How to use Google Gemini models with LiveKit Agents. - [Kimi](https://docs.livekit.io/agents/models/llm/kimi.md): How to use Kimi models with LiveKit Agents. - [OpenAI](https://docs.livekit.io/agents/models/llm/openai.md): How to use OpenAI models with LiveKit Agents. - [xAI](https://docs.livekit.io/agents/models/llm/xai.md): How to use xAI's Grok models with LiveKit Agents. ##### Additional models - [Anthropic](https://docs.livekit.io/agents/models/llm/anthropic.md): How to use the Anthropic Claude LLM plugin for LiveKit Agents. - [Amazon Bedrock](https://docs.livekit.io/agents/models/llm/aws.md): How to use the Amazon Bedrock LLM plugin for LiveKit Agents. - [Baseten](https://docs.livekit.io/agents/models/llm/baseten.md): How to use the Baseten LLM plugin for LiveKit Agents. - [Cerebras](https://docs.livekit.io/agents/models/llm/cerebras.md): How to use the Cerebras inference with LiveKit Agents. - [Fireworks](https://docs.livekit.io/agents/models/llm/fireworks.md): How to use Fireworks AI with LiveKit Agents. - [Groq](https://docs.livekit.io/agents/models/llm/groq.md): How to use the Groq LLM plugin for LiveKit Agents. - [LangChain](https://docs.livekit.io/agents/models/llm/langchain.md): How to use LangGraph workflows and LangChain agents with LiveKit. - [Letta](https://docs.livekit.io/agents/models/llm/letta.md): How to use a Letta agent for your LLM with LiveKit Agents. - [Mistral AI](https://docs.livekit.io/agents/models/llm/mistralai.md): How to integrate Mistral AI's La Plateforme inference service with LiveKit Agents. - [Ollama](https://docs.livekit.io/agents/models/llm/ollama.md): How to run models locally using Ollama with LiveKit Agents. - [Azure OpenAI](https://docs.livekit.io/agents/models/llm/azure-openai.md): How to use the Azure OpenAI LLM plugin for LiveKit Agents. - [OpenRouter](https://docs.livekit.io/agents/models/llm/openrouter.md): How to use OpenRouter with LiveKit Agents to access 500+ AI models. - [OVHCloud](https://docs.livekit.io/agents/models/llm/ovhcloud.md): How to use the OVHCloud LLM plugin for LiveKit Agents. - [Perplexity](https://docs.livekit.io/agents/models/llm/perplexity.md): How to use Perplexity LLM with LiveKit Agents. - [Sarvam](https://docs.livekit.io/agents/models/llm/sarvam.md): How to use the Sarvam LLM plugin for LiveKit Agents. - [Telnyx](https://docs.livekit.io/agents/models/llm/telnyx.md): How to use Telnyx inference with LiveKit Agents. - [Together AI](https://docs.livekit.io/agents/models/llm/together.md): How to use Together AI Llama models with LiveKit Agents. - [OpenAI-compatible LLMs](https://docs.livekit.io/agents/models/llm/openai-compatible-llms.md): Connect to any OpenAI-compatible LLM provider in your voice agents. #### STT - [Overview](https://docs.livekit.io/agents/models/stt.md): Models and plugins for realtime transcription in your voice agents. - [Speechmatics](https://docs.livekit.io/agents/models/stt/speechmatics.md): How to use the Speechmatics STT plugin for LiveKit Agents. - [AssemblyAI](https://docs.livekit.io/agents/models/stt/assemblyai.md): How to use AssemblyAI STT with LiveKit Agents. - [Cartesia](https://docs.livekit.io/agents/models/stt/cartesia.md): How to use Cartesia STT with LiveKit Agents. - [Deepgram](https://docs.livekit.io/agents/models/stt/deepgram.md): How to use Deepgram STT with LiveKit Agents. - [ElevenLabs](https://docs.livekit.io/agents/models/stt/elevenlabs.md): How to use ElevenLabs STT with LiveKit Agents. - [xAI](https://docs.livekit.io/agents/models/stt/xai.md): How to use xAI STT with LiveKit Agents. ##### Additional models - [Amazon Transcribe](https://docs.livekit.io/agents/models/stt/aws.md): How to use the Amazon Transcribe STT plugin for LiveKit Agents. - [Azure AI Speech](https://docs.livekit.io/agents/models/stt/azure.md): How to use the Azure Speech STT plugin for LiveKit Agents. - [Azure OpenAI](https://docs.livekit.io/agents/models/stt/azure-openai.md): How to use the Azure OpenAI STT plugin for LiveKit Agents. - [Baseten](https://docs.livekit.io/agents/models/stt/baseten.md): How to use the Baseten STT plugin for LiveKit Agents. - [Clova](https://docs.livekit.io/agents/models/stt/clova.md): How to use the Clova STT plugin for LiveKit Agents. - [fal](https://docs.livekit.io/agents/models/stt/fal.md): How to use the fal STT plugin for LiveKit Agents. - [Gladia](https://docs.livekit.io/agents/models/stt/gladia.md): How to use the Gladia STT plugin for LiveKit Agents. - [Google Cloud](https://docs.livekit.io/agents/models/stt/google.md): How to use the Google Cloud STT plugin for LiveKit Agents. - [Gradium](https://docs.livekit.io/agents/models/stt/gradium.md): How to use the Gradium STT plugin for LiveKit Agents. - [Groq](https://docs.livekit.io/agents/models/stt/groq.md): How to use the Groq STT plugin for LiveKit Agents. - [Mistral AI](https://docs.livekit.io/agents/models/stt/mistralai.md): How to use the Mistral STT plugin for LiveKit Agents. - [Nvidia](https://docs.livekit.io/agents/models/stt/nvidia.md): How to use the NVIDIA Riva STT plugin for LiveKit Agents. - [OpenAI](https://docs.livekit.io/agents/models/stt/openai.md): How to use the OpenAI STT plugin for LiveKit Agents. - [OVHCloud](https://docs.livekit.io/agents/models/stt/ovhcloud.md): How to use the OVHCloud STT plugin for LiveKit Agents. - [Sarvam](https://docs.livekit.io/agents/models/stt/sarvam.md): How to use the Sarvam STT plugin for LiveKit Agents. - [Simplismart](https://docs.livekit.io/agents/models/stt/simplismart.md): How to use the Simplismart STT plugin for LiveKit Agents. - [Smallest AI](https://docs.livekit.io/agents/models/stt/smallestai.md): How to use the Smallest AI Pulse STT plugin for LiveKit Agents. - [Soniox](https://docs.livekit.io/agents/models/stt/soniox.md): How to use the Soniox STT plugin for LiveKit Agents. - [Spitch](https://docs.livekit.io/agents/models/stt/spitch.md): How to use the Spitch STT plugin for LiveKit Agents. #### TTS - [Overview](https://docs.livekit.io/agents/models/tts.md): Voices and plugins to add realtime speech to your voice agents. - [Cartesia](https://docs.livekit.io/agents/models/tts/cartesia.md): How to use Cartesia TTS with LiveKit Agents. - [Deepgram](https://docs.livekit.io/agents/models/tts/deepgram.md): How to use Deepgram TTS with LiveKit Agents. - [ElevenLabs](https://docs.livekit.io/agents/models/tts/elevenlabs.md): How to use ElevenLabs TTS with LiveKit Agents. - [Inworld](https://docs.livekit.io/agents/models/tts/inworld.md): How to use Inworld TTS with LiveKit Agents. - [Rime](https://docs.livekit.io/agents/models/tts/rime.md): How to use Rime TTS with LiveKit Agents. - [xAI](https://docs.livekit.io/agents/models/tts/xai.md): How to use xAI TTS with LiveKit Agents. ##### Additional models - [AsyncAI](https://docs.livekit.io/agents/models/tts/asyncai.md): How to use the AsyncAI TTS plugin for LiveKit Agents. - [Amazon Polly](https://docs.livekit.io/agents/models/tts/aws.md): How to use the Amazon Polly TTS plugin for LiveKit Agents. - [Azure AI Speech](https://docs.livekit.io/agents/models/tts/azure.md): How to use the Azure Speech TTS plugin for LiveKit Agents. - [Azure OpenAI](https://docs.livekit.io/agents/models/tts/azure-openai.md): How to use the Azure OpenAI TTS plugin for LiveKit Agents. - [Baseten](https://docs.livekit.io/agents/models/tts/baseten.md): How to use the Baseten TTS plugin for LiveKit Agents. - [Camb.ai](https://docs.livekit.io/agents/models/tts/cambai.md): How to use the Camb.ai TTS plugin for LiveKit Agents. - [Gemini](https://docs.livekit.io/agents/models/tts/gemini.md): How to use the Gemini TTS plugin for LiveKit Agents. - [Google Cloud](https://docs.livekit.io/agents/models/tts/google.md): How to use the Google Cloud TTS plugin for LiveKit Agents. - [Gradium](https://docs.livekit.io/agents/models/tts/gradium.md): How to use the Gradium TTS plugin for LiveKit Agents. - [Groq](https://docs.livekit.io/agents/models/tts/groq.md): How to use the Groq TTS plugin for LiveKit Agents. - [Hume](https://docs.livekit.io/agents/models/tts/hume.md): How to use the Hume TTS plugin for LiveKit Agents. - [LMNT](https://docs.livekit.io/agents/models/tts/lmnt.md): How to use the LMNT TTS plugin for LiveKit Agents. - [MiniMax](https://docs.livekit.io/agents/models/tts/minimax.md): How to use the MiniMax TTS plugin for LiveKit Agents. - [Mistral AI](https://docs.livekit.io/agents/models/tts/mistralai.md): How to use the Mistral TTS plugin for LiveKit Agents. - [Murf AI](https://docs.livekit.io/agents/models/tts/murf.md): How to use the Murf AI TTS plugin for LiveKit Agents. - [Neuphonic](https://docs.livekit.io/agents/models/tts/neuphonic.md): How to use the Neuphonic TTS plugin for LiveKit Agents. - [Nvidia](https://docs.livekit.io/agents/models/tts/nvidia.md): How to use the NVIDIA Riva TTS plugin for LiveKit Agents. - [OpenAI](https://docs.livekit.io/agents/models/tts/openai.md): How to use the OpenAI TTS plugin for LiveKit Agents. - [Resemble AI](https://docs.livekit.io/agents/models/tts/resemble.md): How to use the Resemble AI TTS plugin for LiveKit Agents. - [Sarvam](https://docs.livekit.io/agents/models/tts/sarvam.md): How to use the Sarvam TTS plugin for LiveKit Agents. - [Simplismart](https://docs.livekit.io/agents/models/tts/simplismart.md): How to use the Simplismart TTS plugin for LiveKit Agents. - [Smallest AI](https://docs.livekit.io/agents/models/tts/smallestai.md): How to use the Smallest AI Waves TTS plugin for LiveKit Agents. - [Soniox](https://docs.livekit.io/agents/models/tts/soniox.md): How to use the Soniox TTS plugin for LiveKit Agents. - [Speechify](https://docs.livekit.io/agents/models/tts/speechify.md): How to use the Speechify TTS plugin for LiveKit Agents. - [Speechmatics](https://docs.livekit.io/agents/models/tts/speechmatics.md): How to use the Speechmatics TTS plugin for LiveKit Agents. - [Spitch](https://docs.livekit.io/agents/models/tts/spitch.md): How to use the Spitch TTS plugin for LiveKit Agents. #### Realtime - [Overview](https://docs.livekit.io/agents/models/realtime.md): Guides for adding realtime model integrations to your agents. - [Gemini Live API](https://docs.livekit.io/agents/models/realtime/plugins/gemini.md): How to use the Gemini Live API with LiveKit Agents. - [Amazon Nova Sonic](https://docs.livekit.io/agents/models/realtime/plugins/nova-sonic.md): How to use the Amazon Nova Sonic model with LiveKit Agents. - [OpenAI Realtime API](https://docs.livekit.io/agents/models/realtime/plugins/openai.md): How to use the OpenAI Realtime API with LiveKit Agents. - [Azure OpenAI Realtime API](https://docs.livekit.io/agents/models/realtime/plugins/azure-openai.md): How to use the Azure OpenAI Realtime API with LiveKit Agents. - [NVIDIA PersonaPlex](https://docs.livekit.io/agents/models/realtime/plugins/personaplex.md): How to use the NVIDIA PersonaPlex realtime model with LiveKit Agents. - [Phonic Speech-to-speech](https://docs.livekit.io/agents/models/realtime/plugins/phonic.md): How to use the Phonic Realtime model with LiveKit Agents. - [Ultravox Realtime](https://docs.livekit.io/agents/models/realtime/plugins/ultravox.md): How to use the Ultravox Realtime model with LiveKit Agents. - [xAI Grok Voice Agent API](https://docs.livekit.io/agents/models/realtime/plugins/xai.md): How to use xAI's Grok Voice Agent API with LiveKit Agents. #### Virtual avatar - [Overview](https://docs.livekit.io/agents/models/avatar.md): Guides for adding virtual avatars to your agents. - [Anam](https://docs.livekit.io/agents/models/avatar/plugins/anam.md): How to use the Anam virtual avatar plugin for LiveKit Agents. - [Avatario](https://docs.livekit.io/agents/models/avatar/plugins/avatario.md): How to use the Avatario virtual avatar plugin for LiveKit Agents. - [AvatarTalk](https://docs.livekit.io/agents/models/avatar/plugins/avatartalk.md): How to use the AvatarTalk virtual avatar plugin for LiveKit Agents. - [Beyond Presence](https://docs.livekit.io/agents/models/avatar/plugins/bey.md): How to use the Beyond Presence virtual avatar plugin for LiveKit Agents. - [bitHuman](https://docs.livekit.io/agents/models/avatar/plugins/bithuman.md): How to use the bitHuman virtual avatar plugin for LiveKit Agents. - [D-ID](https://docs.livekit.io/agents/models/avatar/plugins/did.md): How to use the D-ID virtual avatar plugin for LiveKit Agents. - [Hedra](https://docs.livekit.io/agents/models/avatar/plugins/hedra.md): How to use the Hedra virtual avatar plugin for LiveKit Agents. - [Keyframe](https://docs.livekit.io/agents/models/avatar/plugins/keyframe.md): How to use the Keyframe virtual avatar plugin for LiveKit Agents. - [LemonSlice](https://docs.livekit.io/agents/models/avatar/plugins/lemonslice.md): How to use the LemonSlice virtual avatar plugin for LiveKit Agents. - [LiveAvatar](https://docs.livekit.io/agents/models/avatar/plugins/liveavatar.md): How to use the LiveAvatar virtual avatar plugin for LiveKit Agents. - [Runway](https://docs.livekit.io/agents/models/avatar/plugins/runway.md): How to use the Runway virtual avatar plugin for LiveKit Agents. - [Simli](https://docs.livekit.io/agents/models/avatar/plugins/simli.md): How to use the Simli virtual avatar plugin for LiveKit Agents. - [Tavus](https://docs.livekit.io/agents/models/avatar/plugins/tavus.md): How to use the Tavus virtual avatar plugin for LiveKit Agents. - [TruGen](https://docs.livekit.io/agents/models/avatar/plugins/trugen.md): How to use the TruGen.AI realtime avatar plugin for LiveKit Agents. ### Partner spotlight #### OpenAI - [Overview](https://docs.livekit.io/agents/integrations/openai.md): Build world-class realtime AI apps with OpenAI and LiveKit Agents. - [OpenAI LLM](https://docs.livekit.io/agents/models/llm/openai.md): How to use OpenAI models with LiveKit Agents. - [Realtime API](https://docs.livekit.io/agents/models/realtime/plugins/openai.md): How to use the OpenAI Realtime API with LiveKit Agents. - [OpenAI TTS](https://docs.livekit.io/agents/models/tts/openai.md): How to use the OpenAI TTS plugin for LiveKit Agents. - [OpenAI STT](https://docs.livekit.io/agents/models/stt/openai.md): How to use the OpenAI STT plugin for LiveKit Agents. #### Google - [Overview](https://docs.livekit.io/agents/integrations/google.md): Build world-class realtime AI apps with Google AI and LiveKit Agents. - [Gemini LLM](https://docs.livekit.io/agents/models/llm/gemini.md): How to use Google Gemini models with LiveKit Agents. - [Gemini Live API](https://docs.livekit.io/agents/models/realtime/plugins/gemini.md): How to use the Gemini Live API with LiveKit Agents. - [Google Cloud TTS](https://docs.livekit.io/agents/models/tts/google.md): How to use the Google Cloud TTS plugin for LiveKit Agents. - [Google Cloud STT](https://docs.livekit.io/agents/models/stt/google.md): How to use the Google Cloud STT plugin for LiveKit Agents. #### Azure - [Overview](https://docs.livekit.io/agents/integrations/azure.md): An overview of the Azure AI integrations with LiveKit Agents. - [Azure AI Speech TTS](https://docs.livekit.io/agents/models/tts/azure.md): How to use the Azure Speech TTS plugin for LiveKit Agents. - [Azure AI Speech STT](https://docs.livekit.io/agents/models/stt/azure.md): How to use the Azure Speech STT plugin for LiveKit Agents. - [Azure OpenAI Realtime API](https://docs.livekit.io/agents/models/realtime/plugins/azure-openai.md): How to use the Azure OpenAI Realtime API with LiveKit Agents. - [Azure OpenAI LLM](https://docs.livekit.io/agents/models/llm/azure-openai.md): How to use the Azure OpenAI LLM plugin for LiveKit Agents. - [Azure OpenAI TTS](https://docs.livekit.io/agents/models/tts/azure-openai.md): How to use the Azure OpenAI TTS plugin for LiveKit Agents. - [Azure OpenAI STT](https://docs.livekit.io/agents/models/stt/azure-openai.md): How to use the Azure OpenAI STT plugin for LiveKit Agents. #### AWS - [Overview](https://docs.livekit.io/agents/integrations/aws.md): An overview of the AWS AI integrations with LiveKit Agents. - [Amazon Bedrock LLM](https://docs.livekit.io/agents/models/llm/aws.md): How to use the Amazon Bedrock LLM plugin for LiveKit Agents. - [Amazon Polly TTS](https://docs.livekit.io/agents/models/tts/aws.md): How to use the Amazon Polly TTS plugin for LiveKit Agents. - [Amazon Transcribe STT](https://docs.livekit.io/agents/models/stt/aws.md): How to use the Amazon Transcribe STT plugin for LiveKit Agents. - [Amazon Nova Sonic](https://docs.livekit.io/agents/models/realtime/plugins/nova-sonic.md): How to use the Amazon Nova Sonic model with LiveKit Agents. #### xAI - [Overview](https://docs.livekit.io/agents/integrations/xai.md): Build world-class realtime AI apps with Grok API and LiveKit Agents. - [Grok Voice Agent API](https://docs.livekit.io/agents/models/realtime/plugins/xai.md): How to use xAI's Grok Voice Agent API with LiveKit Agents. - [xAI LLM](https://docs.livekit.io/agents/models/llm/xai.md): How to use xAI's Grok models with LiveKit Agents. - [xAI TTS](https://docs.livekit.io/agents/models/tts/xai.md): How to use xAI TTS with LiveKit Agents. - [xAI STT](https://docs.livekit.io/agents/models/stt/xai.md): How to use xAI STT with LiveKit Agents. #### Groq - [Overview](https://docs.livekit.io/agents/integrations/groq.md): Ship lightning-fast voice AI with Groq and LiveKit Agents. - [Groq LLM](https://docs.livekit.io/agents/models/llm/groq.md): How to use the Groq LLM plugin for LiveKit Agents. - [Groq TTS](https://docs.livekit.io/agents/models/tts/groq.md): How to use the Groq TTS plugin for LiveKit Agents. - [Groq STT](https://docs.livekit.io/agents/models/stt/groq.md): How to use the Groq STT plugin for LiveKit Agents. - [Cerebras](https://docs.livekit.io/agents/integrations/cerebras.md): Build voice AI on the world's fastest inference. ### Reference - [Agents framework](https://docs.livekit.io/reference.md#agents-framework/) - [Turn handling options](https://docs.livekit.io/reference/agents/turn-handling-options.md): Reference documentation for turn handling options in LiveKit Agents. - [Events and error handling](https://docs.livekit.io/reference/agents/events.md): Guides and reference for events and error handling in LiveKit Agents. - [Agent dispatch service API](https://docs.livekit.io/reference/agents/agent-dispatch-service-api.md): Use LiveKit's AgentDispatchService API to explicitly dispatch agents to rooms from your backend. - [LiveKit CLI](https://docs.livekit.io/reference/developer-tools/livekit-cli.md): Install the LiveKit CLI, set up a project, and create apps from templates. - [Inference LLM parameters](https://docs.livekit.io/reference/agents/inference-llm-parameters.md): Full reference for model parameters supported by LiveKit Inference LLMs. ## Agent Frontends ### Get Started - [Introduction](https://docs.livekit.io/frontends.md): Build a custom web or mobile frontend for your LiveKit Agent. - [React voice agent quickstart](https://docs.livekit.io/frontends/start/react-quickstart.md): Build a voice AI frontend with React in less than 10 minutes. #### Starter apps - [Overview](https://docs.livekit.io/frontends/start/starter-apps.md): Open-source starter apps to get up and running quickly on your preferred platform. - [React](https://docs.livekit.io/frontends/start/starter-apps/react.md): A full-featured React voice agent starter app built with Next.js and Agents UI. - [SwiftUI](https://docs.livekit.io/frontends/start/starter-apps/swiftui.md): A native iOS and macOS voice agent starter app built with SwiftUI. - [Android](https://docs.livekit.io/frontends/start/starter-apps/android.md): A native Android voice agent starter app built with Jetpack Compose. - [Flutter](https://docs.livekit.io/frontends/start/starter-apps/flutter.md): A cross-platform voice agent starter app built with Flutter. - [React Native](https://docs.livekit.io/frontends/start/starter-apps/react-native.md): A cross-platform mobile voice agent starter app built with React Native. - [Web embed](https://docs.livekit.io/frontends/start/starter-apps/web-embed.md): An embeddable voice agent widget for any website. ### Building Frontends - [Overview](https://docs.livekit.io/frontends/build.md): Detailed guides to building great frontends for voice and video AI. - [Session management](https://docs.livekit.io/frontends/build/sessions.md): Use Session APIs to manage room connections and agent lifecycle in your frontend. #### Authentication - [Overview](https://docs.livekit.io/frontends/build/authentication.md): How to manage and use tokens to authenticate your frontend app - [Token server](https://docs.livekit.io/frontends/build/authentication/sandbox-token-server.md): Get started quickly with LiveKit Cloud's token server. - [Token endpoints](https://docs.livekit.io/frontends/build/authentication/endpoint.md): Implement a LiveKit standardized token endpoint. - [Custom token generation](https://docs.livekit.io/frontends/build/authentication/custom.md): Use a pre-existing token generation mechanism with LiveKit SDKs. - [Agent state](https://docs.livekit.io/frontends/build/agent-state.md): Track and respond to agent state changes in your frontend. - [Realtime media and data](https://docs.livekit.io/frontends/build/media-data.md): Work with audio, video, text streams, and data in your agent frontend. - [Virtual avatars](https://docs.livekit.io/frontends/build/virtual-avatars.md): Give your agent a visual presence with a virtual avatar. ### Agents UI Components - [Overview](https://docs.livekit.io/frontends/agents-ui.md): Polished Shadcn components for rapid development of voice agent frontends. - [Media controls](https://docs.livekit.io/frontends/agents-ui/media-controls.md): Components for controlling microphone, camera, session actions, and other media in agent frontends. #### Audio visualizers - [Prebuilt](https://docs.livekit.io/frontends/agents-ui/audio-visualizer/prebuilt.md): Components for visualizing agent and user audio in your frontend. - [Custom](https://docs.livekit.io/frontends/agents-ui/audio-visualizer/custom.md): Build shader-based visualizers that react to voice and agent state in realtime. - [Chat components](https://docs.livekit.io/frontends/agents-ui/chat.md): Components for displaying transcriptions and chat messages in agent frontends. ### Reference - [LiveKit SDKs](https://docs.livekit.io/reference.md#livekit-sdks) - [UI Component SDKs](https://docs.livekit.io/reference.md#ui-components) - [Server APIs](https://docs.livekit.io/reference.md#server-apis) - [Tokens & grants](https://docs.livekit.io/frontends/reference/tokens-grants.md): Reference documentation for access tokens, grants, and permissions. ## Telephony ### Get Started - [Introduction](https://docs.livekit.io/telephony.md): LiveKit's telephony services enable seamless integration between traditional phone networks and LiveKit's realtime platform. - [Phone numbers](https://docs.livekit.io/telephony/start/phone-numbers.md): How to purchase and configure phone numbers directly through LiveKit. - [SIP trunk setup](https://docs.livekit.io/telephony/start/sip-trunk-setup.md): Guide to integrating SIP trunks with LiveKit telephony. #### Provider-specific quickstarts - [Overview](https://docs.livekit.io/telephony/start/providers.md) - [Twilio](https://docs.livekit.io/telephony/start/providers/twilio.md): Step-by-step instructions for creating inbound and outbound SIP trunks using Twilio. - [Telnyx](https://docs.livekit.io/telephony/start/providers/telnyx.md): Step-by-step instructions for creating inbound and outbound SIP trunks using Telnyx. - [Plivo](https://docs.livekit.io/telephony/start/providers/plivo.md): Step-by-step instructions for creating inbound and outbound SIP trunks using Plivo. - [Wavix](https://docs.livekit.io/telephony/start/providers/wavix.md): Step-by-step instructions for configuring inbound and outbound calls using Wavix and LiveKit. - [Sinch](https://docs.livekit.io/telephony/start/providers/sinch.md): Step-by-step instructions for creating inbound and outbound SIP trunks using Sinch Elastic SIP Trunking. ### Features - [Overview](https://docs.livekit.io/telephony/features.md): An overview of telephony features for LiveKit. - [DTMF](https://docs.livekit.io/telephony/features/dtmf.md): Sending and receiving DTMF tones. - [Answering machine detection](https://docs.livekit.io/telephony/features/answering-machine-detection.md): Classify whether a real person, voicemail, or IVR system answered an outbound call. - [Region pinning](https://docs.livekit.io/telephony/features/region-pinning.md): Learn how to isolate LiveKit telephony traffic to a specific region. #### Transfers - [Overview](https://docs.livekit.io/telephony/features/transfers.md): An overview of call transfer features for LiveKit telephony. - [Call forwarding](https://docs.livekit.io/telephony/features/transfers/cold.md): Transfer calls to another number or SIP endpoint using SIP REFER. - [Agent-assisted transfer](https://docs.livekit.io/telephony/features/transfers/warm.md): How to transfer a call from an AI agent to a human operator while providing a contextual summary. - [HD voice](https://docs.livekit.io/telephony/features/hd-voice.md): LiveKit SIP supports high fidelity calls by enabling HD voice. - [Secure trunking](https://docs.livekit.io/telephony/features/secure-trunking.md): How to enable secure trunking for LiveKit SIP. ### Accepting calls - [Overview](https://docs.livekit.io/telephony/accepting-calls.md): An overview of accepting inbound calls with LiveKit telephony. - [Workflow & setup](https://docs.livekit.io/telephony/accepting-calls/workflow-setup.md): Workflow and setup guide for accepting inbound calls. - [Inbound trunk](https://docs.livekit.io/telephony/accepting-calls/inbound-trunk.md): How to create and configure an inbound trunk to accept incoming calls using a SIP provider. - [Dispatch rule](https://docs.livekit.io/telephony/accepting-calls/dispatch-rule.md): How to create and configure a dispatch rule. - [Twilio Voice integration](https://docs.livekit.io/telephony/accepting-calls/inbound-twilio.md): How to use LiveKit SIP with TwiML and Twilio conferencing. ### Making calls - [Overview](https://docs.livekit.io/telephony/making-calls.md): An overview of making outbound calls with LiveKit telephony. - [Workflow & setup](https://docs.livekit.io/telephony/making-calls/workflow-setup.md): Workflow and setup for making outbound calls. - [Outbound trunk](https://docs.livekit.io/telephony/making-calls/outbound-trunk.md): How to create and configure an outbound trunk to make outgoing calls. - [Outbound calls](https://docs.livekit.io/telephony/making-calls/outbound-calls.md): Create a LiveKit SIP participant to make outbound calls. ### Testing - [Testing your setup](https://docs.livekit.io/telephony/testing.md): Place a test call and inspect the resulting room, SIP participant, and logs. ### Reference - [SIP primer](https://docs.livekit.io/reference/telephony/sip-primer.md): Learn how SIP calls flow in LiveKit to connect traditional telephony with realtime communications. - [SIP participant](https://docs.livekit.io/reference/telephony/sip-participant.md): Mapping a caller to a SIP participant. - [SIP handshake](https://docs.livekit.io/reference/telephony/sip-handshake.md): Understanding the SIP handshake process. - [Codecs negotiation & support](https://docs.livekit.io/reference/telephony/codecs-negotiation.md): Learn how audio codecs are negotiated during SIP calls and which codecs LiveKit supports. - [Phone Numbers API](https://docs.livekit.io/reference/telephony/phone-numbers-api.md): Use LiveKit's Phone Number APIs to manage phone numbers for your telephony apps. - [SIP API](https://docs.livekit.io/reference/telephony/sip-api.md): Use LiveKit's built-in SIP APIs to manage your SIP-based apps. - [Server APIs](https://docs.livekit.io/reference.md#server-apis) - [Troubleshooting](https://docs.livekit.io/reference/telephony/troubleshooting.md): Common issues and solutions for SIP. ## WebRTC Transport ### Get Started - [Introduction](https://docs.livekit.io/transport.md): Build realtime applications with LiveKit's WebRTC transport layer, SDKs, and media handling capabilities. #### SDK platform quickstarts - [Overview](https://docs.livekit.io/transport/sdk-platforms.md) - [React](https://docs.livekit.io/transport/sdk-platforms/react.md): Build a voice AI frontend with React in less than 10 minutes. - [Unity (WebGL)](https://docs.livekit.io/transport/sdk-platforms/unity-web.md): Get started with LiveKit and Unity (WebGL) - [Swift](https://docs.livekit.io/transport/sdk-platforms/swift.md): Get started with LiveKit on iOS using SwiftUI - [Android (Compose)](https://docs.livekit.io/transport/sdk-platforms/android-compose.md): Get started with LiveKit and Android using Jetpack Compose - [Android](https://docs.livekit.io/transport/sdk-platforms/android.md): Get started with LiveKit and Android - [Flutter](https://docs.livekit.io/transport/sdk-platforms/flutter.md): Get started with LiveKit and Flutter - [React Native](https://docs.livekit.io/transport/sdk-platforms/react-native.md): Get started with LiveKit and React Native - [Expo](https://docs.livekit.io/transport/sdk-platforms/expo.md): Get started with LiveKit and Expo on React Native - [C++](https://docs.livekit.io/transport/sdk-platforms/cpp.md): Get started with LiveKit using the C++ SDK. ### Media - [Overview](https://docs.livekit.io/transport/media.md): An overview of realtime media components for LiveKit. - [Camera & microphone](https://docs.livekit.io/transport/media/publish.md): Publish realtime audio and video from any device. - [Screen sharing](https://docs.livekit.io/transport/media/screenshare.md): Publish your screen with LiveKit. - [Subscribing to tracks](https://docs.livekit.io/transport/media/subscribe.md): Play and render realtime media tracks in your application. - [Processing raw tracks](https://docs.livekit.io/transport/media/raw-tracks.md): How to read, process, and publish raw media tracks and files. - [Noise & echo cancellation](https://docs.livekit.io/transport/media/noise-cancellation.md): Achieve crystal-clear audio for video conferencing and voice AI. - [Codecs & more](https://docs.livekit.io/transport/media/advanced.md): Advanced audio and video topics. #### Stream export & import - [Overview](https://docs.livekit.io/transport/media/ingress-egress.md): An overview of stream export and import components for LiveKit. ##### Egress - [Overview](https://docs.livekit.io/transport/media/ingress-egress/egress.md): Use LiveKit's Egress service to record or livestream a room. - [RoomComposite & web egress](https://docs.livekit.io/transport/media/ingress-egress/egress/composite-recording.md): LiveKit web-based recorder gives you flexible compositing options. - [Participant & TrackComposite egress](https://docs.livekit.io/transport/media/ingress-egress/egress/participant.md): Record participants individually with the egress API. - [Track egress](https://docs.livekit.io/transport/media/ingress-egress/egress/track.md): Track egress allows you to export a single track without transcoding. - [Auto egress](https://docs.livekit.io/transport/media/ingress-egress/egress/autoegress.md): Automatically start recording with a room. - [Output & streaming options](https://docs.livekit.io/transport/media/ingress-egress/egress/outputs.md): Export content anywhere, in any format. - [Custom recording templates](https://docs.livekit.io/transport/media/ingress-egress/egress/custom-template.md): Create your own recording layout to use with Room Composite Egress. ##### Ingress - [Overview](https://docs.livekit.io/transport/media/ingress-egress/ingress.md): Use LiveKit's Ingress service to bring live streams from non-WebRTC sources into LiveKit rooms. - [Encoder configuration](https://docs.livekit.io/transport/media/ingress-egress/ingress/encoders.md): How to configure streaming software to work with LiveKit Ingress. - [Transcoding configuration](https://docs.livekit.io/transport/media/ingress-egress/ingress/transcode.md): Configure video and audio encoding settings for LiveKit Ingress, including presets and custom encoding options. ### Data - [Overview](https://docs.livekit.io/transport/data.md): An overview of realtime text and data features for LiveKit. - [Sending text](https://docs.livekit.io/transport/data/text-streams.md): Use text streams to send any amount of text between participants. - [Sending files & bytes](https://docs.livekit.io/transport/data/byte-streams.md): Use byte streams to send files, images, or any other kind of data between participants. - [Remote method calls](https://docs.livekit.io/transport/data/rpc.md): Use remote procedure calls (RPCs) to execute custom methods on other participants in the room and await a response. - [Data tracks](https://docs.livekit.io/transport/data/data-tracks.md): Use data tracks to send low-latency, high-bandwidth data between participants. - [Data packets](https://docs.livekit.io/transport/data/packets.md): Low-level API for high frequency or advanced use cases. #### State synchronization - [Overview](https://docs.livekit.io/transport/data/state.md): An overview of state synchronization components for LiveKit. - [Participant attributes](https://docs.livekit.io/transport/data/state/participant-attributes.md): A key-value store for per-participant state. - [Room metadata](https://docs.livekit.io/transport/data/state/room-metadata.md): Share application-specific state with all participants. ### Encryption - [Overview](https://docs.livekit.io/transport/encryption.md): Secure your realtime media and data with end-to-end encryption. - [Get started](https://docs.livekit.io/transport/encryption/start.md): Learn how to implement end-to-end encryption in your LiveKit applications. - [E2EE with agents](https://docs.livekit.io/transport/encryption/agents.md): Enable end-to-end encryption for LiveKit Agents. ### Self-hosting - [Overview](https://docs.livekit.io/transport/self-hosting.md): An overview of self-hosting options for LiveKit servers. - [Running locally](https://docs.livekit.io/transport/self-hosting/local.md): This will get a LiveKit instance up and running, ready to receive audio and video streams from participants. - [Deployment](https://docs.livekit.io/transport/self-hosting/deployment.md): WebRTC servers can be tricky to deploy because of their use of UDP ports and having to know their own public IP address. This guide will help you get a secure LiveKit deployment up and running. - [Virtual machines](https://docs.livekit.io/transport/self-hosting/vm.md): This guide helps you to set up a production-ready LiveKit server on a cloud virtual machine. - [Kubernetes](https://docs.livekit.io/transport/self-hosting/kubernetes.md): Deploy LiveKit to Kubernetes. - [Distributed multi-region](https://docs.livekit.io/transport/self-hosting/distributed.md): LiveKit is architected to be distributed, with homogeneous instances running across many servers. In distributed mode, Redis is required as shared data store and message bus. - [Firewall configuration](https://docs.livekit.io/transport/self-hosting/ports-firewall.md): Reference for ports and suggested firewall rules for LiveKit. - [Benchmarks](https://docs.livekit.io/transport/self-hosting/benchmark.md): Guide to load-testing and benchmarking your LiveKit installation. - [Egress](https://docs.livekit.io/transport/self-hosting/egress.md): The Egress service uses Redis messaging queues to load balance and communicate with your LiveKit server. - [Ingress](https://docs.livekit.io/transport/self-hosting/ingress.md): The Ingress service uses Redis messaging queues to communicate with your LiveKit server. - [SIP server](https://docs.livekit.io/transport/self-hosting/sip-server.md): Setting up and configuring a self-hosted SIP server for LiveKit telephony apps. ### Reference - [LiveKit SDKs](https://docs.livekit.io/reference.md#livekit-sdks) - [Egress API](https://docs.livekit.io/reference/other/egress/api.md): Use LiveKit's egress service to record or livestream a Room. - [Ingress API](https://docs.livekit.io/reference/other/ingress/api.md): Use LiveKit's ingress service to import live streams from non-WebRTC sources into LiveKit rooms. - [Server APIs](https://docs.livekit.io/reference.md#server-apis) ## Manage & Deploy ### Get Started - [Introduction](https://docs.livekit.io/deploy.md): Deploy, manage, and monitor your LiveKit applications with a comprehensive suite of tools and flexible hosting options. ### Agent deployment - [Overview](https://docs.livekit.io/deploy/agents.md): Overview of deploying agents, including deployment management, secrets, builds, logs, and monitoring. - [Quickstart](https://docs.livekit.io/deploy/agents/quickstart.md): Quickstart guide for deploying your first agent to LiveKit Cloud. - [Deployment management](https://docs.livekit.io/deploy/agents/managing-deployments.md): Configure, deploy, and manage your agent deployments using the LiveKit CLI. - [Secrets management](https://docs.livekit.io/deploy/agents/secrets.md): Manage secrets for your LiveKit Cloud agent deployments. - [Logs](https://docs.livekit.io/deploy/agents/logs.md): Monitor and debug your deployed agents with comprehensive logging. - [Log drains](https://docs.livekit.io/deploy/agents/log-drains.md): Forward runtime logs from agents deployed to LiveKit Cloud to external monitoring services like Datadog, CloudWatch, Sentry, New Relic, Splunk, and syslog-compatible endpoints. - [Builds and Dockerfiles](https://docs.livekit.io/deploy/agents/builds.md): Guide to the LiveKit Cloud build process, plus Dockerfile templates and resources. - [Self-hosted deployments](https://docs.livekit.io/deploy/custom/deployments.md): Guide to running LiveKit agents on your own infrastructure. ### Agent Observability - [Overview](https://docs.livekit.io/deploy/observability.md): An overview of observability features for LiveKit Agents. - [Insights in LiveKit Cloud](https://docs.livekit.io/deploy/observability/insights.md): View audio recordings, transcripts, traces, and logs in LiveKit Cloud. - [Data hooks](https://docs.livekit.io/deploy/observability/data.md): Collect session recordings, transcripts, metrics, and other data within the LiveKit Agents SDK. ### Administration - [Overview](https://docs.livekit.io/deploy/admin.md): Manage your project regions, firewalls, and quotas. #### Regions - [Overview](https://docs.livekit.io/deploy/admin/regions.md): Configure and manage regional deployments or restrictions. - [Region pinning](https://docs.livekit.io/deploy/admin/regions/region-pinning.md): Learn how to isolate LiveKit traffic to a specific region. - [Agent deployment](https://docs.livekit.io/deploy/admin/regions/agent-deployment.md): Configure and manage agent deployments across multiple regions. - [Sandbox](https://docs.livekit.io/deploy/admin/sandbox.md): Rapidly prototype your apps and share them with others, cutting out the boilerplate. - [Configuring firewalls](https://docs.livekit.io/deploy/admin/firewall.md): Learn how to configure firewalls for LiveKit Cloud. - [Quotas & limits](https://docs.livekit.io/deploy/admin/quotas-and-limits.md): Guide to the quotas and limits for LiveKit Cloud plans. - [Billing](https://docs.livekit.io/deploy/admin/billing.md): Guide to LiveKit Cloud invoices and billing cycles. - [Analytics API](https://docs.livekit.io/deploy/admin/analytics-api.md): Get information about your LiveKit Cloud sessions and participants ### Reference - [LiveKit CLI](https://docs.livekit.io/reference/developer-tools/livekit-cli.md): Install the LiveKit CLI, set up a project, and create apps from templates. - [Server APIs](https://docs.livekit.io/reference.md#server-apis) - [Events and error handling](https://docs.livekit.io/reference/agents/events.md): Guides and reference for events and error handling in LiveKit Agents. - [LiveKit SFU](https://docs.livekit.io/reference/internals/livekit-sfu.md): LiveKit is an opinionated, horizontally-scaling WebRTC Selective Forwarding Unit. ## Reference ### Get Started - [Overview](https://docs.livekit.io/reference.md): All reference documentation in the LiveKit ecosystem with links to complete docs, package registries, and source code. - [Recipes](https://docs.livekit.io/reference/recipes.md) ### Developer tools #### LiveKit CLI - [Overview](https://docs.livekit.io/reference/developer-tools/livekit-cli.md): Install the LiveKit CLI, set up a project, and create apps from templates. - [Project commands](https://docs.livekit.io/reference/developer-tools/livekit-cli/projects.md): Add, list, and manage projects in the LiveKit CLI. - [Agent commands](https://docs.livekit.io/reference/developer-tools/livekit-cli/agent.md): Reference for the LiveKit Cloud agent commands in the LiveKit CLI. - [Docs search](https://docs.livekit.io/reference/developer-tools/livekit-cli/docs.md): Search and browse LiveKit documentation from the terminal with the lk docs command. - [Docs MCP server](https://docs.livekit.io/reference/developer-tools/docs-mcp.md): MCP server reference for integrating LiveKit documentation into coding agents and IDE assistants. ### Agents framework - [Python](https://docs.livekit.io/reference/python/livekit/agents.md) - [Node.js](https://docs.livekit.io/reference/agents-js.md) - [Turn handling options](https://docs.livekit.io/reference/agents/turn-handling-options.md): Reference documentation for turn handling options in LiveKit Agents. - [Events and error handling](https://docs.livekit.io/reference/agents/events.md): Guides and reference for events and error handling in LiveKit Agents. - [Agent dispatch service API](https://docs.livekit.io/reference/agents/agent-dispatch-service-api.md): Use LiveKit's AgentDispatchService API to explicitly dispatch agents to rooms from your backend. - [Inference LLM parameters](https://docs.livekit.io/reference/agents/inference-llm-parameters.md): Full reference for model parameters supported by LiveKit Inference LLMs. ### LiveKit SDKs - [JavaScript](https://docs.livekit.io/reference/client-sdk-js/index.html.md) - [Swift](https://docs.livekit.io/reference/client-sdk-swift/documentation/livekit.md) - [Android](https://docs.livekit.io/reference/client-sdk-android/index.html.md) - [Flutter](https://docs.livekit.io/reference/client-sdk-flutter/index.html.md) - [React Native](https://github.com/livekit/client-sdk-react-native) - [Unity](https://github.com/livekit/client-sdk-unity) - [Unity (WebGL)](https://github.com/livekit/client-sdk-unity-web) - [Node.js](https://docs.livekit.io/reference/client-sdk-node.md) - [Rust](https://github.com/livekit/rust-sdks) - [C++](https://docs.livekit.io/reference/client-sdk-cpp.md) - [Python](https://docs.livekit.io/reference/python/livekit/rtc/index.html.md) - [Go](https://github.com/livekit/server-sdk-go) ### UI Components - [Agents UI (Shadcn)](https://docs.livekit.io/reference/components/agents-ui.md): Agents UI is the fastest way to build multi-modal, agentic experiences on top of LiveKit's platform primitives. - [React](https://docs.livekit.io/reference/components/react.md) - [SwiftUI](https://livekit.github.io/components-swift/documentation/livekitcomponents) - [Android](https://docs.livekit.io/reference/components/android.md): LiveKit Android Components are the easiest way to build realtime audio/video apps with Jetpack Compose on Android. - [Flutter](https://pub.dev/packages/livekit_components) ### Server APIs - [Go](https://pkg.go.dev/github.com/livekit/server-sdk-go/v2) - [Node](https://docs.livekit.io/reference/server-sdk-js/index.html.md) - [Ruby](https://github.com/livekit/server-sdk-ruby) - [Kotlin/Java](https://github.com/livekit/server-sdk-kotlin) - [Python](https://docs.livekit.io/reference/python/livekit/api.md) - [PHP](https://github.com/agence104/livekit-server-sdk-php) ### Internals - [LiveKit SFU](https://docs.livekit.io/reference/internals/livekit-sfu.md): LiveKit is an opinionated, horizontally-scaling WebRTC Selective Forwarding Unit. - [Signaling Protocol](https://docs.livekit.io/reference/internals/client-protocol.md): This is an overview of the core protocol LiveKit uses to communicate with clients. It's primarily oriented towards those building new SDKs or developers interested in contributing to LiveKit. ### Telephony - [SIP primer](https://docs.livekit.io/reference/telephony/sip-primer.md): Learn how SIP calls flow in LiveKit to connect traditional telephony with realtime communications. - [SIP participant](https://docs.livekit.io/reference/telephony/sip-participant.md): Mapping a caller to a SIP participant. - [SIP handshake](https://docs.livekit.io/reference/telephony/sip-handshake.md): Understanding the SIP handshake process. - [Codecs negotiation & support](https://docs.livekit.io/reference/telephony/codecs-negotiation.md): Learn how audio codecs are negotiated during SIP calls and which codecs LiveKit supports. - [SIP API](https://docs.livekit.io/reference/telephony/sip-api.md): Use LiveKit's built-in SIP APIs to manage your SIP-based apps. - [Phone Numbers API](https://docs.livekit.io/reference/telephony/phone-numbers-api.md): Use LiveKit's Phone Number APIs to manage phone numbers for your telephony apps. - [Troubleshooting](https://docs.livekit.io/reference/telephony/troubleshooting.md): Common issues and solutions for SIP. ### Migration Guides #### Agents v0.x to v1 migration - [Node.js](https://docs.livekit.io/reference/migration-guides/v0-migration/nodejs.md): Migrate your Node.js agents from version 0.x to 1.0. - [Python](https://docs.livekit.io/reference/migration-guides/v0-migration/python.md): Migrate your Python-based agents from version v0.x to 1.0. - [SDK v1 to v2 migration](https://docs.livekit.io/reference/migration-guides/migrate-from-v1.md): Overview of how to migrate your applications from LiveKit SDK v1.x to v2 ### Other - [Room service API](https://docs.livekit.io/reference/other/roomservice-api.md): Use LiveKit's built-in API to manage rooms, participants, and tracks in your backend. #### Egress - [Egress API](https://docs.livekit.io/reference/other/egress/api.md): Use LiveKit's egress service to record or livestream a Room. - [Egress examples](https://docs.livekit.io/reference/other/egress/examples.md): Usage examples for Egress APIs to record or livestream a room or individual tracks. #### Ingress - [Ingress API](https://docs.livekit.io/reference/other/ingress/api.md): Use LiveKit's ingress service to import live streams from non-WebRTC sources into LiveKit rooms. ## React Components ### Getting started - [Installation](https://docs.livekit.io/reference/components/react/installation.md): Learn how to install and set up the @livekit/components-react package for React. - [Best practices](https://docs.livekit.io/reference/components/react/guide.md): Recommendations for creating apps using LiveKit React components. ### Concepts - [Building blocks](https://docs.livekit.io/reference/components/react/concepts/building-blocks.md): A short tour through everything you need to build your next LiveKit app. - [LiveKitRoom component](https://docs.livekit.io/reference/components/react/concepts/livekit-room-component.md) - [Contexts](https://docs.livekit.io/reference/components/react/concepts/contexts.md): Learn how contexts in LiveKit components provide easy access to the parent state for nested components. - [Loop components](https://docs.livekit.io/reference/components/react/concepts/loops.md) - [Custom components](https://docs.livekit.io/reference/components/react/concepts/custom-components.md) - [Style components](https://docs.livekit.io/reference/components/react/concepts/style-components.md) - [Rendering video tracks](https://docs.livekit.io/reference/components/react/concepts/rendering-video.md) - [Rendering audio tracks](https://docs.livekit.io/reference/components/react/concepts/rendering-audio.md): Different ways to render audio with React Components ### Hooks - [useAgent](https://docs.livekit.io/reference/components/react/hook/useagent.md) - [useAudioPlayback](https://docs.livekit.io/reference/components/react/hook/useaudioplayback.md) - [useAudioWaveform](https://docs.livekit.io/reference/components/react/hook/useaudiowaveform.md) - [useChat](https://docs.livekit.io/reference/components/react/hook/usechat.md) - [useChatToggle](https://docs.livekit.io/reference/components/react/hook/usechattoggle.md) - [useClearPinButton](https://docs.livekit.io/reference/components/react/hook/useclearpinbutton.md) - [useConnectionQualityIndicator](https://docs.livekit.io/reference/components/react/hook/useconnectionqualityindicator.md) - [useConnectionState](https://docs.livekit.io/reference/components/react/hook/useconnectionstate.md) - [useCreateLayoutContext](https://docs.livekit.io/reference/components/react/hook/usecreatelayoutcontext.md) - [useDataChannel](https://docs.livekit.io/reference/components/react/hook/usedatachannel.md) - [useDisconnectButton](https://docs.livekit.io/reference/components/react/hook/usedisconnectbutton.md) - [useEnsureCreateLayoutContext](https://docs.livekit.io/reference/components/react/hook/useensurecreatelayoutcontext.md) - [useEnsureLayoutContext](https://docs.livekit.io/reference/components/react/hook/useensurelayoutcontext.md) - [useEnsureParticipant](https://docs.livekit.io/reference/components/react/hook/useensureparticipant.md) - [useEnsureRoom](https://docs.livekit.io/reference/components/react/hook/useensureroom.md) - [useEnsureSession](https://docs.livekit.io/reference/components/react/hook/useensuresession.md) - [useEnsureTrackRef](https://docs.livekit.io/reference/components/react/hook/useensuretrackref.md) - [useEvents](https://docs.livekit.io/reference/components/react/hook/useevents.md) - [useFacingMode](https://docs.livekit.io/reference/components/react/hook/usefacingmode.md) - [useFocusToggle](https://docs.livekit.io/reference/components/react/hook/usefocustoggle.md) - [useGridLayout](https://docs.livekit.io/reference/components/react/hook/usegridlayout.md) - [useIsEncrypted](https://docs.livekit.io/reference/components/react/hook/useisencrypted.md) - [useIsMuted](https://docs.livekit.io/reference/components/react/hook/useismuted.md) - [useIsRecording](https://docs.livekit.io/reference/components/react/hook/useisrecording.md) - [useIsSpeaking](https://docs.livekit.io/reference/components/react/hook/useisspeaking.md) - [useKrispNoiseFilter](https://docs.livekit.io/reference/components/react/hook/usekrispnoisefilter.md) - [useLayoutContext](https://docs.livekit.io/reference/components/react/hook/uselayoutcontext.md) - [useLiveKitRoom](https://docs.livekit.io/reference/components/react/hook/uselivekitroom.md) - [useLocalParticipant](https://docs.livekit.io/reference/components/react/hook/uselocalparticipant.md) - [useLocalParticipantPermissions](https://docs.livekit.io/reference/components/react/hook/uselocalparticipantpermissions.md) - [useMaybeLayoutContext](https://docs.livekit.io/reference/components/react/hook/usemaybelayoutcontext.md) - [useMaybeParticipantContext](https://docs.livekit.io/reference/components/react/hook/usemaybeparticipantcontext.md) - [useMaybeRoomContext](https://docs.livekit.io/reference/components/react/hook/usemayberoomcontext.md) - [useMaybeSessionContext](https://docs.livekit.io/reference/components/react/hook/usemaybesessioncontext.md) - [useMaybeTrackRefContext](https://docs.livekit.io/reference/components/react/hook/usemaybetrackrefcontext.md) - [useMediaDevices](https://docs.livekit.io/reference/components/react/hook/usemediadevices.md) - [useMediaDeviceSelect](https://docs.livekit.io/reference/components/react/hook/usemediadeviceselect.md) - [useMultibandTrackVolume](https://docs.livekit.io/reference/components/react/hook/usemultibandtrackvolume.md) - [usePagination](https://docs.livekit.io/reference/components/react/hook/usepagination.md) - [useParticipantAttribute](https://docs.livekit.io/reference/components/react/hook/useparticipantattribute.md) - [useParticipantAttributes](https://docs.livekit.io/reference/components/react/hook/useparticipantattributes.md) - [useParticipantContext](https://docs.livekit.io/reference/components/react/hook/useparticipantcontext.md) - [useParticipantInfo](https://docs.livekit.io/reference/components/react/hook/useparticipantinfo.md) - [useParticipantPermissions](https://docs.livekit.io/reference/components/react/hook/useparticipantpermissions.md) - [useParticipants](https://docs.livekit.io/reference/components/react/hook/useparticipants.md) - [useParticipantTile](https://docs.livekit.io/reference/components/react/hook/useparticipanttile.md) - [useParticipantTracks](https://docs.livekit.io/reference/components/react/hook/useparticipanttracks.md) - [usePersistentUserChoices](https://docs.livekit.io/reference/components/react/hook/usepersistentuserchoices.md) - [usePinnedTracks](https://docs.livekit.io/reference/components/react/hook/usepinnedtracks.md) - [usePreviewDevice](https://docs.livekit.io/reference/components/react/hook/usepreviewdevice.md) - [usePreviewTracks](https://docs.livekit.io/reference/components/react/hook/usepreviewtracks.md) - [useRemoteParticipant](https://docs.livekit.io/reference/components/react/hook/useremoteparticipant.md) - [useRemoteParticipants](https://docs.livekit.io/reference/components/react/hook/useremoteparticipants.md) - [useRoomContext](https://docs.livekit.io/reference/components/react/hook/useroomcontext.md) - [useRoomInfo](https://docs.livekit.io/reference/components/react/hook/useroominfo.md) - [useRpc](https://docs.livekit.io/reference/components/react/hook/userpc.md) - [useSequentialRoomConnectDisconnect](https://docs.livekit.io/reference/components/react/hook/usesequentialroomconnectdisconnect.md) - [useSession](https://docs.livekit.io/reference/components/react/hook/usesession.md) - [useSessionContext](https://docs.livekit.io/reference/components/react/hook/usesessioncontext.md) - [useSessionMessages](https://docs.livekit.io/reference/components/react/hook/usesessionmessages.md) - [useSortedParticipants](https://docs.livekit.io/reference/components/react/hook/usesortedparticipants.md) - [useSpeakingParticipants](https://docs.livekit.io/reference/components/react/hook/usespeakingparticipants.md) - [useStartAudio](https://docs.livekit.io/reference/components/react/hook/usestartaudio.md) - [useStartVideo](https://docs.livekit.io/reference/components/react/hook/usestartvideo.md) - [useSwipe](https://docs.livekit.io/reference/components/react/hook/useswipe.md) - [useTextStream](https://docs.livekit.io/reference/components/react/hook/usetextstream.md) - [useToken](https://docs.livekit.io/reference/components/react/hook/usetoken.md) - [useTrackByName](https://docs.livekit.io/reference/components/react/hook/usetrackbyname.md) - [useTrackMutedIndicator](https://docs.livekit.io/reference/components/react/hook/usetrackmutedindicator.md) - [useTrackRefContext](https://docs.livekit.io/reference/components/react/hook/usetrackrefcontext.md) - [useTracks](https://docs.livekit.io/reference/components/react/hook/usetracks.md) - [useTrackToggle](https://docs.livekit.io/reference/components/react/hook/usetracktoggle.md) - [useTrackTranscription](https://docs.livekit.io/reference/components/react/hook/usetracktranscription.md) - [useTrackVolume](https://docs.livekit.io/reference/components/react/hook/usetrackvolume.md) - [useTranscriptions](https://docs.livekit.io/reference/components/react/hook/usetranscriptions.md) - [useVisualStableUpdate](https://docs.livekit.io/reference/components/react/hook/usevisualstableupdate.md) - [useVoiceAssistant](https://docs.livekit.io/reference/components/react/hook/usevoiceassistant.md) ### Components - [AudioConference](https://docs.livekit.io/reference/components/react/component/audioconference.md) - [AudioTrack](https://docs.livekit.io/reference/components/react/component/audiotrack.md) - [AudioVisualizer](https://docs.livekit.io/reference/components/react/component/audiovisualizer.md) - [BarVisualizer](https://docs.livekit.io/reference/components/react/component/barvisualizer.md) - [CarouselLayout](https://docs.livekit.io/reference/components/react/component/carousellayout.md) - [Chat](https://docs.livekit.io/reference/components/react/component/chat.md) - [ChatEntry](https://docs.livekit.io/reference/components/react/component/chatentry.md) - [ChatToggle](https://docs.livekit.io/reference/components/react/component/chattoggle.md) - [ClearPinButton](https://docs.livekit.io/reference/components/react/component/clearpinbutton.md) - [ConnectionQualityIndicator](https://docs.livekit.io/reference/components/react/component/connectionqualityindicator.md) - [ConnectionState](https://docs.livekit.io/reference/components/react/component/connectionstate.md) - [ConnectionStateToast](https://docs.livekit.io/reference/components/react/component/connectionstatetoast.md) - [ControlBar](https://docs.livekit.io/reference/components/react/component/controlbar.md) - [DisconnectButton](https://docs.livekit.io/reference/components/react/component/disconnectbutton.md) - [FocusLayout](https://docs.livekit.io/reference/components/react/component/focuslayout.md) - [FocusLayoutContainer](https://docs.livekit.io/reference/components/react/component/focuslayoutcontainer.md) - [FocusToggle](https://docs.livekit.io/reference/components/react/component/focustoggle.md) - [GridLayout](https://docs.livekit.io/reference/components/react/component/gridlayout.md) - [LayoutContext](https://docs.livekit.io/reference/components/react/component/layoutcontext.md) - [LayoutContextProvider](https://docs.livekit.io/reference/components/react/component/layoutcontextprovider.md) - [LiveKitRoom](https://docs.livekit.io/reference/components/react/component/livekitroom.md) - [MediaDeviceMenu](https://docs.livekit.io/reference/components/react/component/mediadevicemenu.md) - [MediaDeviceSelect](https://docs.livekit.io/reference/components/react/component/mediadeviceselect.md) - [ParticipantAudioTile](https://docs.livekit.io/reference/components/react/component/participantaudiotile.md) - [ParticipantContext](https://docs.livekit.io/reference/components/react/component/participantcontext.md) - [ParticipantContextIfNeeded](https://docs.livekit.io/reference/components/react/component/participantcontextifneeded.md) - [ParticipantLoop](https://docs.livekit.io/reference/components/react/component/participantloop.md) - [ParticipantName](https://docs.livekit.io/reference/components/react/component/participantname.md) - [ParticipantTile](https://docs.livekit.io/reference/components/react/component/participanttile.md) - [PreJoin](https://docs.livekit.io/reference/components/react/component/prejoin.md) - [RoomAudioRenderer](https://docs.livekit.io/reference/components/react/component/roomaudiorenderer.md) - [RoomContext](https://docs.livekit.io/reference/components/react/component/roomcontext.md) - [RoomName](https://docs.livekit.io/reference/components/react/component/roomname.md) - [SessionProvider](https://docs.livekit.io/reference/components/react/component/sessionprovider.md) - [StartAudio](https://docs.livekit.io/reference/components/react/component/startaudio.md) - [StartMediaButton](https://docs.livekit.io/reference/components/react/component/startmediabutton.md) - [Toast](https://docs.livekit.io/reference/components/react/component/toast.md) - [TrackLoop](https://docs.livekit.io/reference/components/react/component/trackloop.md) - [TrackMutedIndicator](https://docs.livekit.io/reference/components/react/component/trackmutedindicator.md) - [TrackRefContext](https://docs.livekit.io/reference/components/react/component/trackrefcontext.md) - [TrackToggle](https://docs.livekit.io/reference/components/react/component/tracktoggle.md) - [VideoConference](https://docs.livekit.io/reference/components/react/component/videoconference.md) - [VideoTrack](https://docs.livekit.io/reference/components/react/component/videotrack.md) - [VoiceAssistantControlBar](https://docs.livekit.io/reference/components/react/component/voiceassistantcontrolbar.md) ## Agents UI Components ### Framework - [Overview](https://docs.livekit.io/reference/components/agents-ui.md): Agents UI is the fastest way to build multi-modal, agentic experiences on top of LiveKit's platform primitives. ### Blocks - [AgentSessionView - 01](https://docs.livekit.io/reference/components/agents-ui/block/agent-session-view-01.md): A complete realtime agent session view with transcript, audio visualizer, and media controls. ### Components #### Media controls - [AgentControlBar](https://docs.livekit.io/reference/components/agents-ui/component/agent-control-bar.md): A control bar for managing media tracks (microphone, camera, screen share), opening the chat input, and disconnecting the agent session. - [AgentTrackControl](https://docs.livekit.io/reference/components/agents-ui/component/agent-track-control.md): A UI control for managing media tracks (microphone, camera, screen share). - [AgentTrackToggle](https://docs.livekit.io/reference/components/agents-ui/component/agent-track-toggle.md): A UI toggle for capturing a client's media input (microphone, camera, screen share). #### Audio visualizers - [AgentAudioVisualizerBar](https://docs.livekit.io/reference/components/agents-ui/component/agent-audio-visualizer-bar.md): An audio visualization of linear bouncing bars. - [AgentAudioVisualizerGrid](https://docs.livekit.io/reference/components/agents-ui/component/agent-audio-visualizer-grid.md): An audio visualization of a grid of particles. - [AgentAudioVisualizerRadial](https://docs.livekit.io/reference/components/agents-ui/component/agent-audio-visualizer-radial.md): An audio visualization of a radial bouncing bar. - [AgentAudioVisualizerWave](https://docs.livekit.io/reference/components/agents-ui/component/agent-audio-visualizer-wave.md): A shader based audio visualization of a sine wave. - [AgentAudioVisualizerAura](https://docs.livekit.io/reference/components/agents-ui/component/agent-audio-visualizer-aura.md): A shader based audio visualization of a pulsing energy field. #### Session management - [AgentSessionProvider](https://docs.livekit.io/reference/components/agents-ui/component/agent-session-provider.md): A context provider for the LiveKit agent session. - [AgentDisconnectButton](https://docs.livekit.io/reference/components/agents-ui/component/agent-disconnect-button.md): A button for disconnecting the agent session. - [StartAudioButton](https://docs.livekit.io/reference/components/agents-ui/component/start-audio-button.md): A button for starting the agent session's audio track when the browser blocks audio playback. #### Chat components - [AgentChatIndicator](https://docs.livekit.io/reference/components/agents-ui/component/agent-chat-indicator.md): An animated chat indicator for asynchronous states. - [AgentChatTranscript](https://docs.livekit.io/reference/components/agents-ui/component/agent-chat-transcript.md): A chat transcript for displaying conversational history. #### Miscellaneous - [NextJS API Token Route](https://docs.livekit.io/reference/components/agents-ui/component/nextjs-api-token-route.md): A NextJS API route to generate a LiveKit session token while keeping your API keys private. - [ReactShaderToy](https://docs.livekit.io/reference/components/agents-ui/component/react-shader-toy.md): Easily render ShaderToy based shaders. ## Android Components ### Getting started - [Installation](https://docs.livekit.io/reference/components/android.md): LiveKit Android Components are the easiest way to build realtime audio/video apps with Jetpack Compose on Android. - [API Reference](https://docs.livekit.io/components-android/index.html.md) - [Samples](https://docs.livekit.io/reference/components/android/samples.md) ### Concepts - [Building Blocks](https://docs.livekit.io/reference/components/android/concepts/building-blocks.md): A short tour through everything you need to build your next LiveKit app. - [Rendering a single Track](https://docs.livekit.io/reference/components/android/concepts/rendering-a-track.md) - [RoomScope](https://docs.livekit.io/reference/components/android/concepts/roomscope.md) - [Scopes](https://docs.livekit.io/reference/components/android/concepts/scopes.md): Learn how scopes in LiveKit components provide easy access to the parent state for nested composables. ## Recipes ### Quickstart - [Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai.md): Build and deploy a simple voice assistant in less than 10 minutes. - [SwiftUI Voice Agent](https://github.com/livekit-examples/agent-starter-swift) - [Next.js Voice Agent](https://github.com/livekit-examples/agent-starter-react) - [Flutter Voice Agent](https://github.com/livekit-examples/agent-starter-flutter) - [React Native Voice Agent](https://github.com/livekit-examples/agent-starter-react-native) - [Android Voice Agent](https://github.com/livekit-examples/agent-starter-android) - [Web Embed Voice Agent](https://github.com/livekit-examples/agent-starter-embed) - [Python Voice Agent](https://github.com/livekit-examples/agent-starter-python) - [Warm Transfer](https://github.com/livekit/agents/tree/main/examples/warm-transfer) - [Node.js Voice Agent](https://github.com/livekit-examples/agent-starter-node) ### Advanced LLM - [Context Variables](https://docs.livekit.io/reference/recipes/context_variables.md): Shows how to give an agent context about the user using simple variables. - [Interrupt User](https://docs.livekit.io/reference/recipes/interrupt_user.md): Shows how to interrupt the user if they've spoken too much. - [Long running tools](https://github.com/livekit/agents/blob/main/examples/voice_agents/long_running_function.py) - [LLM Content Filter](https://docs.livekit.io/reference/recipes/llm_powered_content_filter.md): Content filter using a separate LLM for real-time moderation decisions - [Simple Content Filter](https://docs.livekit.io/reference/recipes/simple_content_filter.md): Basic keyword-based content filter with inline replacement - [LLM Output Replacement](https://docs.livekit.io/reference/recipes/replacing_llm_output.md): Remove chain-of-thought reasoning blocks from a streaming LLM response before they reach TTS. - [LLM Metrics](https://docs.livekit.io/reference/recipes/metrics_llm.md): Shows how to use the LLM metrics to log metrics to the console for all of the different LLM models. - [MCP Agent](https://docs.livekit.io/reference/recipes/http_mcp_client.md): Shows how to use a LiveKit Agent as an MCP client. - [Structured Output](https://github.com/livekit/agents/blob/main/examples/voice_agents/structured_output.py) - [RPC + State Agent](https://github.com/livekit-examples/python-agents-examples/tree/main/docs/examples/rpc_agent) ### Voice Processing - [Push-to-Talk Agent](https://github.com/livekit/agents/blob/main/examples/voice_agents/push_to_talk.py) - [Uninterruptable Agent](https://docs.livekit.io/reference/recipes/uninterruptable.md): Agent configured to complete responses without user interruptions - [Change Language](https://docs.livekit.io/reference/recipes/changing_language.md): Shows how to use the ElevenLabs TTS model to change the language of the agent. - [Transcriber](https://docs.livekit.io/reference/recipes/transcriber.md): Shows how to transcribe user speech to text without TTS or an LLM. - [Keyword Detection](https://github.com/livekit-examples/python-agents-examples/blob/main/docs/examples/keyword-detection/keyword_detection.py) - [Pipeline Translator](https://docs.livekit.io/reference/recipes/pipeline_translator.md): Simple translation pipeline that converts English speech to French - [TTS Translator](https://docs.livekit.io/reference/recipes/tts_translator.md): Advanced translation system using Gladia STT with code switching and event handling - [STT Metrics](https://docs.livekit.io/reference/recipes/metrics_stt.md): Shows how to use the STT metrics to log metrics to the console. - [VAD Metrics](https://docs.livekit.io/reference/recipes/metrics_vad.md): Shows how to use the VAD metrics to log metrics to the console. - [Toggle Audio](https://github.com/livekit/agents/blob/main/examples/voice_agents/toggle_io.py) - [Echo Agent](https://github.com/livekit/agents/blob/main/examples/primitives/echo-agent.py) - [Sync TTS Transcription](https://github.com/livekit/agents/blob/main/examples/other/text-to-speech/sync_tts_transcription.py) ### Telephony - [Using Twilio Voice](https://docs.livekit.io/telephony/accepting-calls/inbound-twilio.md): How to use LiveKit SIP with TwiML and Twilio conferencing. - [IVR Agent](https://docs.livekit.io/reference/recipes/ivr-navigator.md): Build an AI agent that can call phone numbers and navigate IVR menus by listening and sending DTMF codes. - [Company Directory](https://docs.livekit.io/reference/recipes/company-directory.md): Build a phone assistant that can transfer calls to different departments using SIP REFER. - [Recording Consent](https://docs.livekit.io/reference/recipes/recording-consent.md): Build an AI agent that collects recording consent at the start of a call using the task pattern. - [Phone Caller](https://docs.livekit.io/reference/recipes/make_call.md): Script that makes outbound calls via LiveKit Telephony using the LiveKit API - [SIP Lifecycle](https://docs.livekit.io/reference/recipes/sip_lifecycle.md): Advanced SIP agent demonstrating complete call lifecycle management - [Answer Incoming Calls](https://docs.livekit.io/reference/recipes/answer_call.md): Basic agent for handling incoming phone calls with simple conversation - [Survey Caller](https://docs.livekit.io/reference/recipes/survey_caller.md): Automated survey calling agent with CSV data management and response recording - [Agent-assisted warm transfer](https://docs.livekit.io/telephony/features/transfers/warm.md): How to transfer a call from an AI agent to a human operator while providing a contextual summary. - [Call forwarding using SIP REFER](https://docs.livekit.io/telephony/features/transfers/cold.md): Transfer calls to another number or SIP endpoint using SIP REFER. - [Secure trunking for SIP calls](https://docs.livekit.io/telephony/features/secure-trunking.md): How to enable secure trunking for LiveKit SIP. - [Region pinning for SIP](https://docs.livekit.io/telephony/features/region-pinning.md): Learn how to isolate LiveKit telephony traffic to a specific region. - [Agents telephony integration](https://docs.livekit.io/agents/start/telephony.md) ### Audio - [Background audio](https://github.com/livekit/agents/blob/main/examples/voice_agents/background_audio.py) - [Background audio example in Node.js](https://github.com/livekit/agents-js/blob/main/examples/src/background_audio.ts) - [TTS Comparison](https://docs.livekit.io/reference/recipes/tts_comparison.md): Switches between different TTS providers using function tools. - [TTS Metrics](https://docs.livekit.io/reference/recipes/metrics_tts.md): Shows how to use the TTS metrics to log metrics to the console. - [Playing Audio](https://docs.livekit.io/reference/recipes/playing_audio.md): Shows how to play audio from a file in an agent. - [Sound Repeater](https://docs.livekit.io/reference/recipes/repeater.md): Shows how to create an agent that can repeat what the user says. - [Speedup Output Audio](https://github.com/livekit/agents/blob/main/examples/voice_agents/speedup_output_audio.py) ### Realtime Data - [LivePaint](https://github.com/livekit-examples/livepaint) ### Vision - [Gemini Vision Assistant](https://docs.livekit.io/reference/recipes/gemini_live_vision.md): Minimal Gemini Realtime model agent setup with live vision capabilities ### Robotics - [Raspberry Pi Transcriber](https://docs.livekit.io/reference/recipes/pi_zero_transcriber.md): Shows how to create a simple transcriber that uses the LiveKit SDK to transcribe audio from the microphone. - [Rover Teleop](https://github.com/livekit-examples/rover-teleop) ### Agent Workflows - [Medical Office Triage](https://github.com/livekit-examples/python-agents-examples/tree/main/complex-agents/medical_office_triage) - [Personal Shopper](https://github.com/livekit-examples/python-agents-examples/tree/main/complex-agents/personal_shopper) - [Restaurant Agent](https://github.com/livekit/agents/blob/main/examples/voice_agents/restaurant_agent.py) - [Drive-thru agent](https://github.com/livekit/agents/blob/main/examples/drive-thru) - [Front-desk agent](https://github.com/livekit/agents/blob/main/examples/frontdesk) ### Tool Use - [Moviefone](https://docs.livekit.io/reference/recipes/moviefone.md): Create a voice agent that helps users find movie showtimes across Canada. ### RAG - [LlamaIndex RAG](https://github.com/livekit/agents/tree/main/examples/voice_agents/llamaindex-rag) ### Metrics - [Realtime model metrics](https://docs.livekit.io/reference/recipes/metrics_realtime.md): Shows how to capture and summarize RealtimeModelMetrics for agents that use a realtime model. ### Virtual Avatars - [Tavus Avatar Agent](https://github.com/livekit-examples/python-agents-examples/tree/main/complex-agents/avatars/tavus) - [LemonSlice Avatar Agent](https://github.com/livekit-examples/python-agents-examples/tree/main/complex-agents/avatars/lemonslice) ### Virtual Reality - [VR Spatial Video](https://github.com/livekit-examples/spatial-video) ### LangChain - [LangChain LangGraph](https://github.com/livekit-examples/python-agents-examples/tree/main/docs/examples/langchain_langgraph) - [LangChain Agent](https://github.com/livekit-examples/python-agents-examples/tree/main/docs/examples/langchain_agent) - [LangChain Deep Agent](https://github.com/livekit-examples/python-agents-examples/tree/main/docs/examples/langchain_deepagent) --- This document was rendered at 2026-05-19T21:51:01.091Z. For the latest version of this document, see [https://docs.livekit.io/llms.txt](https://docs.livekit.io/llms.txt).