Files
label_ai_service/app/models/video_models.py

39 lines
732 B
Python
Raw Normal View History

from pydantic import BaseModel
class ExtractFramesRequest(BaseModel):
file_path: str
source_id: int
job_id: int
mode: str = "interval"
frame_interval: int = 30
class VideoToTextRequest(BaseModel):
file_path: str
source_id: int
job_id: int
start_sec: float
end_sec: float
model: str | None = None
prompt_template: str | None = None
class FrameInfo(BaseModel):
frame_index: int
time_sec: float
frame_path: str
class VideoJobCallback(BaseModel):
job_id: int
status: str
frames: list[FrameInfo] | None = None
output_path: str | None = None
error_message: str | None = None
class VideoAcceptedResponse(BaseModel):
message: str
job_id: int