LogicGoInfotechSpaces's picture
Add Firebase email/password authentication endpoints - Add /auth/register endpoint for user registration - Add /auth/login endpoint with Firebase REST API integration - Add /auth/me endpoint to get current user info - Add /auth/refresh endpoint for token refresh - Integrate with existing Firebase App Check - Add httpx and email-validator dependencies
c85fec3
raw
history blame
2.7 kB
"""
Configuration settings for the application
"""
import os
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
"""Application settings"""
# Firebase 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", "")
# API settings
BASE_URL: str = os.getenv("BASE_URL", "http://localhost:8000")
# Model / inference settings
# Note: MODEL_ID must point to a FastAI model (.pkl file), not PyTorch (.pt file)
# To find FastAI-compatible colorization models, search Hugging Face for models with .pkl files
# Example: Look for models tagged with "fastai" and "colorization"
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", "")
# Storage settings
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()