import requests import pyrebase import urllib from retinaface import RetinaFace from deepface import DeepFace from fastapi import FastAPI from dotenv import load_dotenv app = FastAPI() load_dotenv() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/verify/") def verify_image(url1): firebaseConfig = 'KEYS' firebase = pyrebase.initialize_app(firebaseConfig) storage = firebase.storage() path = "Faces/" files = storage.bucket.list_blobs(prefix=path) flag = False # url1 = "https://api.time.com/wp-content/uploads/2023/04/shah-rukh-khan-time100-2023-1.jpg" for file in files: if (file.name.endswith(".jpg") or file.name.endswith(".jpeg")) : # print(file.name) url = storage.child(f"{file.name}").get_url(None) # print(url) with requests.get(url) as response: result = DeepFace.verify(f"{url1}",url, model_name="Facenet", distance_metric='cosine') if result['verified']: flag = True start_index = file.name.rfind('/') end_index = file.name.rfind('$') if start_index != -1 and end_index != -1: name = file.name[start_index + 1:end_index] return {"username": name} break if flag == False: print("Not Verified") return {"username": "Not Found"}