> ## Documentation Index
> Fetch the complete documentation index at: https://01.openinterpreter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Livekit Server

> 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 theme={null}
  brew install livekit
  ```

* **Linux**:

  ```bash theme={null}
  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 theme={null}
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 theme={null}
poetry run 01 --server livekit
```

To generate a QR code for scanning

```bash theme={null}
poetry run 01 --server livekit --qr
```

To expose over the internet via ngrok

```bash theme={null}
poetry run 01 --server livekit --expose
```

In order to use the mobile app over the web, use both flags

```bash theme={null}
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>
