# 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/intro/basics/egress.md) for recording and streaming, and [Ingress](https://docs.livekit.io/intro/basics/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) - [About LiveKit](https://docs.livekit.io/intro/about.md): An overview of the LiveKit ecosystem. - [Docs MCP server](https://docs.livekit.io/intro/mcp-server.md): Turn your AI coding assistant into a LiveKit expert. - [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 - [Overview](https://docs.livekit.io/intro/basics/cli.md): Command-line tools for managing LiveKit Cloud projects, creating applications, and streamlining your development workflow. - [Setup](https://docs.livekit.io/intro/basics/cli/start.md): Install the LiveKit CLI and test your setup using an example frontend application. - [Project management](https://docs.livekit.io/intro/basics/cli/projects.md): Add, list, and manage projects in the LiveKit CLI. - [App templates](https://docs.livekit.io/intro/basics/cli/templates.md): Create and initialize an app from a convenient set of templates. - [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-quickstart.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. - [Agents playground](https://docs.livekit.io/agents/start/playground.md): A virtual workbench to test your multimodal AI agent. - [Prompting guide](https://docs.livekit.io/agents/start/prompting.md): How to write good instructions to guide your agent's behavior. - [Testing & evaluation](https://docs.livekit.io/agents/start/testing.md): Write tests to control and evaluate agent behavior. ### Multimodality - [Overview](https://docs.livekit.io/agents/multimodality.md): Build agents that communicate through multiple channels for richer, more natural interactions. - [Speech & audio](https://docs.livekit.io/agents/multimodality/audio.md): Speech and audio capabilities for LiveKit agents. - [Text & transcriptions](https://docs.livekit.io/agents/multimodality/text.md): Integrate realtime text features into your agent. - [Vision](https://docs.livekit.io/agents/multimodality/vision.md): Enhance your agent with visual understanding from images and live video. ### 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. - [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. - [Tool definition & use](https://docs.livekit.io/agents/logic/tools.md): Let your agents call external tools and more. - [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. - [Silero VAD plugin](https://docs.livekit.io/agents/logic/turns/vad.md): High-performance voice activity detection for LiveKit Agents. - [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. ### 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. - [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. - [OpenAI](https://docs.livekit.io/agents/models/llm/openai.md): How to use OpenAI 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. - [DeepSeek](https://docs.livekit.io/agents/models/llm/deepseek.md): How to use DeepSeek 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 with LiveKit Agents. - [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. - [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. - [xAI](https://docs.livekit.io/agents/models/llm/xai.md): How to use xAI's Grok models with LiveKit Agents. #### STT - [Overview](https://docs.livekit.io/agents/models/stt.md): Models and plugins for realtime transcription in your voice 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. ##### 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. - [Soniox](https://docs.livekit.io/agents/models/stt/soniox.md): How to use the Soniox STT plugin for LiveKit Agents. - [Speechmatics](https://docs.livekit.io/agents/models/stt/speechmatics.md): How to use the Speechmatics 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. ##### 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. - [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. - [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) - [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. - [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. - [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. - [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. - [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 OpenAI LLM](https://docs.livekit.io/agents/models/llm/openai.md): How to use OpenAI models 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. #### 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/) - [Events and error handling](https://docs.livekit.io/reference/other/events.md): Guides and reference for events and error handling in LiveKit Agents. - [Agent CLI reference](https://docs.livekit.io/reference/other/agent-cli.md): Reference for the LiveKit Cloud agent deployment commands in the LiveKit CLI. ## 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 - [Sandbox token server](https://docs.livekit.io/frontends/build/authentication/sandbox-token-server.md): Get started quickly with LiveKit Cloud's sandbox 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. - [Agents integration](https://docs.livekit.io/telephony/agents-integration.md): Enable your voice AI agent to make and receive phone calls. #### 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. ### 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. - [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 a 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. ### 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 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 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. ### 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. - [Log collection](https://docs.livekit.io/deploy/agents/logs.md): Monitor and debug your deployed agents with comprehensive logging. - [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 transcripts, traces, logs, and audio recordings 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 - [Agent CLI reference](https://docs.livekit.io/reference/other/agent-cli.md): Reference for the LiveKit Cloud agent deployment commands in the LiveKit CLI. - [Server APIs](https://docs.livekit.io/reference.md#server-apis) - [Events and error handling](https://docs.livekit.io/reference/other/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) ### Agents framework - [Python](https://docs.livekit.io/reference/python/livekit/agents.md) - [Node.js](https://docs.livekit.io/reference/agents-js.md) ### 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 - [v1 to v2 SDK 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 #### v0.x 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. ### Other - [Agent CLI reference](https://docs.livekit.io/reference/other/agent-cli.md): Reference for the LiveKit Cloud agent deployment commands in the LiveKit CLI. - [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. - [Events and error handling](https://docs.livekit.io/reference/other/events.md): Guides and reference for events and error handling in LiveKit Agents. ## Recipes - **[Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai-quickstart.md)**: Create a voice AI agent in less than 10 minutes. - **[SwiftUI Voice Agent](https://github.com/livekit-examples/agent-starter-swift)**: A native iOS, macOS, and visionOS voice AI assistant built in SwiftUI. - **[Next.js Voice Agent](https://github.com/livekit-examples/agent-starter-react)**: A web voice AI assistant built with React and Next.js. - **[Flutter Voice Agent](https://github.com/livekit-examples/agent-starter-flutter)**: A cross-platform voice AI assistant app built with Flutter. - **[React Native Voice Agent](https://github.com/livekit-examples/agent-starter-react-native)**: A native voice AI assistant app built with React Native and Expo. - **[Android Voice Agent](https://github.com/livekit-examples/agent-starter-android)**: A native Android voice AI assistant app built with Kotlin and Jetpack Compose. - **[Web Embed Voice Agent](https://github.com/livekit-examples/agent-starter-embed)**: A voice AI agent that can be embedded in any web page. - **[Medical Office Triage](https://github.com/livekit-examples/python-agents-examples/tree/main/complex-agents/medical_office_triage)**: Agent that triages patients based on symptoms and medical history. - **[Personal Shopper](https://github.com/livekit-examples/python-agents-examples/tree/main/complex-agents/personal_shopper)**: AI shopping assistant that helps find products based on user preferences. - **[Restaurant Agent](https://github.com/livekit/agents/blob/main/examples/voice_agents/restaurant_agent.py)**: A restaurant front-of-house agent that can take orders, add items to a shared cart, and checkout. - **[LivePaint](https://github.com/livekit-examples/livepaint)**: A realtime drawing game where players compete to complete a drawing prompt while being judged by a realtime AI agent. - **[Push-to-Talk Agent](https://github.com/livekit/agents/blob/main/examples/voice_agents/push_to_talk.py)**: A voice AI agent that uses push-to-talk for controlled multi-participant conversations, only enabling audio input when explicitly triggered. - **[Background audio](https://github.com/livekit/agents/blob/main/examples/voice_agents/background_audio.py)**: A voice AI agent with background audio for thinking states and ambiance. - **[Background audio example in Node.js](https://github.com/livekit/agents-js/blob/main/examples/src/background_audio.ts)**: A voice AI agent with background audio for ambiance. - **[Uninterruptable Agent](https://docs.livekit.io/recipes/uninterruptable.md)**: An agent that continues speaking without being interrupted. - **[Change Language](https://docs.livekit.io/recipes/changing_language.md)**: Agent that can switch between different languages during conversation. - **[TTS Comparison](https://docs.livekit.io/recipes/tts_comparison.md)**: Compare different text-to-speech providers side by side. - **[Transcriber](https://docs.livekit.io/recipes/transcriber.md)**: Real-time speech transcription with high accuracy. - **[Keyword Detection](https://github.com/livekit-examples/python-agents-examples/blob/main/docs/examples/keyword-detection/keyword_detection.py)**: Detect specific keywords in speech in real-time. - **[Using Twilio Voice](https://docs.livekit.io/telephony/accepting-calls/inbound-twilio.md)**: Use TwiML to accept incoming calls and bridge Twilio conferencing to LiveKit via SIP. - **[IVR Agent](https://docs.livekit.io/recipes/ivr-navigator.md)**: Build a voice agent that can call external voice lines and respond to IVR flows using DTMF tones. - **[Company Directory](https://docs.livekit.io/recipes/company-directory.md)**: Build a AI company directory agent. The agent can respond to DTMF tones and voice prompts, then redirect callers. - **[Recording Consent](https://docs.livekit.io/recipes/recording-consent.md)**: Collect recording consent at the start of a call using an AgentTask for compliance and quality assurance. - **[Phone Caller](https://docs.livekit.io/recipes/make_call.md)**: Agent that can make outbound phone calls and handle conversations. - **[SIP Lifecycle](https://docs.livekit.io/recipes/sip_lifecycle.md)**: Complete lifecycle management for SIP calls. - **[Answer Incoming Calls](https://docs.livekit.io/recipes/answer_call.md)**: Set up an agent to answer incoming SIP calls. - **[Survey Caller](https://docs.livekit.io/recipes/survey_caller.md)**: Automated survey calling system. - **[Chain-of-thought agent](https://docs.livekit.io/recipes/chain-of-thought.md)**: Build an agent for chain-of-thought reasoning using the `llm_node` to clean the text before TTS. - **[LlamaIndex RAG](https://github.com/livekit/agents/tree/main/examples/voice_agents/llamaindex-rag)**: A voice AI agent that uses LlamaIndex for RAG to answer questions from a knowledge base. - **[Moviefone](https://docs.livekit.io/recipes/moviefone.md)**: This agent uses function calling and the OpenAI API to search for movies and give you realtime information about showtimes. - **[Context Variables](https://docs.livekit.io/recipes/context_variables.md)**: Maintain conversation context across interactions. - **[Interrupt User](https://docs.livekit.io/recipes/interrupt_user.md)**: Example of how to implement user interruption in conversations. - **[Long running tools](https://github.com/livekit/agents/blob/main/examples/voice_agents/long_running_function.py)**: Interruptions during long-running tools. - **[LLM Content Filter](https://docs.livekit.io/recipes/llm_powered_content_filter.md)**: Implement content filtering in the `llm_node`. - **[Simple Content Filter](https://docs.livekit.io/recipes/simple_content_filter.md)**: Basic content filtering implementation. - **[Replacing LLM Output](https://docs.livekit.io/recipes/replacing_llm_output.md)**: Example of modifying LLM output before processing. - **[Gemini Vision Assistant](https://docs.livekit.io/recipes/gemini_live_vision.md)**: A voice AI agent with video input powered by Gemini Live. - **[Raspberry Pi Transcriber](https://docs.livekit.io/recipes/pi_zero_transcriber.md)**: Run transcription on Raspberry Pi hardware. - **[Pipeline Translator](https://docs.livekit.io/recipes/pipeline_translator.md)**: Implement translation in the processing pipeline. - **[TTS Translator](https://docs.livekit.io/recipes/tts_translator.md)**: Translation with text-to-speech capabilities. - **[LLM Metrics](https://docs.livekit.io/recipes/metrics_llm.md)**: Track and analyze LLM performance metrics. - **[STT Metrics](https://docs.livekit.io/recipes/metrics_stt.md)**: Track and analyze speech-to-text performance metrics. - **[TTS Metrics](https://docs.livekit.io/recipes/metrics_tts.md)**: Track and analyze text-to-speech performance metrics. - **[VAD Metrics](https://docs.livekit.io/recipes/metrics_vad.md)**: Track and analyze voice activity detection metrics. - **[Playing Audio](https://docs.livekit.io/recipes/playing_audio.md)**: Play audio files during agent interactions. - **[Sound Repeater](https://docs.livekit.io/recipes/repeater.md)**: Simple sound repeating demo for testing audio pipelines. - **[MCP Agent](https://docs.livekit.io/recipes/http_mcp_client.md)**: A voice AI agent with an integrated Model Context Protocol (MCP) client for the LiveKit API. - **[Speedup Output Audio](https://github.com/livekit/agents/blob/main/examples/voice_agents/speedup_output_audio.py)**: Speed up the audio output of an agent. - **[Structured Output](https://github.com/livekit/agents/blob/main/examples/voice_agents/structured_output.py)**: Handle structured output from the LLM by overriding the `llm_node` and `tts_node`. - **[RPC + State Agent](https://github.com/livekit-examples/python-agents-examples/tree/main/docs/examples/rpc_agent)**: Voice agent with a state database updated through tool calling and queryable from the frontend with RPC. - **[Tavus Avatar Agent](https://github.com/livekit-examples/python-agents-examples/tree/main/complex-agents/avatars/tavus)**: An educational AI agent that uses Tavus to create an interactive study partner. - **[Toggle Audio](https://github.com/livekit/agents/blob/main/examples/voice_agents/toggle_io.py)**: An example of dynamically toggling audio input and output. - **[Rover Teleop](https://github.com/livekit-examples/rover-teleop)**: Build a high performance robot tele-op system using LiveKit. - **[VR Spatial Video](https://github.com/livekit-examples/spatial-video)**: Stream spatial video from a stereoscopic camera to a Meta Quest using LiveKit. - **[Echo Agent](https://github.com/livekit/agents/blob/main/examples/primitives/echo-agent.py)**: Echo user audio back to them. - **[Sync TTS Transcription](https://github.com/livekit/agents/blob/main/examples/other/text-to-speech/sync_tts_transcription.py)**: Uses manual subscription, transcription forwarding, and manually publishes audio output. - **[Drive-thru agent](https://github.com/livekit/agents/blob/main/examples/drive-thru)**: A complex food ordering agent with tasks, tools, and a complete evaluation suite. - **[Front-desk agent](https://github.com/livekit/agents/blob/main/examples/frontdesk)**: A calendar booking agent with tasks, tools, and evaluations. - **[Python Voice Agent](https://github.com/livekit-examples/agent-starter-python)**: A complete sample project for a voice AI agent built with Python. - **[Warm Transfer](https://github.com/livekit/agents/tree/main/examples/warm-transfer)**: Transfer calls from an AI agent to a human operator with context. - **[Node.js Voice Agent](https://github.com/livekit-examples/agent-starter-node)**: A complete sample project for a voice AI agent built with Node.js. - **[Agent-assisted warm transfer](https://docs.livekit.io/telephony/features/transfers/warm.md)**: A comprehensive guide to transferring calls using an AI agent to provide context. - **[Call forwarding using SIP REFER](https://docs.livekit.io/telephony/features/transfers/cold.md)**: How to forward calls to another number or SIP endpoint with 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)**: Use region pinning to restrict calls to a specific region. - **[Agents telephony integration](https://docs.livekit.io/agents/start/telephony.md)**: Learn how to receive and make calls with a voice AI agent - **[LemonSlice Avatar Agent](https://github.com/livekit-examples/python-agents-examples/tree/main/complex-agents/avatars/lemonslice)**: An interactive AI agent that uses LemonSlice to practice salary negotiation. --- This document was rendered at 2026-03-08T17:00:09.123Z. For the latest version of this document, see [https://docs.livekit.io/llms.txt](https://docs.livekit.io/llms.txt).