Initial commit
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class ProjectCreate(BaseModel):
|
||||
name: str = Field(default="Default")
|
||||
segments_count: int = Field(ge=1)
|
||||
intro_seconds: float = Field(ge=0)
|
||||
outro_seconds: float = Field(ge=0)
|
||||
reencode_enabled: bool = False
|
||||
ffmpeg_pass1_template: str | None = None
|
||||
ffmpeg_pass2_template: str | None = None
|
||||
|
||||
|
||||
class ProjectUpdate(BaseModel):
|
||||
name: str | None = None
|
||||
segments_count: int | None = Field(default=None, ge=1)
|
||||
intro_seconds: float | None = Field(default=None, ge=0)
|
||||
outro_seconds: float | None = Field(default=None, ge=0)
|
||||
reencode_enabled: bool | None = None
|
||||
ffmpeg_pass1_template: str | None = None
|
||||
ffmpeg_pass2_template: str | None = None
|
||||
|
||||
|
||||
class ProjectOut(BaseModel):
|
||||
id: str
|
||||
name: str
|
||||
segments_count: int
|
||||
intro_seconds: float
|
||||
outro_seconds: float
|
||||
reencode_enabled: bool
|
||||
ffmpeg_pass1_template: str | None = None
|
||||
ffmpeg_pass2_template: str | None = None
|
||||
created_at: str
|
||||
updated_at: str
|
||||
|
||||
|
||||
class VideoOut(BaseModel):
|
||||
id: str
|
||||
project_id: str
|
||||
filename: str
|
||||
file_path: str
|
||||
duration_seconds: float
|
||||
created_at: str
|
||||
|
||||
|
||||
class MarkersUpdate(BaseModel):
|
||||
markers: list[float]
|
||||
|
||||
|
||||
class SegmentEdit(BaseModel):
|
||||
segment_key: str
|
||||
start_seconds: float = Field(ge=0)
|
||||
end_seconds: float = Field(ge=0)
|
||||
|
||||
|
||||
class SegmentEditsUpdate(BaseModel):
|
||||
segments: list[SegmentEdit]
|
||||
|
||||
|
||||
class SegmentEditOut(SegmentEdit):
|
||||
modified_at: str
|
||||
|
||||
|
||||
class AutoCutRequest(BaseModel):
|
||||
window_seconds: float | None = None
|
||||
|
||||
|
||||
class SplitRequest(BaseModel):
|
||||
markers: list[float] | None = None
|
||||
output_prefix: str | None = None
|
||||
|
||||
|
||||
class SplitAllRequest(BaseModel):
|
||||
video_ids: list[str] | None = None
|
||||
|
||||
|
||||
class JobOut(BaseModel):
|
||||
id: str
|
||||
kind: str
|
||||
status: str
|
||||
progress: float
|
||||
message: str | None = None
|
||||
details: dict | None = None
|
||||
logs: list[dict] = Field(default_factory=list)
|
||||
result: dict | None = None
|
||||
created_at: str
|
||||
updated_at: str
|
||||
Reference in New Issue
Block a user