aboutsummaryrefslogtreecommitdiff
path: root/modules/api/processing.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/api/processing.py')
-rw-r--r--modules/api/processing.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/modules/api/processing.py b/modules/api/processing.py
index b6798241..2e6483ee 100644
--- a/modules/api/processing.py
+++ b/modules/api/processing.py
@@ -42,7 +42,8 @@ class PydanticModelGenerator:
def __init__(
self,
model_name: str = None,
- class_instance = None
+ class_instance = None,
+ additional_fields = None,
):
def field_type_generator(k, v):
# field_type = str if not overrides.get(k) else overrides[k]["type"]
@@ -70,6 +71,13 @@ class PydanticModelGenerator:
)
for (k,v) in self._class_data.items() if k not in API_NOT_ALLOWED
]
+
+ for fields in additional_fields:
+ self._model_def.append(ModelDef(
+ field=underscore(fields["key"]),
+ field_alias=fields["key"],
+ field_type=fields["type"],
+ field_value=fields["default"]))
def generate_model(self):
"""
@@ -84,4 +92,8 @@ class PydanticModelGenerator:
DynamicModel.__config__.allow_mutation = True
return DynamicModel
-StableDiffusionProcessingAPI = PydanticModelGenerator("StableDiffusionProcessingTxt2Img", StableDiffusionProcessingTxt2Img).generate_model()
+StableDiffusionProcessingAPI = PydanticModelGenerator(
+ "StableDiffusionProcessingTxt2Img",
+ StableDiffusionProcessingTxt2Img,
+ [{"key": "sampler_index", "type": str, "default": "k_euler_a"}]
+).generate_model()