Spaces:
Sleeping
Sleeping
| import os | |
| import gradio as gr | |
| from PIL import Image | |
| import google.generativeai as genai | |
| # Load API key from Hugging Face Spaces secret | |
| GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") | |
| if not GOOGLE_API_KEY: | |
| raise ValueError("GOOGLE_API_KEY environment variable not found. Please set it in Hugging Face Spaces.") | |
| # Configure Gemini | |
| genai.configure(api_key=GOOGLE_API_KEY) | |
| # Initialize the Gemini 1.5 Flash model | |
| model = genai.GenerativeModel(model_name="models/gemini-1.5-flash") | |
| def generate_caption(image): | |
| if image is None: | |
| return "Please upload an image." | |
| try: | |
| # Send image + prompt to Gemini | |
| response = model.generate_content([ | |
| "Describe this image in one concise, natural sentence.", | |
| image | |
| ]) | |
| return response.text.strip() | |
| except Exception as e: | |
| return f"Error: {str(e)}" | |
| # Gradio interface | |
| interface = gr.Interface( | |
| fn=generate_caption, | |
| inputs=gr.Image(type="pil"), | |
| outputs="text", | |
| title="🧠 Image Caption Generator", | |
| description="Upload an image to get a caption generated" | |
| ) | |
| # Corrected this line | |
| if __name__ == "__main__": | |
| interface.launch() | |