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

@@ -27,6 +27,7 @@ class GenerationsResponse(BaseModel):
class GenerationResponse(BaseModel):
id: str
status: GenerationStatus
gen_type: GenType = GenType.IMAGE
failed_reason: Optional[str] = None
linked_character_id: Optional[str] = None
@@ -45,6 +46,10 @@ class GenerationResponse(BaseModel):
progress: int = 0
cost: Optional[float] = None
created_by: Optional[str] = None
# Video-specific
kling_task_id: Optional[str] = None
video_duration: Optional[int] = None
video_mode: Optional[str] = None
created_at: datetime = datetime.now(UTC)
updated_at: datetime = datetime.now(UTC)

View File

@@ -0,0 +1,16 @@
from typing import Optional
from pydantic import BaseModel
class VideoGenerationRequest(BaseModel):
prompt: str = ""
negative_prompt: Optional[str] = ""
image_asset_id: str # ID ассета-картинки для source image
duration: int = 5 # 5 or 10 seconds
mode: str = "std" # "std" or "pro"
model_name: str = "kling-v2-1"
cfg_scale: float = 0.5
aspect_ratio: str = "16:9"
linked_character_id: Optional[str] = None
project_id: Optional[str] = None