billsense-ocr (Passenger / Node) GET: this help POST /ocr (multipart field "file") + header X-BillSense-Ocr-Secret Single image or PDF buffer — sharp preprocess + tesseract.js. POST /ocr/pdf or /pdf (multipart field "file") + same header Multipage PDF; engine auto at ~200 DPI, max 20 pages. POST /ocr/jobs or /jobs — async job; poll GET /ocr/jobs/:id (or /jobs/:id). DELETE …/jobs/:id — after completed or failed. POST /ocr/pages or /pages (multipart field "files", repeated) — OCR pre-rasterized PNGs only. LANG=eng SECRET_SET=yes PREPROCESS=sharp (max 2600px)