Overview
LiveKit provides a comprehensive ecosystem of SDKs for building realtime applications, including realtime SDKs for building user-facing applications, and server-side SDKs for backend operations and media processing. The SDKs are designed to work together, and support multiple platforms and languages.
Realtime SDKs
Realtime SDKs let you build applications that connect to LiveKit rooms and participate in realtime communication. These SDKs handle WebRTC connections, media capture, and room management.
Web and mobile platforms
These are the primary client platforms used for building realtime applications. Each SDK is optimized for its target platform and provides native integration capabilities.
JavaScript SDK
JavaScript/TypeScript SDK for web browsers. Supports all major browsers and provides React hooks for easy integration.
iOS/macOS/visionOS
Native Swift SDK for Apple platforms including iOS, macOS, and visionOS. Optimized for Apple's ecosystem.
Android
Native Kotlin SDK for Android applications. Provides comprehensive media handling and room management.
Flutter
Cross-platform SDK for Flutter applications. Write once, run on iOS, Android, web, and desktop.
React Native
React Native SDK for building cross-platform mobile applications with JavaScript/TypeScript.
Unity
Unity SDK for game development and virtual reality applications. Supports both native and WebGL builds.
Additional client platforms
LiveKit also supports specialized platforms and use cases beyond the main web and mobile platforms:
- Rust SDK: For systems programming and embedded applications.
- Unity WebGL: For web-based Unity applications.
- ESP32: For IoT and embedded devices.
Server-side SDKs
Server-side SDKs provide backend integration capabilities, enabling you to create programmatic participants, manage rooms, and process media streams. They can also generate access tokens, call server APIs, and receive webhooks.
The Go SDK additionally offers client capabilities, allowing you to build automations that act like end users.
Core server SDKs
Node.js
JavaScript SDK for Node.js applications. Includes room management, participant control, and webhook handling.
Python
Python SDK for backend applications. Provides comprehensive media processing and room management capabilities.
Golang
Go SDK for high-performance server applications. Optimized for scalability and low latency. Includes client capabilities.
Ruby
Ruby SDK for Ruby on Rails and other Ruby applications. Full-featured server integration.
Java/Kotlin
Java and Kotlin SDK for JVM-based applications. Enterprise-ready with comprehensive features.
Rust
Rust SDK for systems programming and high-performance applications. Memory-safe and fast.
Community SDKs
- PHP: Community-maintained SDK for PHP applications.
- .NET: Community-maintained SDK for .NET applications.
UI Components
LiveKit provides pre-built UI components to accelerate development:
React Components
React components for video, audio, and chat interfaces. Drop-in components for rapid development.
Android Compose
Jetpack Compose components for Android applications. Modern UI components for Android development.
SwiftUI
SwiftUI components for iOS and macOS applications. Native UI components for Apple platforms.
Flutter
Flutter widgets for cross-platform applications. Reusable UI components for Flutter apps.
Agents Framework
LiveKit provides the Agents Framework for building AI agents and programmatic participants:
Agents docs
Learn how to build voice AI agents using the Agents Framework.
Voice AI quickstart
Voice AI agent quickstart guide. The fastest way to get an agent up and running.
Agents Framework
Python framework for building AI agents and programmatic participants. Production-ready with comprehensive AI integrations.
AgentsJS
JavaScript/TypeScript framework for building AI agents. Modern architecture with TypeScript support.
Telephony Integration
LiveKit's SIP integration enables your applications to connect with traditional phone systems and telephony infrastructure. Server-side SDKs include SIP capabilities for building telephony applications. To learn more, see SIP.
Key features across SDKs
LiveKit SDKs provide a consistent set of features across all platforms, ensuring that your applications work reliably regardless of the target platform. These core capabilities are designed to handle the complexities of realtime communication while providing a simple, unified API.
Realtime capabilities
Realtime SDKs focus on connecting users to LiveKit rooms and managing realtime communication. These capabilities enable applications to capture, transmit, and receive media streams with minimal latency.
- Media capture: Camera, microphone, and screen sharing.
- Room management: Join, leave, and manage room participants.
- Track handling: Subscribe to and publish audio and video tracks.
- Data channels: Realtime messaging between participants.
- Connection management: Automatic reconnection and quality adaptation.
Server-side capabilities
Server-side SDKs provide the infrastructure and control needed to manage LiveKit rooms and participants. These capabilities enable backend applications to orchestrate realtime sessions and process media streams.
- Room control: Create, manage, and monitor rooms.
- Participant management: Control participant permissions and behavior.
- Media processing: Subscribe to and process media streams.
- Webhook handling: Respond to room and participant events.
- Recording: Capture and store room sessions.
Cross-platform consistency
All SDKs provide consistent APIs and features across platforms:
- Unified room model: Same room concepts across all platforms.
- Consistent track handling: Standardized audio and video track management.
- Shared data APIs: Common data channel and messaging patterns.
- Quality adaptation: Automatic quality adjustment based on network conditions.
Getting started
To get started with LiveKit SDKs:
- Choose your platform: Select the appropriate client and server SDKs for your use case.
- Set up LiveKit: Deploy LiveKit server or use LiveKit Cloud.
- Build your app: Use the SDKs to create your realtime application.
- Add UI components: Integrate pre-built components for faster development.
- Deploy and scale: Use LiveKit's production-ready infrastructure.
To get started with LiveKit Agents, see the Voice AI quickstart.