fix scheduler api

Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2025-01-02 16:45:08 -05:00
parent 94a659ee1f
commit 9f30abbad5
5 changed files with 17 additions and 10 deletions
+3
View File
@@ -15,6 +15,8 @@
- update installer messages
- **Detailer**:
- add explicit detailer steps setting
- **SysInfo**:
- update to collected data and benchmarks
- **Fixes**:
- explict clear caches on model load
- lock adetailer commit: `#a89c01d`
@@ -23,6 +25,7 @@
- vae tiling use default value if not set
- sd35 img2img
- samplers test for scale noise before using
- scheduler api
## Update for 2024-12-31
+4
View File
@@ -99,6 +99,10 @@ class Api:
# gallery api
gallery.register_api(app)
# compatibility api
self.text2imgapi = self.generate.post_text2img
self.img2imgapi = self.generate.post_img2img
def add_api_route(self, path: str, endpoint, **kwargs):
if (shared.cmd_opts.auth or shared.cmd_opts.auth_file) and shared.cmd_opts.api_only:
return self.app.add_api_route(path, endpoint, dependencies=[Depends(self.auth)], **kwargs)
+3 -7
View File
@@ -1,5 +1,5 @@
import inspect
from typing import Any, Optional, Dict, List, Type, Callable
from typing import Any, Optional, Dict, List, Type, Callable, Union
from pydantic import BaseModel, Field, create_model # pylint: disable=no-name-in-module
from inflection import underscore
from modules.processing import StableDiffusionProcessingTxt2Img, StableDiffusionProcessingImg2Img
@@ -194,7 +194,7 @@ ReqTxt2Img = PydanticModelGenerator(
"StableDiffusionProcessingTxt2Img",
StableDiffusionProcessingTxt2Img,
[
{"key": "sampler_index", "type": int, "default": 0},
{"key": "sampler_index", "type": Union[int, str], "default": 0},
{"key": "sampler_name", "type": str, "default": "UniPC"},
{"key": "hr_sampler_name", "type": str, "default": "Same as primary"},
{"key": "script_name", "type": str, "default": "none"},
@@ -218,7 +218,7 @@ ReqImg2Img = PydanticModelGenerator(
"StableDiffusionProcessingImg2Img",
StableDiffusionProcessingImg2Img,
[
{"key": "sampler_index", "type": int, "default": 0},
{"key": "sampler_index", "type": Union[int, str], "default": 0},
{"key": "sampler_name", "type": str, "default": "UniPC"},
{"key": "hr_sampler_name", "type": str, "default": "Same as primary"},
{"key": "script_name", "type": str, "default": "none"},
@@ -405,10 +405,6 @@ class ResNVML(BaseModel): # definition of http response
state: str = Field(title="State")
# compatibility items
StableDiffusionTxt2ImgProcessingAPI = ResTxt2Img
StableDiffusionImg2ImgProcessingAPI = ResImg2Img
# helper function
def create_model_from_signature(func: Callable, model_name: str, base_model: Type[BaseModel] = BaseModel, additional_fields: List = [], exclude_fields: List[str] = []):
+6 -2
View File
@@ -303,8 +303,12 @@ class OptionInfo:
# return False
minimum = args.get("minimum", None)
maximum = args.get("maximum", None)
if (minimum is not None and value < minimum) or (maximum is not None and value > maximum):
log.error(f'Setting validation: "{opt}"={value} default={self.default} minimum={minimum} maximum={maximum}')
try:
if (minimum is not None and value < minimum) or (maximum is not None and value > maximum):
log.error(f'Setting validation: "{opt}"={value} default={self.default} minimum={minimum} maximum={maximum}')
return False
except Exception as err:
log.error(f'Setting validation: "{opt}"={value} default={self.default} minimum={minimum} maximum={maximum} error={err}')
return False
return True