import gradio as gr from PIL import Image # Ambil daftar format gambar yang didukung oleh Pillow supported_formats = sorted(Image.SAVE.keys()) def convert_image(image, target_format): try: # Buka file gambar img = Image.open(image) # Nama file keluaran output_file = f"converted_image.{target_format.lower()}" # Simpan gambar dalam format yang dipilih img.save(output_file, format=target_format.upper()) return output_file except Exception as e: return f"Error: {e}" # Antarmuka Gradio interface = gr.Interface( fn=convert_image, inputs=[ gr.Image(label="Upload Image", type="file"), gr.Dropdown(label="Select Target Format", choices=supported_formats) ], outputs=gr.File(label="Converted Image"), title="Universal Image Format Converter", description="Upload an image and select any target format for conversion. Supports all formats recognized by Pillow." ) # Jalankan aplikasi if __name__ == "__main__": interface.launch()