| """Configuration and constants for Reality Divergence app.""" | |
| import os | |
| try: | |
| # Load HF_TOKEN (and any other vars) from a local .env file if present. | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| except ImportError: | |
| pass | |
| # App metadata | |
| APP_NAME = "Reality Divergence" | |
| TAGLINE = "Explore the lives and worlds you didn't live." | |
| VERSION = "1.0.0" | |
| # Model configuration | |
| # Hugging Face access token. Set it in a .env file (HF_TOKEN=hf_xxx) or as an | |
| # environment variable. Get one at https://huggingface.co/settings/tokens | |
| HF_TOKEN = os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACEHUB_API_TOKEN") | |
| # Text model served through the HF Inference API (chat_completion). | |
| # Qwen2.5-7B-Instruct: open weights, well under the 32B hackathon cap, reliably | |
| # available on the Inference API. Override via the MODEL_NAME_TEXT env var. | |
| MODEL_NAME_TEXT = os.getenv("MODEL_NAME_TEXT", "Qwen/Qwen2.5-7B-Instruct") | |
| # Image models served through the HF Inference API (text_to_image). | |
| MODEL_NAME_IMAGE = os.getenv("MODEL_NAME_IMAGE", "black-forest-labs/FLUX.1-schnell") | |
| FALLBACK_IMAGE_MODEL = "stabilityai/stable-diffusion-xl-base-1.0" | |
| # Inference settings | |
| TIMEOUT_INFERENCE = 60 # seconds | |
| TIMEOUT_IMAGE = 45 # seconds | |
| MAX_TOKENS_TEXT = 512 | |
| MAX_TOKENS_MIRROR = 150 | |
| TEMPERATURE_ANALYSIS = 0.1 | |
| TEMPERATURE_NARRATIVE = 0.7 | |
| TEMPERATURE_IMAGE = 0.8 | |
| # Safety settings | |
| MIN_STORY_LENGTH = 100 | |
| MAX_STORY_LENGTH = 5000 | |
| RATE_LIMIT_ELSEWHERE = 5 # requests per minute | |
| RATE_LIMIT_REALITY = 20 | |
| # UI/UX | |
| THEME_BG_DARK = "#050816" | |
| THEME_BG_MID = "#08111F" | |
| THEME_BG_LIGHT = "#130A24" | |
| THEME_ACCENT_BLUE = "#38BDF8" | |
| THEME_ACCENT_PURPLE = "#8B5CF6" | |
| THEME_TEXT_PRIMARY = "#F8FAFC" | |
| THEME_TEXT_SECONDARY = "#94A3B8" | |
| # Feature flags | |
| ENABLE_NARRATION = False # VoxCPM2 optional | |
| ENABLE_IMAGE_GEN = True | |
| ENABLE_ARTIFACTS = True | |
| ENABLE_SHARE_CARD = True | |
| # Paths | |
| ASSETS_PATH = "assets" | |
| SVG_HOME = f"{ASSETS_PATH}/reality-divergence-home.svg" | |
| SVG_DASHBOARD = f"{ASSETS_PATH}/reality-divergence-dashboard.svg" | |