--- title: Handwriting OCR Backend emoji: ✍️ colorFrom: blue colorTo: indigo sdk: docker app_port: 7860 pinned: false --- # Handwriting OCR Backend FastAPI backend that turns handwritten images into text using `microsoft/trocr-base-handwritten`. Multi-line pages are split into lines and recognized line-by-line. ## Endpoints | Method | Path | Description | | ------ | --------- | -------------------------------------------- | | GET | `/` | Service info | | GET | `/health` | Liveness check + device | | POST | `/ocr` | Upload an image, get recognized text (JSON) | | GET | `/docs` | Interactive Swagger UI (test uploads here) | ### `POST /ocr` Send `multipart/form-data` with a `file` field containing an image. ```json { "text": "This is a handwritten\nexample\nWrite as good as you can.", "lines": ["This is a handwritten", "example", "Write as good as you can."], "line_count": 3, "model": "microsoft/trocr-base-handwritten", "device": "cpu", "latency_seconds": 3.8 } ``` > Tip: clear handwriting and good lighting give the best results. The page is > segmented into lines automatically, so multi-line notes work too. ## Run locally with Docker ```bash docker build -t handwriting-ocr-backend . docker run -p 7860:7860 handwriting-ocr-backend # then open http://localhost:7860/docs ```