SwapV21 / app.py
ChavinloSocialRise's picture
Update app.py
2d41cae verified
import numpy as np
import gradio as gr
import requests
import io
import base64
import PIL
from PIL import Image
url = "https://api.runpod.ai/v2/d4p75k87yroni1/runsync"
def convert(input_img, quality=85):
buffer = io.BytesIO()
input_img.save(buffer, format="JPEG", quality=quality)
buffer.seek(0)
img_base64 = base64.b64encode(buffer.read()).decode('utf-8')
return img_base64
def send_req(input_img, compression, noise):
if type(input_img) is not PIL.Image.Image:
input_img = Image.fromarray(input_img, 'RGB')
payload = {
"input": {
"image": convert(input_img),
"mode": "1",
"quality": str(compression),
"noise": str(noise)
}
}
headers = {
"Authorization": "Bearer XWV1ST04C0QLWNVAUSJWI6VJMR7YDJCKJSAR6TPA",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
image_data = base64.b64decode(response.json()["output"])
image = Image.open(io.BytesIO(image_data))
return image
demo = gr.Interface(send_req, [gr.Image(), gr.Slider(0, 100, label="Compression", step=1), gr.Slider(0, 100, label="Noise", step=1)], "image")
if __name__ == "__main__":
demo.launch()