Spaces:
Running
Running
| from pydantic import BaseModel | |
| from typing import Dict, List, Optional | |
| # Pydantic model for the base response | |
| class BaseResponse(BaseModel): | |
| status: str | |
| message: Optional[str] = None | |
| class WelcomeResponse(BaseResponse): | |
| endpoints: Dict[str, str] | |
| class ModelInfoResponse(BaseResponse): | |
| model_name: str | |
| model_version: str | |
| supported_formats: List[str] | |
| max_file_size_mb: int | |
| training_info: Optional[Dict] = None | |
| last_updated: Optional[str] = None | |
| # Pydantic model for the prediction response | |
| class PredictionResponse(BaseModel): | |
| status: str | |
| lyrics: str | |
| audio_file_name: str | |
| audio_content_type: str | |
| audio_file_size: int | |
| results: Optional[Dict] = None | |
| class PredictionXAIResponse(BaseModel): | |
| status: str | |
| lyrics: str | |
| audio_file_name: str | |
| audio_content_type: str | |
| audio_file_size: int | |
| results: Optional[Dict] = None | |
| class AudioOnlyPredictionResponse(BaseModel): | |
| status: str | |
| audio_file_name: str | |
| audio_content_type: str | |
| audio_file_size: int | |
| results: dict | |
| class AudioOnlyPredictionXAIResponse(BaseModel): | |
| status: str | |
| audio_file_name: str | |
| audio_content_type: str | |
| audio_file_size: int | |
| results: dict | |
| class CombinedExplanationResponse(BaseModel): | |
| status: str | |
| lyrics: str | |
| audio_file_name: str | |
| audio_content_type: str | |
| audio_file_size: int | |
| results: dict # Contains both multimodal and audio_only results | |
| class CombinedPredictionResponse(BaseModel): | |
| status: str | |
| lyrics: str | |
| audio_file_name: str | |
| audio_content_type: str | |
| audio_file_size: int | |
| results: dict # Contains both multimodal and audio_only predictions | |