Test / gradio_api.py
wylupek's picture
Update gradio_api.py
bfb5e70 verified
raw
history blame contribute delete
897 Bytes
import gradio as gr
import base64
import io
from PIL import Image
import spaces
@spaces.GPU
def base64_to_image(base64_str):
print("Base to image")
image_data = base64.b64decode(base64_str)
image = Image.open(io.BytesIO(image_data))
return image
@spaces.GPU
def image_to_base64(image):
print("Image to base")
buffered = io.BytesIO()
image.save(buffered, format="PNG")
return base64.b64encode(buffered.getvalue()).decode("utf-8")
@spaces.GPU
def convert_to_grayscale(base64_str):
image = base64_to_image(base64_str)
grayscale_image = image.convert("L")
return {
"grayscale_image": image_to_base64(grayscale_image),
"Normal": image_to_base64(grayscale_image)
}
iface = gr.Interface(
fn=convert_to_grayscale,
inputs=gr.Textbox(label="Base64 Image"),
outputs=gr.JSON(label="Base64 Grayscale Image"),
)
iface.launch()