SwapV21 / app.py
ChavinloSocialRise's picture
Update app.py
2d41cae verified
raw
history blame
1.26 kB
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()