Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import base64 | |
| from PIL import Image | |
| import io | |
| import json | |
| # The input will now be a raw text string representing the JSON data | |
| def process(json_text_input): | |
| try: | |
| # Manually parse the incoming text string into a Python dictionary | |
| data = json.loads(json_text_input) | |
| 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 as a JSON dictionary which Gradio handles | |
| return {"error": str(e)} | |
| demo = gr.Interface( | |
| fn=process, | |
| # Change input type to Textbox | |
| inputs=gr.Textbox(label="Input JSON as Plain Text"), | |
| outputs=gr.JSON(label="Reply to Jetson"), | |
| ) | |
| demo.launch() | |