Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from pathlib import Path | |
| from pydantic_settings import BaseSettings, SettingsConfigDict | |
| class Settings(BaseSettings): | |
| service_name: str = "BitCheck Image Verification API" | |
| max_upload_bytes: int = 12 * 1024 * 1024 | |
| allowed_extensions: set[str] = {"jpg", "jpeg", "png", "webp"} | |
| model_path: Path = Path("models/bitcheck_efficientnet_b0_production.pth") | |
| model_fallback_paths: list[Path] = [ | |
| Path("models/ai_vs_real_image_detector.pth"), | |
| Path("models/best_ai_vs_real_efficientnet_b0.pth"), | |
| ] | |
| model_arch: str = "efficientnet_b0" | |
| model_input_size: int = 224 | |
| model_threshold: float = 0.5 | |
| uploads_dir: Path = Path("uploads") | |
| outputs_dir: Path = Path("outputs") | |
| reports_dir: Path = Path("outputs/reports") | |
| watermark_templates_dir: Path = Path("templates/watermarks") | |
| log_level: str = "INFO" | |
| cors_origins: list[str] = ["*"] | |
| model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8") | |
| settings = Settings() | |
| settings.uploads_dir.mkdir(parents=True, exist_ok=True) | |
| settings.outputs_dir.mkdir(parents=True, exist_ok=True) | |
| settings.reports_dir.mkdir(parents=True, exist_ok=True) | |
| settings.watermark_templates_dir.mkdir(parents=True, exist_ok=True) | |