mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-06-17 08:45:33 +08:00
128 lines
3.7 KiB
Python
128 lines
3.7 KiB
Python
![]() |
from __future__ import annotations
|
||
|
|
||
|
from enum import Enum
|
||
|
from typing import Optional
|
||
|
|
||
|
from pydantic import BaseModel, Field, confloat
|
||
|
|
||
|
|
||
|
class StabilityFormat(str, Enum):
|
||
|
png = 'png'
|
||
|
jpeg = 'jpeg'
|
||
|
webp = 'webp'
|
||
|
|
||
|
|
||
|
class StabilityAspectRatio(str, Enum):
|
||
|
ratio_1_1 = "1:1"
|
||
|
ratio_16_9 = "16:9"
|
||
|
ratio_9_16 = "9:16"
|
||
|
ratio_3_2 = "3:2"
|
||
|
ratio_2_3 = "2:3"
|
||
|
ratio_5_4 = "5:4"
|
||
|
ratio_4_5 = "4:5"
|
||
|
ratio_21_9 = "21:9"
|
||
|
ratio_9_21 = "9:21"
|
||
|
|
||
|
|
||
|
def get_stability_style_presets(include_none=True):
|
||
|
presets = []
|
||
|
if include_none:
|
||
|
presets.append("None")
|
||
|
return presets + [x.value for x in StabilityStylePreset]
|
||
|
|
||
|
|
||
|
class StabilityStylePreset(str, Enum):
|
||
|
_3d_model = "3d-model"
|
||
|
analog_film = "analog-film"
|
||
|
anime = "anime"
|
||
|
cinematic = "cinematic"
|
||
|
comic_book = "comic-book"
|
||
|
digital_art = "digital-art"
|
||
|
enhance = "enhance"
|
||
|
fantasy_art = "fantasy-art"
|
||
|
isometric = "isometric"
|
||
|
line_art = "line-art"
|
||
|
low_poly = "low-poly"
|
||
|
modeling_compound = "modeling-compound"
|
||
|
neon_punk = "neon-punk"
|
||
|
origami = "origami"
|
||
|
photographic = "photographic"
|
||
|
pixel_art = "pixel-art"
|
||
|
tile_texture = "tile-texture"
|
||
|
|
||
|
|
||
|
class Stability_SD3_5_Model(str, Enum):
|
||
|
sd3_5_large = "sd3.5-large"
|
||
|
# sd3_5_large_turbo = "sd3.5-large-turbo"
|
||
|
sd3_5_medium = "sd3.5-medium"
|
||
|
|
||
|
|
||
|
class Stability_SD3_5_GenerationMode(str, Enum):
|
||
|
text_to_image = "text-to-image"
|
||
|
image_to_image = "image-to-image"
|
||
|
|
||
|
|
||
|
class StabilityStable3_5Request(BaseModel):
|
||
|
model: str = Field(...)
|
||
|
mode: str = Field(...)
|
||
|
prompt: str = Field(...)
|
||
|
negative_prompt: Optional[str] = Field(None)
|
||
|
aspect_ratio: Optional[str] = Field(None)
|
||
|
seed: Optional[int] = Field(None)
|
||
|
output_format: Optional[str] = Field(StabilityFormat.png.value)
|
||
|
image: Optional[str] = Field(None)
|
||
|
style_preset: Optional[str] = Field(None)
|
||
|
cfg_scale: float = Field(...)
|
||
|
strength: Optional[confloat(ge=0.0, le=1.0)] = Field(None)
|
||
|
|
||
|
|
||
|
class StabilityUpscaleConservativeRequest(BaseModel):
|
||
|
prompt: str = Field(...)
|
||
|
negative_prompt: Optional[str] = Field(None)
|
||
|
seed: Optional[int] = Field(None)
|
||
|
output_format: Optional[str] = Field(StabilityFormat.png.value)
|
||
|
image: Optional[str] = Field(None)
|
||
|
creativity: Optional[confloat(ge=0.2, le=0.5)] = Field(None)
|
||
|
|
||
|
|
||
|
class StabilityUpscaleCreativeRequest(BaseModel):
|
||
|
prompt: str = Field(...)
|
||
|
negative_prompt: Optional[str] = Field(None)
|
||
|
seed: Optional[int] = Field(None)
|
||
|
output_format: Optional[str] = Field(StabilityFormat.png.value)
|
||
|
image: Optional[str] = Field(None)
|
||
|
creativity: Optional[confloat(ge=0.1, le=0.5)] = Field(None)
|
||
|
style_preset: Optional[str] = Field(None)
|
||
|
|
||
|
|
||
|
class StabilityStableUltraRequest(BaseModel):
|
||
|
prompt: str = Field(...)
|
||
|
negative_prompt: Optional[str] = Field(None)
|
||
|
aspect_ratio: Optional[str] = Field(None)
|
||
|
seed: Optional[int] = Field(None)
|
||
|
output_format: Optional[str] = Field(StabilityFormat.png.value)
|
||
|
image: Optional[str] = Field(None)
|
||
|
style_preset: Optional[str] = Field(None)
|
||
|
strength: Optional[confloat(ge=0.0, le=1.0)] = Field(None)
|
||
|
|
||
|
|
||
|
class StabilityStableUltraResponse(BaseModel):
|
||
|
image: Optional[str] = Field(None)
|
||
|
finish_reason: Optional[str] = Field(None)
|
||
|
seed: Optional[int] = Field(None)
|
||
|
|
||
|
|
||
|
class StabilityResultsGetResponse(BaseModel):
|
||
|
image: Optional[str] = Field(None)
|
||
|
finish_reason: Optional[str] = Field(None)
|
||
|
seed: Optional[int] = Field(None)
|
||
|
id: Optional[str] = Field(None)
|
||
|
name: Optional[str] = Field(None)
|
||
|
errors: Optional[list[str]] = Field(None)
|
||
|
status: Optional[str] = Field(None)
|
||
|
result: Optional[str] = Field(None)
|
||
|
|
||
|
|
||
|
class StabilityAsyncResponse(BaseModel):
|
||
|
id: Optional[str] = Field(None)
|