--- title: "Livekit Server" description: "A robust, feature-rich voice server for your 01" --- ## Overview [Livekit](https://livekit.io/) 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**: ```bash brew install livekit ``` - **Linux**: ```bash curl -sSL https://get.livekit.io | bash ``` - **Windows**: [View the Windows install instructions here.](/server/windows-livekit) ### Environment Setup 1. Create a `.env` file in the `/software` directory with the following content: ```env 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. Get your Eleven Labs API key for text-to-speech Obtain your Deepgram API key for speech recognition Sign up for Ngrok and get your auth token ### Starting the Server To start the Livekit server, run the following command: ```bash poetry run 01 --server livekit ``` To generate a QR code for scanning ```bash poetry run 01 --server livekit --qr ``` To expose over the internet via ngrok ```bash poetry run 01 --server livekit --expose ``` In order to use the mobile app over the web, use both flags ```bash 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](/software/configure)), 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 Find documentation and integration guides for all Livekit SDKs.