import os from typing import List class HuggingFaceSettings: # File upload settings (HF Spaces can handle larger files) MAX_FILE_SIZE = 200 * 1024 * 1024 # 200MB for HF Spaces ALLOWED_EXTENSIONS = ['.mp4', '.avi', '.mov', '.mkv', '.wmv', '.flv', '.webm', '.m4v'] # Transcription settings (optimized for HF Spaces) WHISPER_MODEL = os.getenv("WHISPER_MODEL", "base") # HF Spaces can handle base model CLEANUP_INTERVAL_HOURS = 3.5 # Clean up after 3.5 hours # Performance settings for HF Spaces MODEL_PRELOAD = True # Always preload on HF Spaces MAX_CONCURRENT_TRANSCRIPTIONS = 2 # HF Spaces can handle more REQUEST_TIMEOUT_SECONDS = 600 # 10 minutes max per request # Rate limiting (more generous on HF Spaces) RATE_LIMIT_REQUESTS = 20 # requests per minute per IP # Server settings HOST = "0.0.0.0" PORT = 7860 # Standard HF Spaces port # Logging settings DEBUG_MODE = os.getenv("DEBUG", "false").lower() == "true" LOG_TO_FILE = False # No file logging on HF Spaces # Hugging Face Spaces specific HF_SPACE_ID = os.getenv("SPACE_ID", "your-username/video-transcription") HF_SPACE_URL = f"https://{HF_SPACE_ID.replace('/', '-')}.hf.space" if "SPACE_ID" in os.environ else "http://localhost:7860" # Use HF-optimized settings settings = HuggingFaceSettings()