---
title: "Environment Variables"
description: "Configure 01OS"
---

## ALL_LOCAL

Default:`False`

If `False`, we'll use OpenAI's services else we use whisper.cpp and piper local models

## WHISPER_MODEL_NAME

Default: `ggml-tiny.en.bin`

## WHISPER_MODEL_URL

Default: `https://huggingface.co/ggerganov/whisper.cpp/resolve/main/`

## TEACH_MODE

Default: `False`

Teach mode is a mode that allows you to teach 01OS new things. Disclaimer: This is a Developer Preview. 

## OPENAI_API_KEY

Set your OpenAI API key

## PIPER_VOICE_URL

Default: `https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/lessac/medium/`

## PIPER_VOICE_NAME

Default: `en_US-lessac-medium.onnx`

For TTS, we use the `en_US-lessac-medium` voice model by default. Please change the voice URL and voice name if you wish to use another voice

## NGROK_AUTHTOKEN

Set to your [Ngrok auth token](https://dashboard.ngrok.com/get-started/your-authtoken)

## SERVER_URL

Default: `ws://0.0.0.0:8000/`

## SERVER_START

Default:`True`
This is where we'll serve the server

## CLIENT_START

Default: `True`
This is where the client expects the server to be.

## CLIENT_TYPE

Default: `auto`

Can explicitly set the client type (macos, rpi)

## CODE_RUNNER

Default: `server`
Control where various operations happen. Can be `client` or `server`.

## TTS_RUNNER

Default: `server`
If client, audio will be sent over websocket.

## STT_RUNNER

Default: `client`
If server, audio will be sent over websocket.

## SERVER_EXPOSE_PUBLICALLY

Default: `False`

Expose the server publically and display that URL.

## CAMERA_ENABLED

Default: `False`

## CAMERA_DEVICE_INDEX

Default: `0`

Camera device selection (Typically 0 for built-in, 1 for USB)

## CAMERA_WARMUP_SECONDS

Default: `0.4`

Camera warmup time is a workaround for some cameras that don't immediately return a properly exposed picture when they are first turned on

## LOG_LEVEL

Default: INFO

Can be `INFO` or `DEBUG`