vitek
add bearer token to endpoints
acb0ec6
raw
history blame
2.11 kB
"""API response models."""
from pydantic import BaseModel, Field
from typing import Optional, Dict, List
from datetime import datetime
class ExtractionResponse(BaseModel):
"""Response for direct extraction."""
file_path: str
media_type: str
filename: str
processing_time: float
file_size: int
class JobCreatedResponse(BaseModel):
"""Response when a background job is created."""
job_id: str
external_job_id: Optional[str] = None
status: str
message: str
check_url: str
file_size_mb: float
class JobStatusResponse(BaseModel):
"""Response for job status check."""
job_id: str
external_job_id: Optional[str] = None
status: str
created_at: datetime
updated_at: datetime
filename: Optional[str] = None
file_size_mb: Optional[float] = None
output_format: Optional[str] = None
quality: Optional[str] = None
processing_time: Optional[float] = None
error: Optional[str] = None
download_url: Optional[str] = None
class ErrorResponse(BaseModel):
"""Standard error response."""
error: str
details: Optional[str] = None
code: Optional[str] = None
class AuthenticationErrorResponse(BaseModel):
"""Authentication error response."""
error: str = "Authentication required"
details: Optional[str] = None
code: str = "AUTHENTICATION_ERROR"
class ValidationErrorResponse(BaseModel):
"""Validation error response."""
error: str = "Validation failed"
details: Optional[str] = None
code: str = "VALIDATION_ERROR"
field: Optional[str] = None
class DuplicateJobIdErrorResponse(BaseModel):
"""Duplicate external job ID error response."""
error: str = "Duplicate external job ID"
details: Optional[str] = None
code: str = "DUPLICATE_EXTERNAL_JOB_ID"
external_job_id: Optional[str] = None
class ApiInfoResponse(BaseModel):
"""API information response."""
version: str
supported_video_formats: List[str]
supported_audio_formats: List[str]
quality_levels: List[str]
max_direct_response_size_mb: float
endpoints: Dict[str, str]