|
|
|
|
@ -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:
|
|
|
|
|
|