--- tags: - document-understanding - endpoints-template library_name: generic --- # Deploy a Space as inference Endpoint _This is a fork of the [naver-clova-ix/donut-base-finetuned-cord-v2](https://huggingface.co/spaces/naver-clova-ix/donut-base-finetuned-cord-v2) Space. This repository implements a custom container for 🤗 Inference Endpoints using a Gradio space. To deploy this model as an Inference Endpoint, you have to select Custom as task and a custom image. * CPU image: `philschmi/gradio-api:cpu` * GPU image: `philschmi/gradio-api:gpu` * PORT: `7860` * ~Health Route: `/`~-> is default Also make sure to add `server_name="0.0.0.0"` in your `launch()` call to make sure the request is correct proxied. If you want to use the UI with the Inference Endpoint, you have to select as endpoint type `public` and add [auth through gradio](https://gradio.app/docs/#launch-header) ### Example API Request Payload Get an image you want to use, e.g. ```bash !wget https://datasets-server.huggingface.co/assets/naver-clova-ix/cord-v2/--/naver-clova-ix--cord-v2/train/0/image/image.jpg ``` run inference ```python import requests as r import base64 ENDPOINT_URL = "" HF_TOKEN = "" def predict(path_to_image: str = None): ext = path_to_image.split('.')[-1] prefix = f'data:image/{ext};base64,' with open(path_to_image, 'rb') as f: img = f.read() payload = {"data": [prefix + base64.b64encode(img).decode('utf-8')]} response = r.post( f"{ENDPOINT_URL}/api/predict", headers={"Authorization": f"Bearer {HF_TOKEN}"}, json=payload ) if response.status_code == 200: return response.json() else: raise Exception(f"Error: {response.status_code}") prediction = predict(path_to_image="image.jpg") ```