audio_palette / lib /image_captioning.py
manasch's picture
add sentiment analyser and refactor code
8a68e19 verified
raw
history blame
No virus
799 Bytes
import io
import os
import cv2
import PIL
import requests
class ImageCaptioning:
"""
Performing an API call to BLIP's huggingface inference API
"""
def __init__(self):
self.api_endpoint = os.environ["blip_api_url"]
self.org_token = os.environ["auth_token"]
self.headers = { "Authorization": f"Bearer {self.org_token}" }
self.session = requests.session()
def convert_to_bytes(self, image: PIL.Image.Image):
data = io.BytesIO()
image.save(data, format="PNG")
return data.getvalue()
def query(self, image: PIL.Image.Image):
response = self.session.post(
self.api_endpoint,
headers=self.headers,
data=self.convert_to_bytes(image)
)
return response.json()