Spaces:
Runtime error
Runtime error
| import os | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| DEBUG: bool = os.getenv("DEBUG", "false").lower() == "true" | |
| MISTRAL_API_KEY: str = os.getenv("MISTRAL_API_KEY", "") | |
| SECRET_KEY: str = os.getenv("SECRET_KEY", "dev-secret-key-change-me") | |
| # ElevenLabs TTS (unit sound effects) | |
| ELEVENLABS_API_KEY: str = os.getenv("ELEVENLABS_API_KEY", "") | |
| ELEVENLABS_VOICE_ID: str = os.getenv("ELEVENLABS_VOICE_ID", "21m00Tcm4TlvDq8ikWAM") # Rachel | |
| # Voxtral STT models | |
| VOXTRAL_MODEL: str = "voxtral-mini-latest" # batch (PTT) | |
| VOXTRAL_REALTIME_MODEL: str = "voxtral-mini-transcribe-realtime-2602" # streaming (future) | |
| # Mistral LLM model for command parsing | |
| MISTRAL_CHAT_MODEL: str = "mistral-large-latest" | |
| # GCP Vertex AI Imagen (optionnel, pour génération sprites si Mistral restreint) | |
| # Ex: project mtgbinder — à retirer en prod | |
| GCP_PROJECT_ID: str = os.getenv("GCP_PROJECT_ID", "") | |
| GCP_LOCATION: str = os.getenv("GCP_LOCATION", "us-central1") | |
| # Game constants | |
| TICK_INTERVAL: float = 0.25 # seconds per game tick | |
| TICKS_PER_SECOND: int = 4 | |
| MINERAL_PER_HARVEST: int = 8 # minerals per SCV per harvest cycle | |
| GAS_PER_HARVEST: int = 8 # gas per SCV per harvest cycle | |
| HARVEST_INTERVAL_TICKS: int = 4 # harvest every N ticks (~1s) | |
| MINING_DRILL_TICKS: int = 16 # ticks spent drilling before collecting minerals (4 s) | |