Skip to content

Commit 9ec0a41

Browse files
Merge pull request #4977 from sena-nana/master
Fix API img2img not accepting bare base64 strings
2 parents dac9b6f + fcd75bd commit 9ec0a41

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

modules/api/api.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
import time
44
import uvicorn
55
from threading import Lock
6-
from gradio.processing_utils import encode_pil_to_base64, decode_base64_to_file, decode_base64_to_image
6+
from io import BytesIO
7+
from gradio.processing_utils import decode_base64_to_file
78
from fastapi import APIRouter, Depends, FastAPI, HTTPException
89
from fastapi.security import HTTPBasic, HTTPBasicCredentials
910
from secrets import compare_digest
@@ -13,7 +14,7 @@
1314
from modules.api.models import *
1415
from modules.processing import StableDiffusionProcessingTxt2Img, StableDiffusionProcessingImg2Img, process_images
1516
from modules.extras import run_extras, run_pnginfo
16-
from PIL import PngImagePlugin
17+
from PIL import PngImagePlugin,Image
1718
from modules.sd_models import checkpoints_list
1819
from modules.realesrgan_model import get_realesrgan_models
1920
from typing import List
@@ -40,6 +41,10 @@ def setUpscalers(req: dict):
4041
reqDict.pop('upscaler_2')
4142
return reqDict
4243

44+
def decode_base64_to_image(encoding):
45+
if encoding.startswith("data:image/"):
46+
encoding = encoding.split(";")[1].split(",")[1]
47+
return Image.open(BytesIO(base64.b64decode(encoding)))
4348

4449
def encode_pil_to_base64(image):
4550
with io.BytesIO() as output_bytes:

0 commit comments

Comments
 (0)