new features

This commit is contained in:
Daniil
2026-02-27 23:33:56 +03:00
parent 937e58859a
commit dc04efe0fb
41 changed files with 2067 additions and 141 deletions
+29 -2
View File
@@ -12,9 +12,11 @@ from cpv3.common.schemas import Schema
ArtifactTypeEnum = Literal[
"TRANSCRIPTION_JSON",
"SILENCE_REMOVED_VIDEO",
"CONVERTED_VIDEO",
"THUMBNAIL",
"AUDIO_PROXY",
"RENDERED_VIDEO",
"FRAME_SPRITES",
]
@@ -60,7 +62,7 @@ class ArtifactMediaFileRead(Schema):
id: UUID
project_id: UUID | None
file_id: UUID | None
media_file_id: UUID
media_file_id: UUID | None
artifact_type: ArtifactTypeEnum
@@ -74,7 +76,7 @@ class ArtifactMediaFileRead(Schema):
class ArtifactMediaFileCreate(Schema):
project_id: UUID | None = None
file_id: UUID | None = None
media_file_id: UUID
media_file_id: UUID | None = None
artifact_type: ArtifactTypeEnum
@@ -148,3 +150,28 @@ class MediaSilencerParams(Schema):
class MediaConverterParams(Schema):
file_path: str
folder: str = ""
class FrameSpriteMetadata(Schema):
"""Metadata stored in ArtifactMediaFile.meta for extracted frames."""
frame_count: int
interval: float
width: int
height: int
folder_key: str
source_file_key: str
class FrameItem(Schema):
"""Single frame in a range query response."""
timestamp: float
url: str
class FrameRangeResponse(Schema):
"""Response for GET /api/media/frames/ range query."""
interval: float
frames: list[FrameItem]