from typing import Optional from pydantic import BaseModel, Field class UpscaleCreativeRequest(BaseModel): image: str = Field(..., description='Base64-encoded image') prompt: Optional[str] = None scale: Optional[int] = Field(None, ge=2, le=4) creativity: Optional[float] = Field(None, ge=0.0, le=1.0) resemblance: Optional[float] = Field(None, ge=0.0, le=1.0) class UpscalePrecisionRequest(BaseModel): image: str = Field(..., description='Base64-encoded image') scale: Optional[int] = Field(None, ge=2, le=4) class RelightRequest(BaseModel): image: str = Field(..., description='Base64-encoded image') prompt: Optional[str] = None light_source: Optional[str] = None intensity: Optional[float] = Field(None, ge=0.0, le=1.0) class StyleTransferRequest(BaseModel): image: str = Field(..., description='Base64-encoded image') style_reference: str = Field(..., description='Base64-encoded style reference image') strength: Optional[float] = Field(None, ge=0.0, le=1.0) class ExpandRequest(BaseModel): image: str = Field(..., description='Base64-encoded image') prompt: Optional[str] = None direction: Optional[str] = Field(None, description='Expansion direction') class InpaintRequest(BaseModel): image: str = Field(..., description='Base64-encoded image') mask: str = Field(..., description='Base64-encoded mask image') prompt: str = Field(..., min_length=1)