3
3
import time
4
4
import uvicorn
5
5
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
7
8
from fastapi import APIRouter , Depends , FastAPI , HTTPException
8
9
from fastapi .security import HTTPBasic , HTTPBasicCredentials
9
10
from secrets import compare_digest
13
14
from modules .api .models import *
14
15
from modules .processing import StableDiffusionProcessingTxt2Img , StableDiffusionProcessingImg2Img , process_images
15
16
from modules .extras import run_extras , run_pnginfo
16
- from PIL import PngImagePlugin
17
+ from PIL import PngImagePlugin , Image
17
18
from modules .sd_models import checkpoints_list
18
19
from modules .realesrgan_model import get_realesrgan_models
19
20
from typing import List
@@ -40,6 +41,10 @@ def setUpscalers(req: dict):
40
41
reqDict .pop ('upscaler_2' )
41
42
return reqDict
42
43
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 )))
43
48
44
49
def encode_pil_to_base64 (image ):
45
50
with io .BytesIO () as output_bytes :
0 commit comments