You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
01/docs/server/livekit.mdx

131 lines
3.3 KiB

---
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.
<CardGroup cols={3}>
<Card title="Eleven Labs" icon="microphone" href="https://beta.elevenlabs.io">
Get your Eleven Labs API key for text-to-speech
</Card>
<Card
title="Deepgram"
icon="waveform-lines"
href="https://console.deepgram.com"
>
Obtain your Deepgram API key for speech recognition
</Card>
<Card title="Ngrok" icon="wifi" href="https://dashboard.ngrok.com">
Sign up for Ngrok and get your auth token
</Card>
</CardGroup>
### 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
```
<Note>
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.
</Note>
## 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
<Card
title="Explore Livekit SDKs"
icon="code"
href="https://docs.livekit.io/client-sdk-js/"
>
Find documentation and integration guides for all Livekit SDKs.
</Card>