# ============================================================================ # Environment Variables Template for PyCatan AI # ============================================================================ # This file is a TEMPLATE - it will be committed to Git. # Copy this file to .env and fill in your actual API keys. # # SETUP INSTRUCTIONS: # 1. Copy this file: cp .env.example .env # 2. Edit .env and paste your actual API keys # 3. NEVER commit the .env file to Git! # ============================================================================ # ---------------------------------------------------------------------------- # LLM API Keys # ---------------------------------------------------------------------------- # Get your API keys from: # - Gemini: https://aistudio.google.com/app/apikey # - OpenAI: https://platform.openai.com/api-keys # - Anthropic: https://console.anthropic.com/settings/keys # Google Gemini API Key (recommended for development) GEMINI_API_KEY= # OpenAI API Key (optional) OPENAI_API_KEY= # Anthropic Claude API Key (optional) ANTHROPIC_API_KEY= # ElevenLabs API Key (optional, for AI chat text-to-speech) ELEVENLABS_API_KEY= # Azure OpenAI (optional) AZURE_OPENAI_KEY= AZURE_OPENAI_ENDPOINT= # ---------------------------------------------------------------------------- # Optional: LLM Configuration Overrides # ---------------------------------------------------------------------------- # You can override default settings via environment variables # Default LLM provider (gemini, openai, anthropic, azure) # DEFAULT_LLM_PROVIDER=gemini # Default model name # DEFAULT_MODEL_NAME=gemini-2.0-flash-exp # Default temperature (0.0 to 2.0) # DEFAULT_TEMPERATURE=0.7 # ---------------------------------------------------------------------------- # Optional: ElevenLabs Text-to-Speech for AI Table Talk # ---------------------------------------------------------------------------- # Set TTS_PROVIDER to gemini, elevenlabs, or off. This works for # play_ai_auto.bat and PLAY_WITH_SET_SETTINGS.bat. TTS_PROVIDER=off # Generated voice clips are cached per session by default: # /tts_cache/ # Set AI_TTS_CACHE_ENABLED=false to disable this, or override AI_TTS_CACHE_DIR # if you intentionally want a shared cache. AI_TTS_CACHE_ENABLED=true # AI_TTS_CACHE_DIR= # Gemini TTS uses GEMINI_API_KEY by default. GEMINI_TTS_ENABLED=true GEMINI_TTS_MODEL_ID=gemini-3.1-flash-tts-preview GEMINI_TTS_VOICE_NAME=Kore # Per-player voices are keyed by player slot, so renaming Alice/Bob/etc. # does not change who sounds like whom. PLAYER1 and PLAYER_1 both work. GEMINI_TTS_VOICE_PLAYER_1=Achernar GEMINI_TTS_VOICE_PLAYER_2=Achird GEMINI_TTS_VOICE_PLAYER_3=Alnilam # GEMINI_TTS_VOICE_PLAYER_4=Kore GEMINI_TTS_PLAY_AUDIO=true GEMINI_TTS_VERIFY_SSL=true GEMINI_TTS_PROMPT_TEMPLATE=[casual, conversational, Israeli Hebrew pronunciation] {text} # ElevenLabs TTS requires ELEVENLABS_API_KEY and a voice ID. # # Set ELEVENLABS_DEFAULT_VOICE_ID to any voice from your ElevenLabs library. # Per-player voice overrides are optional and should be keyed by player slot, # so renaming the player does not change the voice. ELEVENLABS_TTS_ENABLED=false ELEVENLABS_DEFAULT_VOICE_ID= ELEVENLABS_TTS_MODEL_ID=eleven_v3 ELEVENLABS_TTS_OUTPUT_FORMAT=pcm_16000 ELEVENLABS_TTS_PLAY_AUDIO=true ELEVENLABS_TTS_VERIFY_SSL=true # Optional per-player voices. PLAYER1 and PLAYER_1 both work. # ELEVENLABS_VOICE_PLAYER_1= # ELEVENLABS_VOICE_PLAYER_2= # ELEVENLABS_VOICE_PLAYER_3= # ELEVENLABS_VOICE_PLAYER_4= # Optional tuning # ELEVENLABS_TTS_LANGUAGE_CODE=he # ELEVENLABS_TTS_STABILITY= # ELEVENLABS_TTS_SIMILARITY_BOOST= # ELEVENLABS_TTS_STYLE= # ELEVENLABS_TTS_USE_SPEAKER_BOOST= # ---------------------------------------------------------------------------- # Development Settings # ---------------------------------------------------------------------------- # Enable debug mode for detailed logging # DEBUG_MODE=false # Log directory # LOG_DIRECTORY=logs/ai_agents # ---------------------------------------------------------------------------- # Notes # ---------------------------------------------------------------------------- # - The .env file is ignored by Git (see .gitignore) # - Never share your .env file or commit it to version control # - Keep your API keys secret and rotate them regularly # - Each developer should have their own .env file with their own keys # ============================================================================