39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class ApiUpscaleRule(BaseModel):
|
|
"""API 超分规则。支持 camelCase 和 snake_case 两种字段名。"""
|
|
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
target_resolution: str = Field(..., description="目标分辨率: 480p | 720p | 1080p | 2K | 4K", alias="targetResolution")
|
|
provider_generation_resolution: str = Field(..., description="供应商生成分辨率", alias="providerGenerationResolution")
|
|
processor_key: str = Field(
|
|
...,
|
|
description="处理器: local_ffmpeg_crop_v1 | volc_standard_v1 | volc_professional_v1 | volc_large_model_v1",
|
|
alias="processorKey",
|
|
)
|
|
enabled: bool = True
|
|
|
|
|
|
class ApiUpscaleConfigData(BaseModel):
|
|
"""API 超分配置数据。支持 camelCase 和 snake_case 两种字段名。"""
|
|
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
enabled: bool = False
|
|
delete_source_after_success: bool = Field(True, alias="deleteSourceAfterSuccess")
|
|
rules: list[ApiUpscaleRule] = Field(default_factory=list)
|
|
|
|
|
|
class ApiUpscaleConfigSaveRequest(BaseModel):
|
|
"""保存 API 超分配置请求。"""
|
|
|
|
data: ApiUpscaleConfigData
|
|
|
|
|
|
class ApiUpscaleConfigResponse(BaseModel):
|
|
"""API 超分配置响应。"""
|
|
|
|
data: ApiUpscaleConfigData
|