diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2022-11-27 12:54:39 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-27 12:54:39 +0000 |
commit | 9ec0a41a5851a12ce289d4e2b1565d2dfbe16585 (patch) | |
tree | 7514760a869653ef538950ebb53179bca4b9ed5b /modules/api/api.py | |
parent | dac9b6f15de5e675053d9490a20e0457dcd1a23e (diff) | |
parent | fcd75bd8740855e0c7bc80c0e8a4e1033b76d007 (diff) | |
download | stable-diffusion-webui-gfx803-9ec0a41a5851a12ce289d4e2b1565d2dfbe16585.tar.gz stable-diffusion-webui-gfx803-9ec0a41a5851a12ce289d4e2b1565d2dfbe16585.tar.bz2 stable-diffusion-webui-gfx803-9ec0a41a5851a12ce289d4e2b1565d2dfbe16585.zip |
Merge pull request #4977 from sena-nana/master
Fix API img2img not accepting bare base64 strings
Diffstat (limited to 'modules/api/api.py')
-rw-r--r-- | modules/api/api.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/api/api.py b/modules/api/api.py index 7a567be3..efcedbba 100644 --- a/modules/api/api.py +++ b/modules/api/api.py @@ -3,7 +3,8 @@ import io import time import uvicorn from threading import Lock -from gradio.processing_utils import encode_pil_to_base64, decode_base64_to_file, decode_base64_to_image +from io import BytesIO +from gradio.processing_utils import decode_base64_to_file from fastapi import APIRouter, Depends, FastAPI, HTTPException from fastapi.security import HTTPBasic, HTTPBasicCredentials from secrets import compare_digest @@ -13,7 +14,7 @@ from modules import sd_samplers, deepbooru from modules.api.models import * from modules.processing import StableDiffusionProcessingTxt2Img, StableDiffusionProcessingImg2Img, process_images from modules.extras import run_extras, run_pnginfo -from PIL import PngImagePlugin +from PIL import PngImagePlugin,Image from modules.sd_models import checkpoints_list from modules.realesrgan_model import get_realesrgan_models from typing import List @@ -40,6 +41,10 @@ def setUpscalers(req: dict): reqDict.pop('upscaler_2') return reqDict +def decode_base64_to_image(encoding): + if encoding.startswith("data:image/"): + encoding = encoding.split(";")[1].split(",")[1] + return Image.open(BytesIO(base64.b64decode(encoding))) def encode_pil_to_base64(image): with io.BytesIO() as output_bytes: |