mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 09:14:35 +02:00
@@ -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
|
||||
|
||||
|
||||
Submodule extensions-builtin/sd-extension-system-info updated: dfa01ce99a...aafc660ba3
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user