| @@ -131,7 +131,8 @@ class StableDiffusionTool(BuiltinTool): | |||
| negative_prompt=negative_prompt, | |||
| width=width, | |||
| height=height, | |||
| steps=steps) | |||
| steps=steps, | |||
| model=model) | |||
| return self.text2img(base_url=base_url, | |||
| lora=lora, | |||
| @@ -139,7 +140,8 @@ class StableDiffusionTool(BuiltinTool): | |||
| negative_prompt=negative_prompt, | |||
| width=width, | |||
| height=height, | |||
| steps=steps) | |||
| steps=steps, | |||
| model=model) | |||
| def validate_models(self) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]: | |||
| """ | |||
| @@ -197,7 +199,7 @@ class StableDiffusionTool(BuiltinTool): | |||
| def img2img(self, base_url: str, lora: str, image_binary: bytes, | |||
| prompt: str, negative_prompt: str, | |||
| width: int, height: int, steps: int) \ | |||
| width: int, height: int, steps: int, model: str) \ | |||
| -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]: | |||
| """ | |||
| generate image | |||
| @@ -213,7 +215,8 @@ class StableDiffusionTool(BuiltinTool): | |||
| "sampler_name": "Euler a", | |||
| "restore_faces": False, | |||
| "steps": steps, | |||
| "script_args": ["outpainting mk2"] | |||
| "script_args": ["outpainting mk2"], | |||
| "override_settings": {"sd_model_checkpoint": model} | |||
| } | |||
| if lora: | |||
| @@ -236,7 +239,7 @@ class StableDiffusionTool(BuiltinTool): | |||
| except Exception as e: | |||
| return self.create_text_message('Failed to generate image') | |||
| def text2img(self, base_url: str, lora: str, prompt: str, negative_prompt: str, width: int, height: int, steps: int) \ | |||
| def text2img(self, base_url: str, lora: str, prompt: str, negative_prompt: str, width: int, height: int, steps: int, model: str) \ | |||
| -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]: | |||
| """ | |||
| generate image | |||
| @@ -253,6 +256,7 @@ class StableDiffusionTool(BuiltinTool): | |||
| draw_options['height'] = height | |||
| draw_options['steps'] = steps | |||
| draw_options['negative_prompt'] = negative_prompt | |||
| draw_options['override_settings']['sd_model_checkpoint'] = model | |||
| try: | |||
| url = str(URL(base_url) / 'sdapi' / 'v1' / 'txt2img') | |||