feat: Implement video generation functionality and integrate with Kling API.

This commit is contained in:
xds
2026-02-12 10:27:07 +03:00
parent d1f67c773f
commit 32ff77e04b
13 changed files with 405 additions and 5 deletions

View File

@@ -16,6 +16,7 @@ class GenerationStatus(str, Enum):
class Generation(BaseModel):
id: Optional[str] = None
status: GenerationStatus = GenerationStatus.RUNNING
gen_type: GenType = GenType.IMAGE
failed_reason: Optional[str] = None
linked_character_id: Optional[str] = None
telegram_id: Optional[int] = None
@@ -37,6 +38,10 @@ class Generation(BaseModel):
album_id: Optional[str] = None
created_by: Optional[str] = None # Stores User ID (Telegram ID or Web User ObjectId)
project_id: Optional[str] = None
# Video-specific fields
kling_task_id: Optional[str] = None
video_duration: Optional[int] = None # 5 or 10 seconds
video_mode: Optional[str] = None # "std" or "pro"
created_at: datetime = Field(default_factory=lambda: datetime.now(UTC))
updated_at: datetime = Field(default_factory=lambda: datetime.now(UTC))