| 123456789101112131415161718192021222324252627282930 |
- """Schemas for timelapse video processing."""
- from pydantic import BaseModel, Field
- class TimelapseInfoResponse(BaseModel):
- """Video metadata response."""
- duration: float = Field(description="Video duration in seconds")
- width: int = Field(description="Video width in pixels")
- height: int = Field(description="Video height in pixels")
- fps: float = Field(description="Frames per second")
- codec: str = Field(description="Video codec name")
- file_size: int = Field(description="File size in bytes")
- has_audio: bool = Field(description="Whether video has audio track")
- class ThumbnailResponse(BaseModel):
- """Timeline thumbnail response."""
- thumbnails: list[str] = Field(description="Base64 encoded JPEG thumbnails")
- timestamps: list[float] = Field(description="Timestamp for each thumbnail in seconds")
- class ProcessResponse(BaseModel):
- """Processing result response."""
- status: str = Field(description="Processing status: completed, error")
- output_path: str | None = Field(default=None, description="Relative path to output file")
- message: str = Field(description="Status message")
|