From 4d66dffe5b1b38814e04f1685ee7d4e5f4432a93 Mon Sep 17 00:00:00 2001 From: Benjamyn Love Date: Sun, 11 Dec 2022 19:18:17 +1100 Subject: [PATCH] Removed old python file --- DiffuseAPI.py | 110 -------------------------------------------------- 1 file changed, 110 deletions(-) delete mode 100644 DiffuseAPI.py diff --git a/DiffuseAPI.py b/DiffuseAPI.py deleted file mode 100644 index 9588ec4..0000000 --- a/DiffuseAPI.py +++ /dev/null @@ -1,110 +0,0 @@ -import aiohttp -from sys import exit - -class DiffuseAPI(): - def __init__(self, url, styles, nsfw_enabled=True, num_steps=28): - - self.nsfw_enabled = nsfw_enabled - self.num_steps = num_steps - self.url = url - self.styles = styles - self.seed = -1 - self.width = 512 - self.height = 1024 - self.cfg_scale = 12 - - def set_steps(self, steps): - try: - new_steps = int(steps) - if 0 > new_steps < 50: - self.num_steps = new_steps - return True - return False - except: - return False - - def set_seed(self, seed): - try: - new_seed = int(seed) - self.seed = new_seed - return True - except: - return False - - def set_cfg_scale(self, scale): - try: - new_scale = int(scale) - if 0 > new_scale < 30: - self.cfg_scale = new_scale - return True - return False - except: - return False - - def set_styles(self, styles): - if type(styles) == list: - self.styles = styles - return True - return False - - def set_orientation(self, orientation): - new_orientation = str(orientation) - match new_orientation: - case "portrait": - self.width = 512 - self.height = 1024 - return True - case "landscape": - self.width = 1024 - self.height = 512 - return True - case "square": - self.width = 512 - self.height = 512 - return True - case _: - return False - - def get_orientation(self): - if self.width == 512 and self.height == 512: - return ("square", self.width, self.height) - elif self.width == 1024: - return ("landscape", self.width, self.height) - return ("portrait", self.width, self.height) - - def set_nsfw_filter(self, filter_state): - if type(filter_state) == bool: - self.nsfw_enabled = filter_state - return True - return False - - def get_nsfw_filter(self): - return self.nsfw_enabled - - async def generate_image(self, prompt, neg_prompt=""): - settings = { - "filter_nsfw": not self.nsfw_enabled - } - - override_payload = { - "override_settings": settings - } - - payload = {"prompt": prompt, "styles": self.styles, "steps": self.num_steps, "seed": self.seed, - "n_iter": 1, "height": self.height, "width": self.width, "negative_prompts": neg_prompt, - "cfg_scale": self.cfg_scale} | override_payload - - sess = aiohttp.ClientSession(self.url) - alive = await sess.head('/') - - if alive.status != 200: - alive.close() - await sess.close() - return None - async with aiohttp.ClientSession(self.url) as session: - async with session.head('/') as alive: - if alive.status != 200: - return None - async with session.post("/sdapi/v1/txt2img", json=payload) as image_json: - image_data = await image_json.json() - return image_data["images"][0]