diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2022-11-11 12:41:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-11 12:41:30 +0000 |
commit | 6585cba20048576ebac8613c34c01dd85c894b86 (patch) | |
tree | 99a75b3ace9f5f9af64cef7207248703f10c457a /modules/api/api.py | |
parent | ac085628540d0ec6a988fad93f5b8f2154209571 (diff) | |
parent | 67c8e11be74180be19341aebbd6a246c37a79fbb (diff) | |
download | stable-diffusion-webui-gfx803-6585cba20048576ebac8613c34c01dd85c894b86.tar.gz stable-diffusion-webui-gfx803-6585cba20048576ebac8613c34c01dd85c894b86.tar.bz2 stable-diffusion-webui-gfx803-6585cba20048576ebac8613c34c01dd85c894b86.zip |
Merge pull request #4395 from snowmeow2/master
Add DeepDanbooru to the interrogate API
Diffstat (limited to 'modules/api/api.py')
-rw-r--r-- | modules/api/api.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/modules/api/api.py b/modules/api/api.py index 688469ad..596a6616 100644 --- a/modules/api/api.py +++ b/modules/api/api.py @@ -15,6 +15,9 @@ from modules.sd_models import checkpoints_list from modules.realesrgan_model import get_realesrgan_models from typing import List +if shared.cmd_opts.deepdanbooru: + from modules.deepbooru import get_deepbooru_tags + def upscaler_to_index(name: str): try: return [x.name.lower() for x in shared.sd_upscalers].index(name.lower()) @@ -220,11 +223,20 @@ class Api: if image_b64 is None: raise HTTPException(status_code=404, detail="Image not found") - img = self.__base64_to_image(image_b64) + img = decode_base64_to_image(image_b64) + img = img.convert('RGB') # Override object param with self.queue_lock: - processed = shared.interrogator.interrogate(img) + if interrogatereq.model == "clip": + processed = shared.interrogator.interrogate(img) + elif interrogatereq.model == "deepdanbooru": + if shared.cmd_opts.deepdanbooru: + processed = get_deepbooru_tags(img) + else: + raise HTTPException(status_code=404, detail="Model not found. Add --deepdanbooru when launching for using the model.") + else: + raise HTTPException(status_code=404, detail="Model not found") return InterrogateResponse(caption=processed) |