import gradio as gr from PIL import Image import os # 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) # Ambil nama file asli tanpa ekstensi base_name = os.path.splitext(os.path.basename(image))[0] # Nama file keluaran dengan awalan yang diinginkan output_file = f"flowly_ai_image_converter_{base_name}.{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="filepath"), 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()