|
|
""" |
|
|
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" |
|
|
) |
|
|
FIREBASE_API_KEY: str = os.getenv("FIREBASE_API_KEY", "") |
|
|
|
|
|
|
|
|
BASE_URL: str = os.getenv("BASE_URL", "http://localhost:8000") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODEL_ID: str = os.getenv("MODEL_ID", "Hammad712/GAN-Colorization-Model") |
|
|
MODEL_BACKEND: str = os.getenv("MODEL_BACKEND", "fastai") |
|
|
BASE_MODEL_ID: str = os.getenv("BASE_MODEL_ID", "stabilityai/stable-diffusion-xl-base-1.0") |
|
|
LIGHTNING_REPO: str = os.getenv("LIGHTNING_REPO", "ByteDance/SDXL-Lightning") |
|
|
LIGHTNING_WEIGHTS: str = os.getenv("LIGHTNING_WEIGHTS", "sdxl_lightning_8step_unet.safetensors") |
|
|
CAPTION_MODEL_ID: str = os.getenv("CAPTION_MODEL_ID", "Salesforce/blip-image-captioning-base") |
|
|
NUM_INFERENCE_STEPS: int = int(os.getenv("NUM_INFERENCE_STEPS", "20")) |
|
|
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")) |
|
|
FASTAI_OUTPUT_CAPTION: str = os.getenv( |
|
|
"FASTAI_OUTPUT_CAPTION", |
|
|
"Colorized using GAN-Colorization-Model" |
|
|
) |
|
|
INFERENCE_PROVIDER: str = os.getenv("INFERENCE_PROVIDER", "fal-ai") |
|
|
INFERENCE_MODEL: str = os.getenv("INFERENCE_MODEL", "black-forest-labs/FLUX.1-Kontext-dev") |
|
|
INFERENCE_TIMEOUT: int = int(os.getenv("INFERENCE_TIMEOUT", "180")) |
|
|
HF_TOKEN: str = os.getenv("HF_TOKEN", "") |
|
|
|
|
|
|
|
|
UPLOAD_DIR: str = os.getenv("UPLOAD_DIR", "uploads") |
|
|
RESULT_DIR: str = os.getenv("RESULT_DIR", "results") |
|
|
|
|
|
|
|
|
|
|
|
MONGODB_URI: str = os.getenv("MONGODB_URI", "") |
|
|
MONGODB_DB_NAME: str = os.getenv("MONGODB_DB_NAME", "colorization_db") |
|
|
|
|
|
class Config: |
|
|
env_file = ".env" |
|
|
case_sensitive = False |
|
|
|
|
|
settings = Settings() |
|
|
|
|
|
|