36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
|
|
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
|