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