aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYea chen <yeataro@gmail.com>2023-03-04 11:46:07 +0800
committerYea chen <yeataro@gmail.com>2023-03-04 11:46:07 +0800
commitc48bbccf12f13cf309f532d70494ff04c27bcc2a (patch)
tree8e6b392d5e8cd1cd0c89e0d64f56a9e86e3cd58b
parent0cc0ee1bcb4c24a8c9715f66cede06601bfc00c8 (diff)
add: /sdapi/v1/scripts in API
API for get scripts list
-rw-r--r--modules/api/api.py13
-rw-r--r--modules/api/models.py4
2 files changed, 17 insertions, 0 deletions
diff --git a/modules/api/api.py b/modules/api/api.py
index 5a9ac5f1..46cb7c81 100644
--- a/modules/api/api.py
+++ b/modules/api/api.py
@@ -150,6 +150,7 @@ class Api:
self.add_api_route("/sdapi/v1/train/embedding", self.train_embedding, methods=["POST"], response_model=TrainResponse)
self.add_api_route("/sdapi/v1/train/hypernetwork", self.train_hypernetwork, methods=["POST"], response_model=TrainResponse)
self.add_api_route("/sdapi/v1/memory", self.get_memory, methods=["GET"], response_model=MemoryResponse)
+ self.add_api_route("/sdapi/v1/scripts", self.get_scripts_list, methods=["GET"], response_model=ScriptsList)
def add_api_route(self, path: str, endpoint, **kwargs):
if shared.cmd_opts.api_auth:
@@ -174,6 +175,18 @@ class Api:
script_idx = script_name_to_index(script_name, script_runner.selectable_scripts)
script = script_runner.selectable_scripts[script_idx]
return script, script_idx
+
+ def get_scripts_list(self):
+ t2ilist = []
+ i2ilist = []
+
+ for a in scripts.scripts_txt2img.titles:
+ t2ilist.append(str(a.lower()))
+
+ for b in scripts.scripts_img2img.titles:
+ i2ilist.append(str(b.lower()))
+
+ return ScriptsList(txt2img = t2ilist, img2img = i2ilist)
def text2imgapi(self, txt2imgreq: StableDiffusionTxt2ImgProcessingAPI):
script, script_idx = self.get_script(txt2imgreq.script_name, scripts.scripts_txt2img)
diff --git a/modules/api/models.py b/modules/api/models.py
index cba43d3b..db739f2b 100644
--- a/modules/api/models.py
+++ b/modules/api/models.py
@@ -267,3 +267,7 @@ class EmbeddingsResponse(BaseModel):
class MemoryResponse(BaseModel):
ram: dict = Field(title="RAM", description="System memory stats")
cuda: dict = Field(title="CUDA", description="nVidia CUDA memory stats")
+
+class ScriptsList(BaseModel):
+ txt2img: list = Field(default=None,title="Txt2img", description="Titles of scripts (txt2img)")
+ img2img: list = Field(default=None,title="Img2img", description="Titles of scripts (img2img)") \ No newline at end of file