import gradio as gr import requests from utils import resize_image, pil_to_b64, b64_to_pil, process_images_and_inpaint USE_FASTAPI = False FAST_API_ENDPOINT = 'http://127.0.0.1:5000/inpaint' def run_inpainting(img_1, img_2, img_3, img_4, alpha_gradient_width, init_image_height): images = [] for img in [img_1, img_2, img_3, img_4]: if img is not None: images.append(pil_to_b64(resize_image(img, init_image_height))) if USE_FASTAPI: return call_inpainting_api(img_1, img_2, img_3, img_4, alpha_gradient_width, init_image_height) else: return b64_to_pil(process_images_and_inpaint(images, int(alpha_gradient_width), int(init_image_height))) def call_inpainting_api(img_1, img_2, img_3, img_4, alpha_gradient_width, init_image_height): images = [] for img in [img_1, img_2, img_3, img_4]: if img is not None: images.append(pil_to_b64(resize_image(img, init_image_height))) response = requests.post(FAST_API_ENDPOINT, json={ "images": images, "alpha_gradient_width": alpha_gradient_width, "init_image_height": init_image_height }) if response.status_code == 200: return b64_to_pil(response.json()["inpainted_image"]) else: return "Error calling inpainting API" TITLE = """