Files
video-gen/video-gen-api/app/schemas/video_engine.py
T
2026-07-01 10:20:51 +08:00

44 lines
1.3 KiB
Python

from pydantic import BaseModel, Field
from app.schemas.common import NaiveDatetime
class VideoEngineCreate(BaseModel):
name: str = Field(..., max_length=64)
provider: str = Field(..., max_length=32)
api_base: str = Field(..., max_length=512)
api_key: str = Field(default="", max_length=256)
model_name: str = Field(default="", max_length=128)
supported_ratios: str = Field(default='["16:9","4:3","1:1","3:4","9:16","21:9"]')
supported_resolutions: str = Field(default='["480p","720p","1080p"]')
supported_durations: str = Field(default='[4,5,6,7,8,9,10,11,12,13,14,15]')
max_duration: int = Field(default=15)
max_image_count: int = Field(default=2)
max_video_count: int = Field(default=0)
generate_url: str = Field(default="", max_length=512)
query_url: str = Field(default="", max_length=512)
is_active: bool = True
priority: int = 0
class VideoEngineOut(VideoEngineCreate):
id: str
created_at: NaiveDatetime
model_config = {"from_attributes": True}
class VideoEnginePublic(BaseModel):
id: str
name: str
provider: str
supported_ratios: list[str] = []
supported_resolutions: list[str] = []
supported_durations: list[int] = []
max_image_count: int = 2
max_video_count: int = 0
class VideoEngineListResponse(BaseModel):
items: list[VideoEnginePublic]