Skip to main content

Environment Variable Reference

Copy .env.example to .env at the repo root and fill in the values below.

For production, set these as system environment variables or via your deployment platform's secrets manager — not as a .env file.


Required​

VariableExampleDescription
STT_API_KEYdg-...Deepgram API key (STT)
TTS_API_KEYdg-...Deepgram API key (TTS — same key)
LLM_API_KEYsk-or-...OpenRouter API key

STT​

VariableDefaultDescription
STT_PROVIDERdeepgramSTT provider name

TTS​

VariableDefaultDescription
TTS_PROVIDERdeepgramTTS provider name
TTS_VOICEaura-2-thalia-enDeepgram voice ID

LLM​

VariableDefaultDescription
LLM_PROVIDERopenrouterLLM provider name
LLM_BASE_URLhttps://openrouter.ai/api/v1OpenAI-compatible base URL
LLM_MODELopenai/gpt-4o-miniModel slug

TURN / ICE​

VariableDefaultDescription
TURN_PROVIDERstaticcloudflare or static
TURN_KEY_ID—Cloudflare TURN key ID
TURN_API_TOKEN—Cloudflare TURN API token
TURN_TTL_SECONDS3600Credential TTL
TURN_SERVER—Static TURN URI e.g. turn:host:3478
TURN_USERNAME—Static TURN username
TURN_PASSWORD—Static TURN password

Server​

VariableDefaultDescription
HOST0.0.0.0Bind address
PORT8000Listen port

System Prompt​

VariableDefaultDescription
SYSTEM_PROMPT—Inline system prompt string
SYSTEM_PROMPT_FILE—Path to a .txt file containing the system prompt

When mode=flow, the YAML settings.base_system_prompt takes precedence over these variables.


Minimum Production Set​

STT_PROVIDER=deepgram
STT_API_KEY=dg-...
TTS_PROVIDER=deepgram
TTS_API_KEY=dg-...
TTS_VOICE=aura-2-thalia-en
LLM_PROVIDER=openrouter
LLM_API_KEY=sk-or-...
LLM_BASE_URL=https://openrouter.ai/api/v1
LLM_MODEL=openai/gpt-4o-mini
TURN_PROVIDER=cloudflare
TURN_KEY_ID=...
TURN_API_TOKEN=...
HOST=0.0.0.0
PORT=8000

Getting API Keys​