| | import google.generativeai as genai |
| | import gradio as gr |
| | from PIL import Image |
| | import os |
| |
|
| | |
| | GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") |
| |
|
| | def generate_poem(image, prompt, language): |
| | """Generate a poem based on the image and prompt, optimized for speed.""" |
| | if not language: |
| | return "Please select a language." |
| |
|
| | model = genai.GenerativeModel("gemini-1.5-flash") |
| |
|
| | |
| | img = image.convert("RGB") |
| | img = img.resize((256, 256)) |
| |
|
| | |
| | full_prompt = f"Generate a short poem in {language} based on this image and theme: {prompt}." |
| |
|
| | |
| | response = model.generate_content([img, full_prompt]) |
| | output_text = response.text |
| |
|
| | return output_text |
| |
|
| | |
| | iface = gr.Interface( |
| | fn=generate_poem, |
| | inputs=[ |
| | gr.Image(type="pil"), |
| | gr.Textbox(label="Enter a theme for the poem (in English)"), |
| | gr.Dropdown( |
| | ["Hindi", "Tamil", "Telugu", "Malayalam", "Kannada", "Marathi", "Bengali"], |
| | label="Select Output Language" |
| | ) |
| | ], |
| | outputs="text", |
| | title="Multilingual Image Poetry Generator", |
| | description="Upload an image, enter a theme in English, and get a poem in your chosen regional language." |
| | ) |
| |
|
| | |
| | if __name__ == "__main__": |
| | iface.launch() |
| |
|