| # controlnet original + txt2img | |
| import requests | |
| import cv2 | |
| import numpy as np | |
| from base64 import b64encode , b64decode | |
| from PIL import Image | |
| import io | |
| def readImage(path): | |
| img = cv2.imread(path) | |
| retval, buffer = cv2.imencode('.jpg', img) | |
| b64img = b64encode(buffer).decode("utf-8") | |
| return b64img | |
| def readb64(uri): | |
| nparr = np.fromstring(b64decode(uri), np.uint8) | |
| img = cv2.imdecode(nparr, cv2.IMREAD_COLOR) | |
| return img | |
| b64img = readImage("output_image.png") | |
| class controlnetRequest(): | |
| def __init__(self, prompt): | |
| self.url = "http://127.0.0.1:7860/controlnet/txt2img" #openpose | |
| self.body = { | |
| "prompt": prompt, | |
| "negative_prompt": "", | |
| "seed": -1, | |
| "subseed": -1, | |
| "subseed_strength": 0, | |
| "batch_size": 1, | |
| "n_iter": 1, | |
| "steps": 30, | |
| "cfg_scale": 14, | |
| "width": 512, | |
| "height": 512, | |
| "restore_faces": True, | |
| "eta": 0, | |
| "sampler_index": "DDIM", | |
| "controlnet_model": "Test_ziva", | |
| "controlnet_input_image": [b64img], | |
| "controlnet_module": 'depth', | |
| "ControlNet Weight": 1, | |
| "controlnet_model": 'control_sd15_depth [fef5e48e]', | |
| "controlnet_guidance": 1 | |
| } | |
| def sendRequest(self): | |
| # print(self.simple_txt2img) | |
| r = requests.post(self.url, json=self.body) | |
| print(r) | |
| return r.json() | |
| js = controlnetRequest("clothed busty bird").sendRequest() | |
| for x,i in enumerate(js['images']): | |
| image = Image.open(io.BytesIO(b64decode(i.split(",",1)[0]))) | |
| image.save(str(x)+'output.png') | |
| len(js['images']) | |
| print(js) |