Anisha0401's picture
Create app.py
4e4915f verified
import gradio as gr
import google.generativeai as genai
import base64
from io import BytesIO
from PIL import Image
# Set up Google GenAI API Key (Replace with your actual API key)
genai.configure(api_key="AIzaSyD1zUY1srmMIYmE_6NfjmIzb6yYpbcIDCk")
def image_to_tamil_poem(image):
"""Generates a Tamil poem about an upload image using Gemini 1.5 Pro"""
try:
# Convert image to bytes
buffered = BytesIO()
image.save(buffered, format="PNG")
img_bytes = buffered.getvalue()
# Convert image to Base64 for Gemini API
image_b64 = base64.b64encode(img_bytes).decode('utf-8')
prompt = "Describe this image in one sentence."
# Use Gemini 1.5 Pro for image analysis
model = genai.GenerativeModel("gemini-1.5-pro")
response = model.generate_content([{"mime_type": "image/png", "data": image_b64}, prompt])
description = response.text if response else "No description available."
# Generate Tamil poem based on the description
response_poem = model.generate_content(f"Based on this image description: {description}, write a short poem in Tamil.")
tamil_poem = response_poem.text if response_poem else "கவிதை உருவாக்கப்படவில்லை."
return tamil_poem
except Exception as e:
return f"⚠️ Error: {str(e)}"
# Define Gradio Interface
interface = gr.Interface(
fn=image_to_tamil_poem,
inputs=gr.Image(type="pil"),
outputs=gr.Textbox(label="Generated Tamil Poem"),
title="AI-Powered Tamil Poem Generator (Using Gemini AI)",
description="Upload an image, and AI will generate a short Tamil poem based on it."
)
if __name__ == "__main__":
interface.launch()