Fix parsing str images for faceid and ipadapter scripts

Fixes calling these scripts via the API as you can obviously not pass PIL image instances in script_args via HTTP
This commit is contained in:
Enes Sadık Özbek
2023-12-31 00:20:32 +03:00
parent 89884e0051
commit ad895f0dac
2 changed files with 9 additions and 0 deletions
+4
View File
@@ -52,6 +52,10 @@ class Script(scripts.Script):
onnxruntime.set_default_logger_severity(3)
app.prepare(ctx_id=0, det_thresh=0.5, det_size=(640, 640))
if isinstance(image, str):
from modules.api.api import decode_base64_to_image
image = decode_base64_to_image(image)
image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
faces = app.get(image)
if len(faces) == 0:
+5
View File
@@ -115,5 +115,10 @@ class Script(scripts.Script):
else:
shared.log.debug(f'IP adapter cache: adapter="{adapter}" scale={scale} image={image}')
shared.sd_model.set_ip_adapter_scale(scale)
if isinstance(image, str):
from modules.api.api import decode_base64_to_image
image = decode_base64_to_image(image)
p.task_args['ip_adapter_image'] = p.batch_size * [image]
p.extra_generation_params["IP Adapter"] = f'{adapter}:{scale}'