"""Configuration lue dans l'environnement.""" import os from pathlib import Path # Pas de clé par défaut : un service exposé avec une clé connue de tous # n'est pas protégé. Le démarrage échoue si elle manque. API_KEY = os.environ.get("API_KEY", "") TEMP_DIR = Path(os.environ.get("TEMP_DIR", "/tmp/ffmpeg_processing")) # Durée de conservation des fichiers produits (téléchargés par l'application # puis supprimés ; la purge ne rattrape que les oublis). FILE_TTL_SECONDS = int(os.environ.get("FILE_TTL_SECONDS", "3600")) GEMINI_TTS_MODEL = os.environ.get("GEMINI_TTS_MODEL", "gemini-2.5-flash-preview-tts") # Gemini tire sa lecture au hasard : une température basse et une graine fixe # donnent une intonation stable d'une génération à l'autre. GEMINI_TTS_TEMPERATURE = float(os.environ.get("GEMINI_TTS_TEMPERATURE", "0.3")) GEMINI_TTS_SEED = int(os.environ.get("GEMINI_TTS_SEED", "20260928")) # Générations tentées quand la lecture ne correspond pas au texte GEMINI_TTS_ATTEMPTS = int(os.environ.get("GEMINI_TTS_ATTEMPTS", "3")) # Modèle Whisper utilisé pour caler les sous-titres sur la voix. WHISPER_MODEL = os.environ.get("WHISPER_MODEL", "base") WHISPER_COMPUTE_TYPE = os.environ.get("WHISPER_COMPUTE_TYPE", "int8") # Proxy sortant éventuel pour Edge TTS (aiohttp ne lit pas HTTPS_PROXY seul). OUTBOUND_PROXY = os.environ.get("HTTPS_PROXY") or os.environ.get("https_proxy") or None # Rendu WIDTH = 1080 HEIGHT = 1920 FPS = 30 # La voix démarre après ce délai (le temps de capter l'attention). VOICE_DELAY = 2.0 SUBTITLE_FONT = os.environ.get("SUBTITLE_FONT", "Montserrat") # Service Qwen3-TTS par défaut (service qwen-tts, local ou serveur GPU) ; l'adresse # réglée dans les paramètres de l'application est prioritaire. Vide : aucun. QWEN_TTS_URL = os.environ.get("QWEN_TTS_URL", "").rstrip("/") # Sur CPU, la génération prend plusieurs fois la durée de la voix QWEN_TTS_TIMEOUT = float(os.environ.get("QWEN_TTS_TIMEOUT", "900")) QWEN_TTS_ATTEMPTS = int(os.environ.get("QWEN_TTS_ATTEMPTS", "3")) QWEN_TTS_API_KEY = os.environ.get("QWEN_TTS_API_KEY", "")