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_IDCloudflare TURN key ID
TURN_API_TOKENCloudflare TURN API token
TURN_TTL_SECONDS3600Credential TTL
TURN_SERVERStatic TURN URI e.g. turn:host:3478
TURN_USERNAMEStatic TURN username
TURN_PASSWORDStatic TURN password

Server

VariableDefaultDescription
HOST0.0.0.0Bind address
PORT8000Listen port

System Prompt

VariableDefaultDescription
SYSTEM_PROMPTInline system prompt string
SYSTEM_PROMPT_FILEPath 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