from pydantic import BaseModel, Field from typing import List, Optional, Dict, Any from enum import Enum class ModelInfo(BaseModel): id: str name: str description: str classes: List[str] labels: Dict[str, str] size: str type: str class Detection(BaseModel): class_name: str label: str confidence: float bbox: List[int] class DetectionStats(BaseModel): total_detections: int avg_confidence: float processing_time: float model_used: str class ImageDetectionResult(BaseModel): success: bool message: str data: Dict[str, Any] class VideoDetectionRequest(BaseModel): model_id: str confidence: float = Field(default=0.5, ge=0.1, le=1.0) iou: float = Field(default=0.45, ge=0.1, le=0.9) class DetectionConfig(BaseModel): model_id: str confidence: float = Field(default=0.5, ge=0.1, le=1.0) iou: float = Field(default=0.45, ge=0.1, le=0.9) class VideoDetectionResult(BaseModel): success: bool message: str data: Dict[str, Any]