optimizer / app.py
gdo's picture
Create app.py
aed943a verified
raw
history blame contribute delete
856 Bytes
import gradio as gr
from PIL import Image
import io
def optimize_image(image, quality=85):
"""
Compresses and optimizes an uploaded image for web use.
"""
# Convert to RGB to avoid issues with PNG transparency
image = image.convert("RGB")
# Save optimized image to buffer
buffer = io.BytesIO()
image.save(buffer, format="JPEG", quality=quality, optimize=True)
buffer.seek(0)
return Image.open(buffer)
# Gradio Interface
demo = gr.Interface(
fn=optimize_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=10, maximum=100, value=85, label="Quality")
],
outputs=gr.Image(type="pil", label="Optimized Image"),
title="AI-Powered Image Optimizer",
description="Upload an image to compress and optimize it for better web performance.",
)
demo.launch()