from pydantic_settings import BaseSettings from functools import lru_cache class Settings(BaseSettings): app_name: str = "RevAI API" version: str = "1.0.0" debug: bool = True database_url: str = "sqlite:///./revai.db" secret_key: str = "change-me-in-production-use-a-long-random-string" algorithm: str = "HS256" access_token_expire_minutes: int = 1440 stripe_secret_key: str = "" stripe_webhook_secret: str = "" # RapidAPI integration rapidapi_proxy_secret: str = "" # Tier limits free_predictions: int = 100 maker_predictions: int = 5000 growth_predictions: int = 50000 scale_predictions: int = 500000 free_models: int = 1 maker_models: int = 3 growth_models: int = 10 scale_models: int = 999 free_rpm: int = 60 maker_rpm: int = 100 growth_rpm: int = 500 scale_rpm: int = 2000 class Config: env_file = ".env" @lru_cache() def get_settings() -> Settings: return Settings()