import gradio as gr import base64 from PIL import Image import io import json def process(json_input): try: data = json_input # no need to json.loads img_bytes = base64.b64decode(data["image_b64"]) img = Image.open(io.BytesIO(img_bytes)) response = { "received": True, "robot_id": data.get("robot_id", "unknown"), "image_size": img.size } return response except Exception as e: return {"error": str(e)} demo = gr.Interface( fn=process, inputs=gr.JSON(label="Input JSON from Jetson"), outputs=gr.JSON(label="Reply to Jetson"), ) demo.launch()