Skip to content

Commit

Permalink
fix scheduler api
Browse files Browse the repository at this point in the history
Signed-off-by: Vladimir Mandic <[email protected]>
  • Loading branch information
vladmandic committed Jan 2, 2025
1 parent 94a659e commit 9f30abb
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 10 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion extensions-builtin/sd-extension-system-info
4 changes: 4 additions & 0 deletions modules/api/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ def __init__(self, app: FastAPI, queue_lock: Lock):
# 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)
Expand Down
10 changes: 3 additions & 7 deletions modules/api/models.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -194,7 +194,7 @@ class ItemExtension(BaseModel):
"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"},
Expand All @@ -218,7 +218,7 @@ class ResTxt2Img(BaseModel):
"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"},
Expand Down Expand Up @@ -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] = []):
Expand Down
8 changes: 6 additions & 2 deletions modules/shared.py
Original file line number Diff line number Diff line change
Expand Up @@ -303,8 +303,12 @@ def validate(self, opt, value):
# 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

Expand Down

0 comments on commit 9f30abb

Please sign in to comment.