Spaces:
Running
on
Zero
Running
on
Zero
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) | |