Files
vplatform/backend/app/schemas.py
2026-04-09 08:47:37 +00:00

37 lines
907 B
Python

from typing import List, Optional
from pydantic import BaseModel, Field
class UploadResponse(BaseModel):
file_id: str
original_name: str
file_url: str
class TaskCreateRequest(BaseModel):
file_id: str = Field(..., description="Uploaded file identifier")
clip_seconds: Optional[int] = Field(default=8, ge=1, le=60)
transcode_mp4: bool = True
generate_cover: bool = True
generate_hls: bool = True
watermark_text: Optional[str] = Field(default="VPlatform Demo", max_length=32)
class TaskResult(BaseModel):
mp4_url: Optional[str] = None
cover_url: Optional[str] = None
hls_url: Optional[str] = None
log: List[str] = Field(default_factory=list)
class TaskResponse(BaseModel):
task_id: str
status: str
file_id: str
created_at: str
updated_at: str
options: TaskCreateRequest
result: TaskResult
error: Optional[str] = None