|
|
|
@ -180,8 +180,8 @@ class Api:
|
|
|
|
|
|
|
|
|
|
|
|
populate = txt2imgreq.copy(update={ # Override __init__ params
|
|
|
|
populate = txt2imgreq.copy(update={ # Override __init__ params
|
|
|
|
"sampler_name": validate_sampler_name(txt2imgreq.sampler_name or txt2imgreq.sampler_index),
|
|
|
|
"sampler_name": validate_sampler_name(txt2imgreq.sampler_name or txt2imgreq.sampler_index),
|
|
|
|
"do_not_save_samples": True,
|
|
|
|
"do_not_save_samples": txt2imgreq.do_not_save,
|
|
|
|
"do_not_save_grid": True
|
|
|
|
"do_not_save_grid": txt2imgreq.do_not_save,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
if populate.sampler_name:
|
|
|
|
if populate.sampler_name:
|
|
|
|
@ -190,6 +190,10 @@ class Api:
|
|
|
|
args = vars(populate)
|
|
|
|
args = vars(populate)
|
|
|
|
args.pop('script_name', None)
|
|
|
|
args.pop('script_name', None)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
send_images = True if not 'do_not_send' in args else not args['do_not_send']
|
|
|
|
|
|
|
|
args.pop('do_not_send', None)
|
|
|
|
|
|
|
|
args.pop('do_not_save', None)
|
|
|
|
|
|
|
|
|
|
|
|
with self.queue_lock:
|
|
|
|
with self.queue_lock:
|
|
|
|
p = StableDiffusionProcessingTxt2Img(sd_model=shared.sd_model, **args)
|
|
|
|
p = StableDiffusionProcessingTxt2Img(sd_model=shared.sd_model, **args)
|
|
|
|
|
|
|
|
|
|
|
|
@ -203,7 +207,7 @@ class Api:
|
|
|
|
processed = process_images(p)
|
|
|
|
processed = process_images(p)
|
|
|
|
shared.state.end()
|
|
|
|
shared.state.end()
|
|
|
|
|
|
|
|
|
|
|
|
b64images = list(map(encode_pil_to_base64, processed.images))
|
|
|
|
b64images = list(map(encode_pil_to_base64, processed.images)) if send_images else []
|
|
|
|
|
|
|
|
|
|
|
|
return TextToImageResponse(images=b64images, parameters=vars(txt2imgreq), info=processed.js())
|
|
|
|
return TextToImageResponse(images=b64images, parameters=vars(txt2imgreq), info=processed.js())
|
|
|
|
|
|
|
|
|
|
|
|
@ -220,8 +224,8 @@ class Api:
|
|
|
|
|
|
|
|
|
|
|
|
populate = img2imgreq.copy(update={ # Override __init__ params
|
|
|
|
populate = img2imgreq.copy(update={ # Override __init__ params
|
|
|
|
"sampler_name": validate_sampler_name(img2imgreq.sampler_name or img2imgreq.sampler_index),
|
|
|
|
"sampler_name": validate_sampler_name(img2imgreq.sampler_name or img2imgreq.sampler_index),
|
|
|
|
"do_not_save_samples": True,
|
|
|
|
"do_not_save_samples": img2imgreq.do_not_save,
|
|
|
|
"do_not_save_grid": True,
|
|
|
|
"do_not_save_grid": img2imgreq.do_not_save,
|
|
|
|
"mask": mask
|
|
|
|
"mask": mask
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
@ -232,6 +236,13 @@ class Api:
|
|
|
|
args.pop('include_init_images', None) # this is meant to be done by "exclude": True in model, but it's for a reason that I cannot determine.
|
|
|
|
args.pop('include_init_images', None) # this is meant to be done by "exclude": True in model, but it's for a reason that I cannot determine.
|
|
|
|
args.pop('script_name', None)
|
|
|
|
args.pop('script_name', None)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
send_images = True if not 'do_not_send' in args else not args['do_not_send']
|
|
|
|
|
|
|
|
args.pop('do_not_send', None)
|
|
|
|
|
|
|
|
args.pop('do_not_save', None)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
send_images = True if not 'do_not_send_images' in args else not args['do_not_send_images']
|
|
|
|
|
|
|
|
args.pop('do_not_send_images', None)
|
|
|
|
|
|
|
|
|
|
|
|
with self.queue_lock:
|
|
|
|
with self.queue_lock:
|
|
|
|
p = StableDiffusionProcessingImg2Img(sd_model=shared.sd_model, **args)
|
|
|
|
p = StableDiffusionProcessingImg2Img(sd_model=shared.sd_model, **args)
|
|
|
|
p.init_images = [decode_base64_to_image(x) for x in init_images]
|
|
|
|
p.init_images = [decode_base64_to_image(x) for x in init_images]
|
|
|
|
@ -246,7 +257,7 @@ class Api:
|
|
|
|
processed = process_images(p)
|
|
|
|
processed = process_images(p)
|
|
|
|
shared.state.end()
|
|
|
|
shared.state.end()
|
|
|
|
|
|
|
|
|
|
|
|
b64images = list(map(encode_pil_to_base64, processed.images))
|
|
|
|
b64images = list(map(encode_pil_to_base64, processed.images)) if send_images else []
|
|
|
|
|
|
|
|
|
|
|
|
if not img2imgreq.include_init_images:
|
|
|
|
if not img2imgreq.include_init_images:
|
|
|
|
img2imgreq.init_images = None
|
|
|
|
img2imgreq.init_images = None
|
|
|
|
|