Skip to content

Commit

Permalink
feat: Expose more stable diffusion webui api parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
hibobmaster committed Jan 4, 2024
1 parent 711e2d2 commit 5fb0715
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .full-env.example
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,7 @@ IMAGE_GENERATION_ENDPOINT="http://127.0.0.1:7860/sdapi/v1/txt2img"
IMAGE_GENERATION_BACKEND="sdwui" # openai or sdwui or localai
IMAGE_GENERATION_SIZE="512x512"
IMAGE_FORMAT="webp"
SDWUI_STEPS=20
SDWUI_SAMPLER_NAME="Euler a"
SDWUI_CFG_SCALE=7
TIMEOUT=120.0
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

## 1.5.2
- Expose more stable diffusion webui api parameters

## 1.5.1
- fix: set timeout not work in image generation

Expand Down
3 changes: 3 additions & 0 deletions full-config.json.example
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"image_generation_endpoint": "http://localai:8080/v1/images/generations",
"image_generation_backend": "localai",
"image_generation_size": "512x512",
"sdwui_steps": 20,
"sdwui_sampler_name": "Euler a",
"sdwui_cfg_scale": 7,
"image_format": "webp",
"timeout": 120.0
}
10 changes: 10 additions & 0 deletions src/bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ def __init__(
image_generation_backend: Optional[str] = None,
image_generation_size: Optional[str] = None,
image_format: Optional[str] = None,
sdwui_steps: Optional[int] = None,
sdwui_sampler_name: Optional[str] = None,
sdwui_cfg_scale: Optional[float] = None,
timeout: Union[float, None] = None,
):
if homeserver is None or user_id is None or device_id is None:
Expand Down Expand Up @@ -138,6 +141,10 @@ def __init__(
self.image_generation_width = self.image_generation_size.split("x")[0]
self.image_generation_height = self.image_generation_size.split("x")[1]

self.sdwui_steps = sdwui_steps
self.sdwui_sampler_name = sdwui_sampler_name
self.sdwui_cfg_scale = sdwui_cfg_scale

self.timeout: float = timeout or 120.0

self.base_path = Path(os.path.dirname(__file__)).parent
Expand Down Expand Up @@ -1368,6 +1375,9 @@ async def pic(self, room_id, prompt, replay_to_event_id, sender_id, user_message
size=self.image_generation_size,
width=self.image_generation_width,
height=self.image_generation_height,
steps=self.sdwui_steps,
sampler_name=self.sdwui_sampler_name,
cfg_scale=self.sdwui_cfg_scale,
image_format=self.image_format,
)
# send image
Expand Down
1 change: 1 addition & 0 deletions src/imagegen.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ async def get_images(
json={
"prompt": prompt,
"sampler_name": kwargs.get("sampler_name", "Euler a"),
"cfg_scale": kwargs.get("cfg_scale", 7),
"batch_size": kwargs.get("n", 1),
"steps": kwargs.get("steps", 20),
"width": kwargs.get("width", 512),
Expand Down
6 changes: 6 additions & 0 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ async def main():
image_generation_endpoint=config.get("image_generation_endpoint"),
image_generation_backend=config.get("image_generation_backend"),
image_generation_size=config.get("image_generation_size"),
sdwui_steps=config.get("sdwui_steps"),
sdwui_sampler_name=config.get("sdwui_sampler_name"),
sdwui_cfg_scale=config.get("sdwui_cfg_scale"),
image_format=config.get("image_format"),
timeout=config.get("timeout"),
)
Expand Down Expand Up @@ -78,6 +81,9 @@ async def main():
image_generation_endpoint=os.environ.get("IMAGE_GENERATION_ENDPOINT"),
image_generation_backend=os.environ.get("IMAGE_GENERATION_BACKEND"),
image_generation_size=os.environ.get("IMAGE_GENERATION_SIZE"),
sdwui_steps=int(os.environ.get("SDWUI_STEPS", 20)),
sdwui_sampler_name=os.environ.get("SDWUI_SAMPLER_NAME"),
sdwui_cfg_scale=float(os.environ.get("SDWUI_CFG_SCALE", 7)),
image_format=os.environ.get("IMAGE_FORMAT"),
timeout=float(os.environ.get("TIMEOUT", 120.0)),
)
Expand Down

0 comments on commit 5fb0715

Please sign in to comment.