som11's picture
Upload 3 files
488d1e7 verified
raw
history blame
1.18 kB
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')
@app.post("/describe-image/")
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)
}