feat: Implement video generation functionality and integrate with Kling API.
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
16
api/models/VideoGenerationRequest.py
Normal file
16
api/models/VideoGenerationRequest.py
Normal 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
|
||||
Reference in New Issue
Block a user