readme: ---
  tags:
  - trocr
  - image-to-text
  - endpoints-template
  library_name: generic
  ---
  
  # Fork of [microsoft/trocr-base-printed](https://huggingface.co/microsoft/trocr-base-printed) for an `OCR` Inference endpoint.
  
  This repository implements a `custom` task for `ocr-detection` for 🤗 Inference Endpoints. The code for the customized pipeline is in the [pipeline.py](https://huggingface.co/philschmid/trocr-base-printed/blob/main/pipeline.py).
  
  To use deploy this model as an Inference Endpoint, you have to select `Custom` as the task to use the `pipeline.py` file. -> _double check if it is selected_
  
  ## Run Request 
  
  The endpoint expects the image to be served as `binary`. Below is an curl and python example
  
  #### cURL 
  
  1. get image 
  
  ```bash
  wget https://fki.tic.heia-fr.ch/static/img/a01-122-02-00.jpg -O test.jpg
  ```
  
  2. send cURL request
  
  ```bash
  curl --request POST \
    --url https://{ENDPOINT}/ \
    --header 'Content-Type: image/jpg' \
    --header 'Authorization: Bearer {HF_TOKEN}' \
    --data-binary '@test.jpg'
  ```
  
  3. the expected output
  
  ```json
  {"text": "INDLUS THE"}
  ```
  
  #### Python 
  
  
  1. get image 
  
  ```bash
  wget https://fki.tic.heia-fr.ch/static/img/a01-122-02-00.jpg -O test.jpg
  ```
  
  2. run request
  
  ```python
  import json
  from typing import List
  import requests as r
  import base64
  
  ENDPOINT_URL=""
  HF_TOKEN=""
  
  def predict(path_to_image:str=None):
      with open(path_to_image, "rb") as i:
        b = i.read()
      headers= {
          "Authorization": f"Bearer {HF_TOKEN}",
          "Content-Type": "image/jpeg" # content type of image
      }
      response = r.post(ENDPOINT_URL, headers=headers, data=b)
      return response.json()
  
  prediction = predict(path_to_image="test.jpg")
  
  prediction
  ```
  
  expected output
  
  ```python
  {"text": "INDLUS THE"}
  ```
  
  
  