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()