DATABASE_URL="mysql://root:@127.0.0.1:3306/whatsapp_marketing"
PORT=3002
ANTHROPIC_API_KEY=
# Voice understanding (free): get a free key at https://aistudio.google.com/apikey
# Multiple keys (comma-separated) = multiple free daily quotas; brain rotates + fails over on 429
GEMINI_API_KEY=AIzaSyAUkzbS9blc7yoQt-BBMws8C7L8dvN5HAk,AIzaSyAacxCcVMD_tUMRLGvCOHiE6rhxW6rXMWY
GEMINI_MODEL=gemini-2.5-flash-lite
# Optional paid STT alternatives
GROQ_API_KEY=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
GROQ_CHAT_MODEL=openai/gpt-oss-120b
CEREBRAS_API_KEY=csk-hvxtecwnkvn93e8exd5m9ehjyyy44kk8c665xky4pythw5v6
CEREBRAS_CHAT_MODEL=gpt-oss-120b
OPENAI_API_KEY=
STT_MODEL=
# Voice replies are FREE by default (Edge-TTS). These only override paid TTS.
TTS_MODEL=
TTS_VOICE_MALE=
TTS_VOICE_FEMALE=
# ElevenLabs — primary TTS when set. Run `tsx scripts/list-elevenlabs-voices.ts`
# to see voice IDs, then paste the IDs into the *_VOICE_* vars below.
ELEVENLABS_API_KEY=e7d0b8a67fbc2336929941f47ef4733a150ff242490935e3442f8a9ca30ac156
ELEVENLABS_MODEL=eleven_multilingual_v2
ELEVENLABS_VOICE_MALE=
ELEVENLABS_VOICE_FEMALE=
# Voice settings: stability lower = more expressive; style 0-1 = emotion strength
# Lower stability = more expressive (sales-rep variation in tone, not monotone).
# 0.35 hits the sweet spot per user testing — emotional without warbling.
ELEVENLABS_STABILITY=0.35
ELEVENLABS_SIMILARITY=0.75
ELEVENLABS_STYLE=0.55
ELEVENLABS_SPEAKER_BOOST=true
JWT_SECRET=dev-secret-change-me
