import gradio as gr, requests, os, io; from PIL import Image; TOKEN=os.environ.get("HF_TOKEN"); HEADERS={"Authorization": f"Bearer {TOKEN}"} if TOKEN else {}; API="https://api-inference.huggingface.co/models/umm-maybe/AI-image-detector"; exec('def detect(img):\n if img is None:\n return "Upload image",""\n b=io.BytesIO()\n img.save(b,format="JPEG")\n d=b.getvalue()\n try:\n r=requests.post(API,headers=HEADERS,data=d,timeout=40)\n j=r.json()\n if isinstance(j,dict) and "error" in j:\n return "Model loading, wait 20 sec",str(j["error"])\n top=max(j,key=lambda x:x["score"])\n label=top["label"]\n score=top["score"]*100\n if label.lower()=="fake":\n return f"FAKE {score:.1f}%",f"{label} {score:.1f}% - AI Generated"\n else:\n return f"REAL {score:.1f}%",f"{label} {score:.1f}% - Real Photo"\n except Exception as e:\n return "Error, retry",str(e)\n'); exec('with gr.Blocks() as demo:\n gr.Markdown("# Real vs Fake Detector - REAL AI MODEL")\n inp=gr.Image(type="pil",label="Upload Photo")\n out1=gr.Textbox(label="Result")\n out2=gr.Textbox(label="Details")\n btn=gr.Button("Detect",variant="primary")\n btn.click(detect,inputs=inp,outputs=[out1,out2])\n demo.launch()\n')