# 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) |