# Owl Creek Radio — environment template. Copy to `.env` and fill in real values. # `.env` is gitignored; this file is committed (NO real secrets here). # --- OpenRouter (all LLM: scripts + Director) --- OPENROUTER_API_KEY=sk-or-v1-xxxxxxxx OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 WRITER_MODEL=google/gemini-3.5-flash DIRECTOR_MODEL=google/gemini-3.5-flash # --- ElevenLabs (TTS + Music + Conversational AI) --- ELEVENLABS_API_KEY=xxxxxxxx ELEVENLABS_TTS_MODEL=eleven_v3 ELEVENLABS_MUSIC_MODEL=music_v2 # v2 launched 2026-05-27; if API rejects it, use music_v1 ELEVENLABS_MUSIC_OUTPUT_FORMAT=mp3_44100_128 ELEVENLABS_AGENT_ID=agent_xxxxxxxx ELEVENLABS_WEBHOOK_SECRET=wsec_xxxxxxxx # --- Storage --- DATABASE_URL=sqlite:///./data/station.db MEDIA_DIR=./data/media FALLBACK_BED_PATH=fallback/bed_loop.mp3 # --- Audio --- FFMPEG_PATH=/opt/homebrew/bin/ffmpeg # --- Render / scheduling tunables --- RENDER_BUFFER_SECONDS=600 SCHEDULE_PLAN_AHEAD=12 RENDER_WORKER_ENABLED=true RENDER_CONCURRENCY=1 # --- Server / CORS --- API_PORT=8095 CORS_ORIGINS=http://localhost:5185 # --- Frontend (Vite) --- VITE_API_BASE=http://localhost:8095 VITE_ELEVENLABS_AGENT_ID=agent_xxxxxxxx