diff --git a/invokeai/app/api/routers/models.py b/invokeai/app/api/routers/models.py index 4fc40a1eec..f510279f18 100644 --- a/invokeai/app/api/routers/models.py +++ b/invokeai/app/api/routers/models.py @@ -80,7 +80,7 @@ async def list_models( ), ) -> ModelsList: """Gets a list of models""" - models_raw = ApiDependencies.invoker.services.model_manager.list_models(model_type) + models_raw = ApiDependencies.invoker.services.model_manager.list_models(base_model, model_type) models = parse_obj_as(ModelsList, { "models": models_raw }) return models diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 7a7a765fd3..bb46c80b77 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -513,7 +513,6 @@ class ModelManager(object): named 'model-name', and model_manager.config to get the full OmegaConf object derived from models.yaml """ - assert not(model_type is not None and base_model is None), "model_type must be provided with base_model" models = dict() for model_key in sorted(self.models, key=str.casefold): diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index 38890a703c..bd519c88c8 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -123,6 +123,7 @@ class StableDiffusion2Model(DiffusersModel): class DiffusersConfig(ModelConfigBase): format: Literal["diffusers"] vae: Optional[str] = Field(None) + variant: ModelVariantType prediction_type: SchedulerPredictionType upcast_attention: bool @@ -130,6 +131,7 @@ class StableDiffusion2Model(DiffusersModel): format: Literal["checkpoint"] vae: Optional[str] = Field(None) config: Optional[str] = Field(None) + variant: ModelVariantType prediction_type: SchedulerPredictionType upcast_attention: bool