Livekit Server
A robust, feature-rich voice server for your 01
Overview
Livekit is a powerful, open-source WebRTC server and client SDK that enables real-time audio communication. It’s designed for applications that require robust, scalable real-time features.
Key Features
- Scalable architecture
- Extensive documentation and community support
- SDKs for various languages and platforms (web, mobile, desktop)
Getting Started
Prerequisites
Make sure you have navigated to the software
directory before proceeding.
Installing Livekit
Before setting up the environment, you need to install Livekit. Follow the instructions for your operating system:
-
macOS:
brew install livekit
-
Linux:
curl -sSL https://get.livekit.io | bash
Environment Setup
- Create a
.env
file in the/software
directory with the following content:
ELEVEN_API_KEY=your_eleven_labs_api_key
DEEPGRAM_API_KEY=your_deepgram_api_key
NGROK_AUTHTOKEN=your_ngrok_auth_token
ANTHROPIC_API_KEY=your_anthropic_api_key
Replace the placeholders with your actual API keys.
Eleven Labs
Get your Eleven Labs API key for text-to-speech
Deepgram
Obtain your Deepgram API key for speech recognition
Ngrok
Sign up for Ngrok and get your auth token
Starting the Server
To start the Livekit server, run the following command:
poetry run 01 --server livekit
To generate a QR code for scanning
poetry run 01 --server livekit --qr
To expose over the internet via ngrok
poetry run 01 --server livekit --expose
In order to use the mobile app over the web, use both flags
poetry run 01 --server livekit --qr --expose
Currently, our Livekit server only works with Deepgram and Eleven Labs. We are
working to introduce all-local functionality as soon as possible. By setting
your profile (see Configure Your Profile), you can
still change your LLM to be a local LLM, but the interpreter.tts
value will
be ignored for the Livekit server.
Livekit vs. Light Server
-
Livekit Server: Designed for devices with higher processing power, such as phones, web browsers, and more capable hardware. It offers a full range of features and robust performance.
-
Light Server: We have another lightweight server called the Light server, specifically designed for ESP32 devices. It’s optimized for low-power, constrained environments.
SDK Integration
Livekit provides SDKs for various programming languages and platforms, allowing you to easily integrate real-time communication features into your applications.
Available SDKs
- JavaScript/TypeScript
- React
- React Native
- iOS (Swift)
- Android (Kotlin)
- Flutter
- Unity
Explore Livekit SDKs
Find documentation and integration guides for all Livekit SDKs.