aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/api/api.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/modules/api/api.py b/modules/api/api.py
index f0a68c67..45c5c507 100644
--- a/modules/api/api.py
+++ b/modules/api/api.py
@@ -251,14 +251,10 @@ class Api:
self.default_script_arg_txt2img = []
self.default_script_arg_img2img = []
- script_runner = scripts.scripts_img2img
- if not script_runner.scripts:
- script_runner.initialize_scripts(True)
- ui.create_ui()
- if not self.default_script_arg_txt2img:
- self.default_script_arg_txt2img = self.init_default_script_args(script_runner)
- if not self.default_script_arg_img2img:
- self.default_script_arg_img2img = self.init_default_script_args(script_runner)
+ self.txt2img_script_arg_init_lock = Lock()
+ self.img2img_script_arg_init_lock = Lock()
+
+
def add_api_route(self, path: str, endpoint, **kwargs):
if shared.cmd_opts.api_auth:
@@ -348,6 +344,12 @@ class Api:
task_id = txt2imgreq.force_task_id or create_task_id("txt2img")
script_runner = scripts.scripts_txt2img
+ with self.txt2img_script_arg_init_lock:
+ if not script_runner.scripts:
+ script_runner.initialize_scripts(False)
+ ui.create_ui()
+ if not self.default_script_arg_txt2img:
+ self.default_script_arg_txt2img = self.init_default_script_args(script_runner)
selectable_scripts, selectable_script_idx = self.get_selectable_script(txt2imgreq.script_name, script_runner)
populate = txt2imgreq.copy(update={ # Override __init__ params
@@ -407,6 +409,12 @@ class Api:
mask = decode_base64_to_image(mask)
script_runner = scripts.scripts_img2img
+ with self.img2img_script_arg_init_lock:
+ if not script_runner.scripts:
+ script_runner.initialize_scripts(True)
+ ui.create_ui()
+ if not self.default_script_arg_img2img:
+ self.default_script_arg_img2img = self.init_default_script_args(script_runner)
selectable_scripts, selectable_script_idx = self.get_selectable_script(img2imgreq.script_name, script_runner)
populate = img2imgreq.copy(update={ # Override __init__ params