Files
video-gen/video-gen-api/app/schemas/image_engine.py
T
2026-07-01 11:56:30 +08:00

40 lines
1.1 KiB
Python

from pydantic import BaseModel, Field
from app.schemas.common import NaiveDatetime
class ImageEngineCreate(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_models: str = Field(default='["doubao-seedream-5-0-260128"]')
supported_sizes: str = Field(default='{}')
default_size: str = Field(default="2K", max_length=32)
max_image_count: int = Field(default=0)
generate_url: str = Field(default="", max_length=512)
is_active: bool = True
priority: int = 0
class ImageEngineOut(ImageEngineCreate):
id: str
created_at: NaiveDatetime
model_config = {"from_attributes": True}
class ImageEnginePublic(BaseModel):
id: str
name: str
provider: str
supported_models: list[str] = []
supported_sizes: dict[str, dict[str, str]] = {}
default_size: str = "2K"
max_image_count: int = 0
class ImageEngineListResponse(BaseModel):
items: list[ImageEnginePublic]