|
|
""" |
|
|
Configuration settings for the application |
|
|
""" |
|
|
import os |
|
|
from pydantic_settings import BaseSettings |
|
|
|
|
|
class Settings(BaseSettings): |
|
|
"""Application settings""" |
|
|
|
|
|
|
|
|
ENABLE_APP_CHECK: bool = os.getenv("ENABLE_APP_CHECK", "true").lower() == "true" |
|
|
FIREBASE_CREDENTIALS_PATH: str = os.getenv( |
|
|
"FIREBASE_CREDENTIALS_PATH", |
|
|
"/data/firebase-adminsdk.json" |
|
|
) |
|
|
|
|
|
|
|
|
BASE_URL: str = os.getenv("BASE_URL", "http://localhost:8000") |
|
|
|
|
|
|
|
|
MODEL_ID: str = os.getenv("MODEL_ID", "stabilityai/stable-diffusion-xl-base-1.0") |
|
|
NUM_INFERENCE_STEPS: int = int(os.getenv("NUM_INFERENCE_STEPS", "30")) |
|
|
POSITIVE_PROMPT: str = os.getenv( |
|
|
"POSITIVE_PROMPT", |
|
|
"high quality color photo, vibrant natural colors, detailed lighting" |
|
|
) |
|
|
NEGATIVE_PROMPT: str = os.getenv( |
|
|
"NEGATIVE_PROMPT", |
|
|
"low quality, monochrome, black and white, desaturated, blurry, grainy" |
|
|
) |
|
|
GUIDANCE_SCALE: float = float(os.getenv("GUIDANCE_SCALE", "1.0")) |
|
|
CONTROLNET_SCALE: float = float(os.getenv("CONTROLNET_SCALE", "1.0")) |
|
|
CAPTION_PREFIX: str = os.getenv("CAPTION_PREFIX", "a photography of") |
|
|
COLORIZE_SEED: int = int(os.getenv("COLORIZE_SEED", "123")) |
|
|
INFERENCE_PROVIDER: str = os.getenv("INFERENCE_PROVIDER", "hf-inference") |
|
|
INFERENCE_TIMEOUT: int = int(os.getenv("INFERENCE_TIMEOUT", "180")) |
|
|
|
|
|
|
|
|
UPLOAD_DIR: str = os.getenv("UPLOAD_DIR", "uploads") |
|
|
RESULT_DIR: str = os.getenv("RESULT_DIR", "results") |
|
|
|
|
|
class Config: |
|
|
env_file = ".env" |
|
|
case_sensitive = False |
|
|
|
|
|
settings = Settings() |
|
|
|
|
|
|