import os import gradio as gr import requests import json import io from gradio.components import Image from PIL import Image as PILImage, ImageDraw, ImageFont # This import may be needed if you're processing images from PIL import Image def process_image(image): # Convert PIL image to bytes to send in POST request img_bytes = io.BytesIO() image.save(img_bytes, format="JPEG") img_bytes.seek(0) url = "http://127.0.0.1:9000/deepfake_image" files = {'image': img_bytes} result = requests.post(url=url, files=files) if result.ok: json_result = result.json() if json_result.get("resultCode") == "Error": return {"resultCode": "Error", "result": "Failed to process image"} status = json_result.get("result").get("status") confidence = json_result.get("result").get("confidence") prediction = json_result.get("result").get("prediction") similarity = json_result.get("result").get("similarity") media_type = json_result.get("result").get("media_type") if status == "Not AI Generated": status_html = f'{status}' confidence_html = f'{confidence} %' else: status_html = f'{status}' confidence_html = f'{confidence} %' html = ("
| Evaluation Field | " "Value | " "
|---|---|
| Result | " "{status_html} | " "
| Confidence | " "{confidence_html} | " "
| Similarity | " "{similarity} % matches to known AI images | " "
| Media Type | " "{media_type} | " "