LiveKit
docs.livekit.io
WebsitesLiveKit is a platform for building voice and realtime AI applications. LiveKit Cloud is the hosted commercial offering based on the open-source LiveKit project.
llms.txt
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 or self-host on your own infrastructure.
- LiveKit Agents framework: High-level tools for building AI agents in Python or Node.js, including a deployment environment for running agents on LiveKit Cloud, a hosted voice AI inference service, and an extensive plugin system for connecting to a wide range of AI providers.
- A global WebRTC-based realtime media server with realtime SDKs for- Web
- Swift
- Android
- Flutter
- React Native
- Unity
- Python
- Node.js
- Rust
- C++
- ESP32
- and more
- Integration services: Telephony for connecting to phone networks, Egress for recording and streaming, and Ingress for external media streams.
For greater detail, see Intro to LiveKit.
Introduction
Get Started
- Overview: The platform for voice, video, and physical AI agents.
- About LiveKit: An overview of the LiveKit ecosystem.
- Coding agent support: Turn your favorite coding agent into a LiveKit expert with access to docs, tools, and best practices.
- LiveKit 101 video course
- Community resources: Join an active community of LiveKit developers.
Understanding LiveKit
- Overview: An overview of the core concepts and fundamentals to get started with LiveKit.
- LiveKit CLI: Manage your LiveKit Cloud projects and agents from the terminal
- LiveKit Cloud: An end-to-end platform for building, deploying, and operating AI agent applications.
- Connecting to LiveKit: Learn how to connect to LiveKit using realtime SDKs.
Rooms, participants, & tracks
- Overview: Understand the core building blocks of LiveKit applications.
- Room management: Create, list, and delete Rooms from your backend server.
- Participant management: List, remove, and mute from your backend server.
- Track management: Understand tracks and track publications in LiveKit applications.
- Webhooks & events: Configure webhooks and handle events to monitor and respond to changes in rooms, participants, and tracks.
- Building AI agents: Build AI agents that interact with users through realtime media and data streams.
Reference
- Recipes
- Room service API: Use LiveKit's built-in API to manage rooms, participants, and tracks in your backend.
Build Agents
Get Started
- Introduction: Realtime framework for voice, video, and physical AI agents.
- Voice AI quickstart: Build and deploy a simple voice assistant in less than 10 minutes.
- Agent Builder: Prototype simple voice agents directly in your browser.
- Agent Console: Debug your agents in realtime in the browser.
- Agent Embed Widget: Embed a LiveKit Cloud agent on any website with a script tag.
- Prompting guide: How to write good instructions to guide your agent's behavior.
Multimodality
- Overview: Build agents that communicate through multiple channels for richer, more natural interactions.
Speech & audio
- Overview: Speech and audio capabilities for LiveKit agents.
- Audio customization: Cache TTS responses, customize pronunciation, and adjust speech volume.
- Background audio: Add ambient sounds, thinking sounds, and on-demand audio playback to your agent.
- Wakeword detection: Detect a spoken trigger phrase on the client to activate a voice AI agent hands-free.
- Text & transcriptions: Integrate realtime text features into your agent.
- Modality-aware instructions: Give your agent different system prompts for voice and text input.
Images & video
- Overview: Process images and video input, and send visual output with avatars and byte streams.
- Images: Add images to your agent's context, receive images from the frontend, and send images back to users.
- Video: Sample video frames, enable live video input, and add virtual avatars for video output.
Logic & Structure
- Overview: Learn how to structure agent logic with sessions, workflows, tasks, tools, and other components for building voice AI applications.
- Agent sessions: How to use AgentSession to orchestrate your voice AI app.
- Chat context: How to use ChatContext to manage conversation history in your agents.
- Tasks & task groups: Use tasks to build complex workflows for your voice AI agents.
- Workflows: How to model repeatable, accurate workflows through agents, handoffs, and tasks.
- Supervisor pattern: A central agent routes work to specialist tasks while staying in control of the session.
Tool definition & use
- Overview: Let your agents call external tools and more.
- Function tools: How to design and register custom tools for your agent.
- Toolsets: Group related tools and add or remove them as a unit.
- Async tools: Handle long-running tools so agents can keep talking.
- Model Context Protocol (MCP): Use MCP servers to expose tools to your agent.
- Forwarding to the frontend: Fulfill tool calls via RPC from the client.
- Tool loop design: Design tool loops that pick the right tool, return useful results, and stay fast under voice latency constraints.
- Pipeline nodes & hooks: Learn how to customize the behavior of your agent with nodes and hooks in the voice pipeline.
Turn detection & interruptions
- Overview: Guide to managing conversation turns in voice AI.
- Turn detector: Open-weights model for contextually-aware voice AI turn detection.
- Adaptive interruption handling: Distinguish between true interruptions and conversational backchanneling.
- Silero VAD plugin: High-performance voice activity detection for LiveKit Agents.
- Turn-taking tuning: Tune turn detection, endpointing, interruption, and preemptive generation for natural, low-latency conversations.
- Agents & handoffs: How to use agents and handoffs as part of a voice AI workflow.
- External data & RAG: Best practices for adding context and taking external actions.
- Fallback strategies: Configure fallback providers for STT, LLM, and TTS to handle model failures gracefully.
Testing & evaluation
- Overview: Write tests to control and evaluate agent behavior.
- Test framework: Set up tests, navigate results, write assertions, and test multi-turn conversations.
Prebuilt components
Prebuilt tasks
- Overview: Use prebuilt tasks to collect structured data or run workflows without implementing the logic yourself.
- GetNameTask: Collect and validate a user's name from noisy voice transcription or text input.
- GetEmailTask: Collect and validate an email address from the user with noisy voice transcription handling.
- GetAddressTask: Collect and validate a complete mailing address from the user with international format support.
- GetDOBTask: Collect and validate a date of birth from the user with spoken date handling.
- GetPhoneNumberTask: Collect and validate a phone number from the user with spoken digit handling.
- GetCreditCardTask: Collect and validate complete credit card information including card number, security code, and expiration date.
- GetDtmfTask: Collect keypad (DTMF) or spoken digits from callers for IVR and telephony flows.
- WarmTransferTask: Execute an agent-assisted warm transfer with SIP dialing, hold music, and context handoff.
Prebuilt tools
- Overview: Use prebuilt tools so your agent can perform common actions without implementing them yourself.
- EndCallTool: Provide your agent with a tool that gracefully ends the call and disconnects from the room.
- send_dtmf_events: Send DTMF tones to telephony providers for IVR navigation and phone systems.
Agent Server
- Overview: An overview of agent server components for LiveKit Agents.
- Startup modes: Guide to different agent server modes for development, production, and more.
- Server lifecycle: How agent servers register, receive requests, and manage jobs.
- Agent dispatch: Specifying how and when your agents are assigned to rooms.
- Job lifecycle: Learn more about the entrypoint function and how to end and clean up LiveKit sessions.
- Server options: Learn about the options available for creating an agent server.
Models
- Overview: Choose the right AI models for your voice agent.
- Pipeline types: Compare the voice pipeline types supported by LiveKit Agents and pick the right one for your agent.
- LiveKit Inference: Access the best AI models for voice agents, included in LiveKit Cloud.
LLM
- Overview: Conversational intelligence for your voice agents.
- DeepSeek: How to use DeepSeek models with LiveKit Agents.
- Gemini: How to use Google Gemini models with LiveKit Agents.
- Kimi: How to use Kimi models with LiveKit Agents.
- OpenAI: How to use OpenAI models with LiveKit Agents.
- Azure
- xAI: How to use xAI's Grok models with LiveKit Agents.
Additional models
- Anthropic: How to use the Anthropic Claude LLM plugin for LiveKit Agents.
- Amazon Bedrock: How to use the Amazon Bedrock LLM plugin for LiveKit Agents.
- Baseten: How to use the Baseten LLM plugin for LiveKit Agents.
- Cerebras: How to use the Cerebras inference with LiveKit Agents.
- Fireworks: How to use Fireworks AI with LiveKit Agents.
- Groq: How to use the Groq LLM plugin for LiveKit Agents.
- LangChain: How to use LangGraph workflows and LangChain agents with LiveKit.
- Letta: How to use a Letta agent for your LLM with LiveKit Agents.
- Mistral AI: How to integrate Mistral AI's La Plateforme inference service with LiveKit Agents.
- Ollama: How to run models locally using Ollama with LiveKit Agents.
- Azure OpenAI: How to use the Azure OpenAI LLM plugin for LiveKit Agents.
- OpenRouter: How to use OpenRouter with LiveKit Agents to access 500+ AI models.
- OVHCloud: How to use the OVHCloud LLM plugin for LiveKit Agents.
- Perplexity: How to use Perplexity LLM with LiveKit Agents.
- Sarvam: How to use the Sarvam LLM plugin for LiveKit Agents.
- Telnyx: How to use Telnyx inference with LiveKit Agents.
- Together AI: How to use Together AI Llama models with LiveKit Agents.
- OpenAI-compatible LLMs: Connect to any OpenAI-compatible LLM provider in your voice agents.
STT
- Overview: Models and plugins for realtime transcription in your voice agents.
- Speechmatics: How to use the Speechmatics STT plugin for LiveKit Agents.
- AssemblyAI: How to use AssemblyAI STT with LiveKit Agents.
- Cartesia: How to use Cartesia STT with LiveKit Agents.
- Deepgram: How to use Deepgram STT with LiveKit Agents.
- ElevenLabs: How to use ElevenLabs STT with LiveKit Agents.
- xAI: How to use xAI STT with LiveKit Agents.
Additional models
- Amazon Transcribe: How to use the Amazon Transcribe STT plugin for LiveKit Agents.
- Azure AI Speech: How to use the Azure Speech STT plugin for LiveKit Agents.
- Azure OpenAI: How to use the Azure OpenAI STT plugin for LiveKit Agents.
- Baseten: How to use the Baseten STT plugin for LiveKit Agents.
- Clova: How to use the Clova STT plugin for LiveKit Agents.
- fal: How to use the fal STT plugin for LiveKit Agents.
- Gladia: How to use the Gladia STT plugin for LiveKit Agents.
- Google Cloud: How to use the Google Cloud STT plugin for LiveKit Agents.
- Gradium: How to use the Gradium STT plugin for LiveKit Agents.
- Groq: How to use the Groq STT plugin for LiveKit Agents.
- Inworld: How to use the Inworld STT plugin for LiveKit Agents.
- Mistral AI: How to use the Mistral STT plugin for LiveKit Agents.
- Nvidia: How to use the NVIDIA Riva STT plugin for LiveKit Agents.
- OpenAI: How to use the OpenAI STT plugin for LiveKit Agents.
- OVHCloud: How to use the OVHCloud STT plugin for LiveKit Agents.
- Sarvam: How to use the Sarvam STT plugin for LiveKit Agents.
- Simplismart: How to use the Simplismart STT plugin for LiveKit Agents.
- SLNG: How to use the SLNG STT plugin for LiveKit Agents.
- Smallest AI: How to use the Smallest AI Pulse STT plugin for LiveKit Agents.
- Soniox: How to use the Soniox STT plugin for LiveKit Agents.
- Spitch: How to use the Spitch STT plugin for LiveKit Agents.
TTS
- Overview: Voices and plugins to add realtime speech to your voice agents.
- Cartesia: How to use Cartesia TTS with LiveKit Agents.
- Deepgram: How to use Deepgram TTS with LiveKit Agents.
- ElevenLabs: How to use ElevenLabs TTS with LiveKit Agents.
- Inworld: How to use Inworld TTS with LiveKit Agents.
- Rime: How to use Rime TTS with LiveKit Agents.
- xAI: How to use xAI TTS with LiveKit Agents.
Additional models
- AsyncAI: How to use the AsyncAI TTS plugin for LiveKit Agents.
- Amazon Polly: How to use the Amazon Polly TTS plugin for LiveKit Agents.
- Azure AI Speech: How to use the Azure Speech TTS plugin for LiveKit Agents.
- Azure OpenAI: How to use the Azure OpenAI TTS plugin for LiveKit Agents.
- Baseten: How to use the Baseten TTS plugin for LiveKit Agents.
- Camb.ai: How to use the Camb.ai TTS plugin for LiveKit Agents.
- Gemini: How to use the Gemini TTS plugin for LiveKit Agents.
- Google Cloud: How to use the Google Cloud TTS plugin for LiveKit Agents.
- Gradium: How to use the Gradium TTS plugin for LiveKit Agents.
- Groq: How to use the Groq TTS plugin for LiveKit Agents.
- Hume: How to use the Hume TTS plugin for LiveKit Agents.
- LMNT: How to use the LMNT TTS plugin for LiveKit Agents.
- MiniMax: How to use the MiniMax TTS plugin for LiveKit Agents.
- Mistral AI: How to use the Mistral TTS plugin for LiveKit Agents.
- Murf AI: How to use the Murf AI TTS plugin for LiveKit Agents.
- Neuphonic: How to use the Neuphonic TTS plugin for LiveKit Agents.
- Nvidia: How to use the NVIDIA Riva TTS plugin for LiveKit Agents.
- OpenAI: How to use the OpenAI TTS plugin for LiveKit Agents.
- Resemble AI: How to use the Resemble AI TTS plugin for LiveKit Agents.
- Sarvam: How to use the Sarvam TTS plugin for LiveKit Agents.
- Simplismart: How to use the Simplismart TTS plugin for LiveKit Agents.
- SLNG: How to use the SLNG TTS plugin for LiveKit Agents.
- Smallest AI: How to use the Smallest AI Waves TTS plugin for LiveKit Agents.
- Soniox: How to use the Soniox TTS plugin for LiveKit Agents.
- Speechify: How to use the Speechify TTS plugin for LiveKit Agents.
- Speechmatics: How to use the Speechmatics TTS plugin for LiveKit Agents.
- Spitch: How to use the Spitch TTS plugin for LiveKit Agents.
- Custom voices: Create voice clones from audio samples and use them with supported TTS providers in LiveKit Inference.
Realtime
- Overview: Guides for adding realtime model integrations to your agents.
- Gemini Live API: How to use the Gemini Live API with LiveKit Agents.
- Amazon Nova Sonic: How to use the Amazon Nova Sonic model with LiveKit Agents.
- OpenAI Realtime API: How to use the OpenAI Realtime API with LiveKit Agents.
- Azure OpenAI Realtime API: How to use the Azure OpenAI Realtime API with LiveKit Agents.
- NVIDIA PersonaPlex: How to use the NVIDIA PersonaPlex realtime model with LiveKit Agents.
- Phonic Speech-to-speech: How to use the Phonic Realtime model with LiveKit Agents.
- Ultravox Realtime: How to use the Ultravox Realtime model with LiveKit Agents.
- xAI Grok Voice Agent API: How to use xAI's Grok Voice Agent API with LiveKit Agents.
Virtual avatar
- Overview: Guides for adding virtual avatars to your agents.
- Anam: How to use the Anam virtual avatar plugin for LiveKit Agents.
- Avatario: How to use the Avatario virtual avatar plugin for LiveKit Agents.
- AvatarTalk: How to use the AvatarTalk virtual avatar plugin for LiveKit Agents.
- Beyond Presence: How to use the Beyond Presence virtual avatar plugin for LiveKit Agents.
- bitHuman: How to use the bitHuman virtual avatar plugin for LiveKit Agents.
- D-ID: How to use the D-ID virtual avatar plugin for LiveKit Agents.
- Hedra: How to use the Hedra virtual avatar plugin for LiveKit Agents.
- Keyframe: How to use the Keyframe virtual avatar plugin for LiveKit Agents.
- LemonSlice: How to use the LemonSlice virtual avatar plugin for LiveKit Agents.
- LiveAvatar: How to use the LiveAvatar virtual avatar plugin for LiveKit Agents.
- Runway: How to use the Runway virtual avatar plugin for LiveKit Agents.
- Simli: How to use the Simli virtual avatar plugin for LiveKit Agents.
- Tavus: How to use the Tavus virtual avatar plugin for LiveKit Agents.
- TruGen: How to use the TruGen.AI realtime avatar plugin for LiveKit Agents.
Partner spotlight
OpenAI
- Overview: Build world-class realtime AI apps with OpenAI and LiveKit Agents.
- OpenAI LLM: How to use OpenAI models with LiveKit Agents.
- Realtime API: How to use the OpenAI Realtime API with LiveKit Agents.
- OpenAI TTS: How to use the OpenAI TTS plugin for LiveKit Agents.
- OpenAI STT: How to use the OpenAI STT plugin for LiveKit Agents.
- Overview: Build world-class realtime AI apps with Google AI and LiveKit Agents.
- Gemini LLM: How to use Google Gemini models with LiveKit Agents.
- Gemini Live API: How to use the Gemini Live API with LiveKit Agents.
- Gemini TTS: How to use the Gemini TTS plugin for LiveKit Agents.
- Google Cloud TTS: How to use the Google Cloud TTS plugin for LiveKit Agents.
- Google Cloud STT: How to use the Google Cloud STT plugin for LiveKit Agents.
Azure
- Overview: An overview of the Azure AI integrations with LiveKit Agents.
- Azure AI Speech TTS: How to use the Azure Speech TTS plugin for LiveKit Agents.
- Azure AI Speech STT: How to use the Azure Speech STT plugin for LiveKit Agents.
- Azure OpenAI Realtime API: How to use the Azure OpenAI Realtime API with LiveKit Agents.
- Azure OpenAI LLM: How to use the Azure OpenAI LLM plugin for LiveKit Agents.
- Azure OpenAI TTS: How to use the Azure OpenAI TTS plugin for LiveKit Agents.
- Azure OpenAI STT: How to use the Azure OpenAI STT plugin for LiveKit Agents.
AWS
- Overview: An overview of the AWS AI integrations with LiveKit Agents.
- Amazon Bedrock LLM: How to use the Amazon Bedrock LLM plugin for LiveKit Agents.
- Amazon Polly TTS: How to use the Amazon Polly TTS plugin for LiveKit Agents.
- Amazon Transcribe STT: How to use the Amazon Transcribe STT plugin for LiveKit Agents.
- Amazon Nova Sonic: How to use the Amazon Nova Sonic model with LiveKit Agents.
xAI
- Overview: Build world-class realtime AI apps with Grok API and LiveKit Agents.
- Grok Voice Agent API: How to use xAI's Grok Voice Agent API with LiveKit Agents.
- xAI LLM: How to use xAI's Grok models with LiveKit Agents.
- xAI TTS: How to use xAI TTS with LiveKit Agents.
- xAI STT: How to use xAI STT with LiveKit Agents.
Groq
- Overview: Ship lightning-fast voice AI with Groq and LiveKit Agents.
- Groq LLM: How to use the Groq LLM plugin for LiveKit Agents.
- Groq TTS: How to use the Groq TTS plugin for LiveKit Agents.
- Groq STT: How to use the Groq STT plugin for LiveKit Agents.
- Cerebras: Build voice AI on the world's fastest inference.
Reference
- Agents framework
- Turn handling options: Reference documentation for turn handling options in LiveKit Agents.
- Events and error handling: Guides and reference for events and error handling in LiveKit Agents.
- Agent dispatch service API: Use LiveKit's AgentDispatchService API to explicitly dispatch agents to rooms from your backend.
- LiveKit CLI: Install the LiveKit CLI, set up a project, and create apps from templates.
- Inference LLM parameters: Full reference for model parameters supported by LiveKit Inference LLMs.
Agent Frontends
Get Started
- Introduction: Build a custom web or mobile frontend for your LiveKit Agent.
- React voice agent quickstart: Build a voice AI frontend with React in less than 10 minutes.
Starter apps
- Overview: Open-source starter apps to get up and running quickly on your preferred platform.
- React: A full-featured React voice agent starter app built with Next.js and Agents UI.
- SwiftUI: A native iOS and macOS voice agent starter app built with SwiftUI.
- Android: A native Android voice agent starter app built with Jetpack Compose.
- Flutter: A cross-platform voice agent starter app built with Flutter.
- React Native: A cross-platform mobile voice agent starter app built with React Native.
- Web embed: An embeddable voice agent widget for any website.
Building Frontends
- Overview: Detailed guides to building great frontends for voice and video AI.
- Session management: Use Session APIs to manage room connections and agent lifecycle in your frontend.
Authentication
- Overview: How to manage and use tokens to authenticate your frontend app
- Token server: Get started quickly with LiveKit Cloud's token server.
- Token endpoints: Implement a LiveKit standardized token endpoint.
- Custom token generation: Use a pre-existing token generation mechanism with LiveKit SDKs.
- Agent state: Track and respond to agent state changes in your frontend.
- Realtime media and data: Work with audio, video, text streams, and data in your agent frontend.
- Virtual avatars: Give your agent a visual presence with a virtual avatar.
Agents UI Components
- Overview: Polished Shadcn components for rapid development of voice agent frontends.
- Media controls: Components for controlling microphone, camera, session actions, and other media in agent frontends.
Audio visualizers
- Prebuilt: Components for visualizing agent and user audio in your frontend.
- Custom: Build shader-based visualizers that react to voice and agent state in realtime.
- Chat components: Components for displaying transcriptions and chat messages in agent frontends.
Reference
- LiveKit SDKs
- UI Component SDKs
- Server APIs
- Tokens & grants: Reference documentation for access tokens, grants, and permissions.
Telephony
Get Started
- Introduction: LiveKit's telephony services enable seamless integration between traditional phone networks and LiveKit's realtime platform.
- Phone numbers: How to purchase and configure phone numbers directly through LiveKit.
- SIP trunk setup: Guide to integrating SIP trunks with LiveKit telephony.
Provider-specific quickstarts
- Overview
- Twilio: Step-by-step instructions for creating inbound and outbound SIP trunks using Twilio.
- Telnyx: Step-by-step instructions for creating inbound and outbound SIP trunks using Telnyx.
- Plivo: Step-by-step instructions for creating inbound and outbound SIP trunks using Plivo.
- Wavix: Step-by-step instructions for configuring inbound and outbound calls using Wavix and LiveKit.
- Sinch: Step-by-step instructions for creating inbound and outbound SIP trunks using Sinch Elastic SIP Trunking.
Connectors
- Overview: Connect LiveKit to external voice communication platforms.
- WhatsApp: Connect LiveKit to a WhatsApp Business phone number for voice calls.
- Twilio: Connect LiveKit to Twilio phone calls using WebSocket connections.
Features
- Overview: An overview of telephony features for LiveKit.
- DTMF: Sending and receiving DTMF tones.
- Answering machine detection: Classify whether a real person, voicemail, or IVR system answered an outbound call.
- Region pinning: Learn how to isolate LiveKit telephony traffic to a specific region.
Transfers
- Overview: An overview of call transfer features for LiveKit telephony.
- Call forwarding: Transfer calls to another number or SIP endpoint using SIP REFER.
- Agent-assisted transfer: How to transfer a call from an AI agent to a human operator while providing a contextual summary.
- HD voice: LiveKit SIP supports high fidelity calls by enabling HD voice.
- Secure trunking: How to enable secure trunking for LiveKit SIP.
Accepting calls
- Overview: An overview of accepting inbound calls with LiveKit telephony.
- Workflow & setup: Workflow and setup guide for accepting inbound calls.
- Inbound trunk: How to create and configure an inbound trunk to accept incoming calls using a SIP provider.
- Dispatch rule: How to create and configure a dispatch rule.
- Twilio Voice integration: How to use LiveKit SIP with TwiML and Twilio conferencing.
Making calls
- Overview: An overview of making outbound calls with LiveKit telephony.
- Workflow & setup: Workflow and setup for making outbound calls.
- Outbound trunk: How to create and configure an outbound trunk to make outgoing calls.
- Outbound calls: Create a LiveKit SIP participant to make outbound calls.
Testing
- Testing your setup: Place a test call and inspect the resulting room, SIP participant, and logs.
Reference
- SIP primer: Learn how SIP calls flow in LiveKit to connect traditional telephony with realtime communications.
- SIP participant: Mapping a caller to a SIP participant.
- SIP handshake: Understanding the SIP handshake process.
- Codecs negotiation & support: Learn how audio codecs are negotiated during SIP calls and which codecs LiveKit supports.
- Phone Numbers API: Use LiveKit's Phone Number APIs to manage phone numbers for your telephony apps.
- SIP API: Use LiveKit's built-in SIP APIs to manage your SIP-based apps.
- Server APIs
- Connectors API: Use LiveKit's built-in Connector APIs to connect WhatsApp and Twilio to LiveKit rooms.
- Troubleshooting: Common issues and solutions for SIP.
WebRTC Transport
Get Started
- Introduction: Build realtime applications with LiveKit's WebRTC transport layer, SDKs, and media handling capabilities.
SDK platform quickstarts
- Overview
- React: Build a voice AI frontend with React in less than 10 minutes.
- Unity (WebGL): Get started with LiveKit and Unity (WebGL)
- Swift: Get started with LiveKit on iOS using SwiftUI
- Android (Compose): Get started with LiveKit and Android using Jetpack Compose
- Android: Get started with LiveKit and Android
- Flutter: Get started with LiveKit and Flutter
- React Native: Get started with LiveKit and React Native
- Expo: Get started with LiveKit and Expo on React Native
- C++: Get started with LiveKit using the C++ SDK.
Media
- Overview: An overview of realtime media components for LiveKit.
- Camera & microphone: Publish realtime audio and video from any device.
- Screen sharing: Publish your screen with LiveKit.
- Subscribing to tracks: Play and render realtime media tracks in your application.
- Processing raw tracks: How to read, process, and publish raw media tracks and files.
- Noise & echo cancellation: Achieve crystal-clear audio for video conferencing and voice AI.
- Codecs & more: Advanced audio and video topics.
Stream export & import
- Overview: An overview of stream export and import components for LiveKit.
Egress
- Overview: Use LiveKit's Egress service to record or livestream a room.
- RoomComposite & web egress: LiveKit web-based recorder gives you flexible compositing options.
- Participant & TrackComposite egress: Record participants individually with the egress API.
- Track egress: Track egress allows you to export a single track without transcoding.
- Auto egress: Automatically start recording with a room.
- Output & streaming options: Export content anywhere, in any format.
- Custom recording templates: Create your own recording layout to use with Room Composite Egress.
Ingress
- Overview: Use LiveKit's Ingress service to bring live streams from non-WebRTC sources into LiveKit rooms.
- Encoder configuration: How to configure streaming software to work with LiveKit Ingress.
- Transcoding configuration: Configure video and audio encoding settings for LiveKit Ingress, including presets and custom encoding options.
Data
- Overview: An overview of realtime text and data features for LiveKit.
- Sending text: Use text streams to send any amount of text between participants.
- Sending files & bytes: Use byte streams to send files, images, or any other kind of data between participants.
- Remote method calls: Use remote procedure calls (RPCs) to execute custom methods on other participants in the room and await a response.
- Data tracks: Use data tracks to send low-latency, high-bandwidth data between participants.
- Data packets: Low-level API for high frequency or advanced use cases.
State synchronization
- Overview: An overview of state synchronization components for LiveKit.
- Participant attributes: A key-value store for per-participant state.
- Room metadata: Share application-specific state with all participants.
Encryption
- Overview: Secure your realtime media and data with end-to-end encryption.
- Get started: Learn how to implement end-to-end encryption in your LiveKit applications.
- E2EE with agents: Enable end-to-end encryption for LiveKit Agents.
Self-hosting
- Overview: An overview of self-hosting options for LiveKit servers.
- Running locally: This will get a LiveKit instance up and running, ready to receive audio and video streams from participants.
- Deployment: 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: This guide helps you to set up a production-ready LiveKit server on a cloud virtual machine.
- Kubernetes: Deploy LiveKit to Kubernetes.
- Distributed multi-region: 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: Reference for ports and suggested firewall rules for LiveKit.
- Benchmarks: Guide to load-testing and benchmarking your LiveKit installation.
- Egress: The Egress service uses Redis messaging queues to load balance and communicate with your LiveKit server.
- Ingress: The Ingress service uses Redis messaging queues to communicate with your LiveKit server.
- SIP server: Setting up and configuring a self-hosted SIP server for LiveKit telephony apps.
Reference
- LiveKit SDKs
- Egress API: Use LiveKit's egress service to record or livestream a Room.
- Ingress API: Use LiveKit's ingress service to import live streams from non-WebRTC sources into LiveKit rooms.
- Server APIs
Manage & Deploy
Get Started
- Introduction: Deploy, manage, and monitor your LiveKit applications with a comprehensive suite of tools and flexible hosting options.
Agent deployment
- Overview: Overview of deploying agents, including deployment management, secrets, builds, logs, and monitoring.
- Quickstart: Quickstart guide for deploying your first agent to LiveKit Cloud.
- Deployment management: Configure, deploy, and manage your agent deployments using the LiveKit CLI.
- Secrets management: Manage secrets for your LiveKit Cloud agent deployments.
- Logs: Monitor and debug your deployed agents with comprehensive logging.
- Log drains: 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: Guide to the LiveKit Cloud build process, plus Dockerfile templates and resources.
- Self-hosted deployments: Guide to running LiveKit agents on your own infrastructure.
Agent Observability
- Overview: An overview of observability features for LiveKit Agents.
- Insights in LiveKit Cloud: View audio recordings, transcripts, traces, and logs in LiveKit Cloud.
- Data hooks: Collect session recordings, transcripts, metrics, and other data within the LiveKit Agents SDK.
Administration
- Overview: Manage your project regions, firewalls, and quotas.
Regions
- Overview: Configure and manage regional deployments or restrictions.
- Region pinning: Learn how to isolate LiveKit traffic to a specific region.
- Agent deployment: Configure and manage agent deployments across multiple regions.
- Sandbox: Rapidly prototype your apps and share them with others, cutting out the boilerplate.
- Configuring firewalls: Learn how to configure firewalls for LiveKit Cloud.
- Quotas & limits: Per-project quotas and metered resources for LiveKit Cloud plans.
- Billing: Guide to LiveKit Cloud invoices and billing cycles.
- Analytics API: Get information about your LiveKit Cloud sessions and participants
Reference
- LiveKit CLI: Install the LiveKit CLI, set up a project, and create apps from templates.
- Server APIs
- Events and error handling: Guides and reference for events and error handling in LiveKit Agents.
- LiveKit SFU: LiveKit is an opinionated, horizontally-scaling WebRTC Selective Forwarding Unit.
Reference
Get Started
- Overview: All reference documentation in the LiveKit ecosystem with links to complete docs, package registries, and source code.
- Recipes
Developer tools
LiveKit CLI
- Overview: Install the LiveKit CLI, set up a project, and create apps from templates.
- Project commands: Add, list, and manage projects in the LiveKit CLI.
- Agent commands: Reference for the LiveKit Cloud agent commands in the LiveKit CLI.
- Docs search: Search and browse LiveKit documentation from the terminal with the lk docs command.
- Docs MCP server: MCP server reference for integrating LiveKit documentation into coding agents and IDE assistants.
Agents framework
- Python
- Node.js
- Turn handling options: Reference documentation for turn handling options in LiveKit Agents.
- Events and error handling: Guides and reference for events and error handling in LiveKit Agents.
- Agent dispatch service API: Use LiveKit's AgentDispatchService API to explicitly dispatch agents to rooms from your backend.
- Inference LLM parameters: Full reference for model parameters supported by LiveKit Inference LLMs.
LiveKit SDKs
UI Components
- Agents UI (Shadcn): Agents UI is the fastest way to build multi-modal, agentic experiences on top of LiveKit's platform primitives.
- React
- SwiftUI
- Android: LiveKit Android Components are the easiest way to build realtime audio/video apps with Jetpack Compose on Android.
- Flutter
Server APIs
Internals
- LiveKit SFU: LiveKit is an opinionated, horizontally-scaling WebRTC Selective Forwarding Unit.
- Signaling Protocol: 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: Learn how SIP calls flow in LiveKit to connect traditional telephony with realtime communications.
- SIP participant: Mapping a caller to a SIP participant.
- SIP handshake: Understanding the SIP handshake process.
- Codecs negotiation & support: Learn how audio codecs are negotiated during SIP calls and which codecs LiveKit supports.
- SIP API: Use LiveKit's built-in SIP APIs to manage your SIP-based apps.
- Phone Numbers API: Use LiveKit's Phone Number APIs to manage phone numbers for your telephony apps.
- Troubleshooting: Common issues and solutions for SIP.
Migration Guides
Agents v0.x to v1 migration
- Node.js: Migrate your Node.js agents from version 0.x to 1.0.
- Python: Migrate your Python-based agents from version v0.x to 1.0.
- SDK v1 to v2 migration: Overview of how to migrate your applications from LiveKit SDK v1.x to v2
Other
- Room service API: Use LiveKit's built-in API to manage rooms, participants, and tracks in your backend.
Egress
- Egress API: Use LiveKit's egress service to record or livestream a Room.
- Egress examples: Usage examples for Egress APIs to record or livestream a room or individual tracks.
Ingress
- Ingress API: Use LiveKit's ingress service to import live streams from non-WebRTC sources into LiveKit rooms.
React Components
Getting started
- Installation: Learn how to install and set up the @livekit/components-react package for React.
- Best practices: Recommendations for creating apps using LiveKit React components.
Concepts
- Building blocks: A short tour through everything you need to build your next LiveKit app.
- LiveKitRoom component
- Contexts: Learn how contexts in LiveKit components provide easy access to the parent state for nested components.
- Loop components
- Custom components
- Style components
- Rendering video tracks
- Rendering audio tracks: Different ways to render audio with React Components
Hooks
- useAgent
- useAudioPlayback
- useAudioWaveform
- useChat
- useChatToggle
- useClearPinButton
- useConnectionQualityIndicator
- useConnectionState
- useCreateLayoutContext
- useDataChannel
- useDisconnectButton
- useEnsureCreateLayoutContext
- useEnsureLayoutContext
- useEnsureParticipant
- useEnsureRoom
- useEnsureSession
- useEnsureTrackRef
- useEvents
- useFacingMode
- useFocusToggle
- useGridLayout
- useIsEncrypted
- useIsMuted
- useIsRecording
- useIsSpeaking
- useKrispNoiseFilter
- useLayoutContext
- useLiveKitRoom
- useLocalParticipant
- useLocalParticipantPermissions
- useMaybeLayoutContext
- useMaybeParticipantContext
- useMaybeRoomContext
- useMaybeSessionContext
- useMaybeTrackRefContext
- useMediaDevices
- useMediaDeviceSelect
- useMultibandTrackVolume
- usePagination
- useParticipantAttribute
- useParticipantAttributes
- useParticipantContext
- useParticipantInfo
- useParticipantPermissions
- useParticipants
- useParticipantTile
- useParticipantTracks
- usePersistentUserChoices
- usePinnedTracks
- usePreviewDevice
- usePreviewTracks
- useRemoteParticipant
- useRemoteParticipants
- useRoomContext
- useRoomInfo
- useRpc
- useSequentialRoomConnectDisconnect
- useSession
- useSessionContext
- useSessionMessages
- useSortedParticipants
- useSpeakingParticipants
- useStartAudio
- useStartVideo
- useSwipe
- useTextStream
- useToken
- useTrackByName
- useTrackMutedIndicator
- useTrackRefContext
- useTracks
- useTrackToggle
- useTrackTranscription
- useTrackVolume
- useTranscriptions
- useVisualStableUpdate
- useVoiceAssistant
Components
- AudioConference
- AudioTrack
- AudioVisualizer
- BarVisualizer
- CarouselLayout
- Chat
- ChatEntry
- ChatToggle
- ClearPinButton
- ConnectionQualityIndicator
- ConnectionState
- ConnectionStateToast
- ControlBar
- DisconnectButton
- FocusLayout
- FocusLayoutContainer
- FocusToggle
- GridLayout
- LayoutContext
- LayoutContextProvider
- LiveKitRoom
- MediaDeviceMenu
- MediaDeviceSelect
- ParticipantAudioTile
- ParticipantContext
- ParticipantContextIfNeeded
- ParticipantLoop
- ParticipantName
- ParticipantTile
- PreJoin
- RoomAudioRenderer
- RoomContext
- RoomName
- SessionProvider
- StartAudio
- StartMediaButton
- Toast
- TrackLoop
- TrackMutedIndicator
- TrackRefContext
- TrackToggle
- VideoConference
- VideoTrack
- VoiceAssistantControlBar
Agents UI Components
Framework
- Overview: Agents UI is the fastest way to build multi-modal, agentic experiences on top of LiveKit's platform primitives.
Blocks
- AgentSessionView - 01: A complete realtime agent session view with transcript, audio visualizer, and media controls.
Components
Media controls
- AgentControlBar: A control bar for managing media tracks (microphone, camera, screen share), opening the chat input, and disconnecting the agent session.
- AgentTrackControl: A UI control for managing media tracks (microphone, camera, screen share).
- AgentTrackToggle: A UI toggle for capturing a client's media input (microphone, camera, screen share).
Audio visualizers
- AgentAudioVisualizerBar: An audio visualization of linear bouncing bars.
- AgentAudioVisualizerGrid: An audio visualization of a grid of particles.
- AgentAudioVisualizerRadial: An audio visualization of a radial bouncing bar.
- AgentAudioVisualizerWave: A shader based audio visualization of a sine wave.
- AgentAudioVisualizerAura: A shader based audio visualization of a pulsing energy field.
Session management
- AgentSessionProvider: A context provider for the LiveKit agent session.
- AgentDisconnectButton: A button for disconnecting the agent session.
- StartAudioButton: A button for starting the agent session's audio track when the browser blocks audio playback.
Chat components
- AgentChatIndicator: An animated chat indicator for asynchronous states.
- AgentChatTranscript: A chat transcript for displaying conversational history.
Miscellaneous
- NextJS API Token Route: A NextJS API route to generate a LiveKit session token while keeping your API keys private.
- ReactShaderToy: Easily render ShaderToy based shaders.
Android Components
Getting started
- Installation: LiveKit Android Components are the easiest way to build realtime audio/video apps with Jetpack Compose on Android.
- API Reference
- Samples
Concepts
- Building Blocks: A short tour through everything you need to build your next LiveKit app.
- Rendering a single Track
- RoomScope
- Scopes: Learn how scopes in LiveKit components provide easy access to the parent state for nested composables.
Recipes
Quickstart
- Voice AI quickstart: Build and deploy a simple voice assistant in less than 10 minutes.
- SwiftUI Voice Agent
- Next.js Voice Agent
- Flutter Voice Agent
- React Native Voice Agent
- Android Voice Agent
- Web Embed Voice Agent
- Python Voice Agent
- Warm Transfer
- Node.js Voice Agent
Advanced LLM
- Context Variables: Shows how to give an agent context about the user using simple variables.
- Interrupt User: Shows how to interrupt the user if they've spoken too much.
- Long running tools
- LLM Content Filter: Content filter using a separate LLM for real-time moderation decisions
- Simple Content Filter: Basic keyword-based content filter with inline replacement
- LLM Output Replacement: Remove chain-of-thought reasoning blocks from a streaming LLM response before they reach TTS.
- LLM Metrics: Shows how to use the LLM metrics to log metrics to the console for all of the different LLM models.
- MCP Agent: Shows how to use a LiveKit Agent as an MCP client.
- Structured Output
- RPC + State Agent
Voice Processing
- Push-to-Talk Agent
- Uninterruptable Agent: Agent configured to complete responses without user interruptions
- Change Language: Shows how to use the ElevenLabs TTS model to change the language of the agent.
- Transcriber: Shows how to transcribe user speech to text without TTS or an LLM.
- Keyword Detection
- Pipeline Translator: Simple translation pipeline that converts English speech to French
- TTS Translator: Advanced translation system using Gladia STT with code switching and event handling
- STT Metrics: Shows how to use the STT metrics to log metrics to the console.
- VAD Metrics: Shows how to use the VAD metrics to log metrics to the console.
- Toggle Audio
- Echo Agent
- Sync TTS Transcription
Telephony
- Using Twilio Voice: How to use LiveKit SIP with TwiML and Twilio conferencing.
- IVR Agent: Build an AI agent that can call phone numbers and navigate IVR menus by listening and sending DTMF codes.
- Company Directory: Build a phone assistant that can transfer calls to different departments using SIP REFER.
- Recording Consent: Build an AI agent that collects recording consent at the start of a call using the task pattern.
- Phone Caller: Script that makes outbound calls via LiveKit Telephony using the LiveKit API
- SIP Lifecycle: Advanced SIP agent demonstrating complete call lifecycle management
- Answer Incoming Calls: Basic agent for handling incoming phone calls with simple conversation
- Survey Caller: Automated survey calling agent with CSV data management and response recording
- Agent-assisted warm transfer: How to transfer a call from an AI agent to a human operator while providing a contextual summary.
- Call forwarding using SIP REFER: Transfer calls to another number or SIP endpoint using SIP REFER.
- Secure trunking for SIP calls: How to enable secure trunking for LiveKit SIP.
- Region pinning for SIP: Learn how to isolate LiveKit telephony traffic to a specific region.
- Agents telephony integration
Audio
- Background audio
- Background audio example in Node.js
- TTS Comparison: Switches between different TTS providers using function tools.
- TTS Metrics: Shows how to use the TTS metrics to log metrics to the console.
- Playing Audio: Shows how to play audio from a file in an agent.
- Sound Repeater: Shows how to create an agent that can repeat what the user says.
- Speedup Output Audio
Realtime Data
Vision
- Gemini Vision Assistant: Minimal Gemini Realtime model agent setup with live vision capabilities
Robotics
- Raspberry Pi Transcriber: Shows how to create a simple transcriber that uses the LiveKit SDK to transcribe audio from the microphone.
- Rover Teleop
- Pan-Tilt Teleop
- C++ Examples
Agent Workflows
- Medical Office Triage
- Healthcare Agent
- Personal Shopper
- Restaurant Agent
- Drive-thru agent
- Front-desk agent
Tool Use
- Moviefone: Create a voice agent that helps users find movie showtimes across Canada.
RAG
Metrics
- Realtime model metrics: Shows how to capture and summarize RealtimeModelMetrics for agents that use a realtime model.
Virtual Avatars
Virtual Reality
LangChain
This document was rendered at 2026-06-07T09:00:27.779Z. For the latest version of this document, see https://docs.livekit.io/llms.txt.
Related
llmtxt.app – AI SEO & Search Engine Optimization Directory
/llms.txt
635 tokens
/llms-full.txt
2,429 tokens
Websites