Revrse commited on
Commit
9b618ee
·
verified ·
1 Parent(s): 06544d2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -9
app.py CHANGED
@@ -12,26 +12,33 @@ class ObjectDetector:
12
  self.api_url = "https://api-inference.huggingface.co/models/facebook/detr-resnet-50"
13
 
14
  def detect(self, image, hf_token=None):
 
 
15
  # Try multiple ways to get HF token
16
  token = hf_token or os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_HUB_TOKEN")
17
-
18
  if not token:
19
  raise Exception("HF Token required. Please set HF_TOKEN in Space secrets or environment variables")
20
-
21
- headers = {"Authorization": f"Bearer {token}"}
22
-
23
- # Convert PIL image to bytes
 
 
 
24
  img_buffer = io.BytesIO()
25
  image.save(img_buffer, format='JPEG')
26
  img_bytes = img_buffer.getvalue()
27
-
28
- response = requests.post(self.api_url, headers=headers, data=img_bytes)
29
-
 
 
30
  if response.status_code != 200:
31
  raise Exception(f"Object detection API error: {response.status_code} - {response.text}")
32
-
33
  return response.json()
34
 
 
35
  object_detector = ObjectDetector()
36
 
37
  # COCO class names for object detection
 
12
  self.api_url = "https://api-inference.huggingface.co/models/facebook/detr-resnet-50"
13
 
14
  def detect(self, image, hf_token=None):
15
+ import base64
16
+
17
  # Try multiple ways to get HF token
18
  token = hf_token or os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_HUB_TOKEN")
 
19
  if not token:
20
  raise Exception("HF Token required. Please set HF_TOKEN in Space secrets or environment variables")
21
+
22
+ headers = {
23
+ "Authorization": f"Bearer {token}",
24
+ "Content-Type": "application/json"
25
+ }
26
+
27
+ # Convert PIL image to base64 string
28
  img_buffer = io.BytesIO()
29
  image.save(img_buffer, format='JPEG')
30
  img_bytes = img_buffer.getvalue()
31
+ img_base64 = base64.b64encode(img_bytes).decode("utf-8")
32
+
33
+ # Send JSON payload with base64 image
34
+ response = requests.post(self.api_url, headers=headers, json={"inputs": img_base64})
35
+
36
  if response.status_code != 200:
37
  raise Exception(f"Object detection API error: {response.status_code} - {response.text}")
38
+
39
  return response.json()
40
 
41
+
42
  object_detector = ObjectDetector()
43
 
44
  # COCO class names for object detection