Spaces:
Sleeping
Sleeping
from fastapi import FastAPI, UploadFile, File | |
from fastapi.middleware.cors import CORSMiddleware | |
import google.generativeai as genai | |
from PIL import Image | |
import io | |
import os | |
from dotenv import load_dotenv | |
load_dotenv() | |
app = FastAPI(title="Simple Image Description API") | |
origins = ["*"] | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=origins, | |
allow_credentials=True, | |
allow_methods=["*"], | |
allow_headers=["*"], | |
) | |
genai.configure(api_key=os.getenv("GOOGLE_GEMINI_API_KEY")) | |
model = genai.GenerativeModel('gemini-1.5-flash') | |
async def describe_image(imageInputByUser: UploadFile = File(...)): | |
try: | |
image_content = await imageInputByUser.read() | |
img = Image.open(io.BytesIO(image_content)) | |
response = model.generate_content(["Please provide a short description of this image", img]) | |
return { | |
'success': True, | |
'message': response.text | |
} | |
except Exception as e: | |
return { | |
'success': False, | |
'message': str(e) | |
} | |