from typing import Optional from pydantic import BaseModel, Field class MysticRequest(BaseModel): prompt: str = Field(..., min_length=1, max_length=4000) negative_prompt: Optional[str] = None resolution: Optional[str] = None styling: Optional[dict] = None seed: Optional[int] = None num_images: Optional[int] = Field(None, ge=1, le=4) class FluxDevRequest(BaseModel): prompt: str = Field(..., min_length=1, max_length=4000) image: Optional[str] = Field(None, description='Base64-encoded image for img2img') guidance_scale: Optional[float] = Field(None, ge=1.0, le=20.0) num_images: Optional[int] = Field(None, ge=1, le=4) seed: Optional[int] = None class FluxProRequest(BaseModel): prompt: str = Field(..., min_length=1, max_length=4000) image: Optional[str] = Field(None, description='Base64-encoded image for img2img') guidance_scale: Optional[float] = Field(None, ge=1.0, le=20.0) seed: Optional[int] = None class SeedreamRequest(BaseModel): prompt: str = Field(..., min_length=1, max_length=4000) image: Optional[str] = Field(None, description='Base64-encoded image for img2img') aspect_ratio: Optional[str] = None num_images: Optional[int] = Field(None, ge=1, le=4) seed: Optional[int] = None