shawn 70d8374ca6 feat: batch LLM OCR — multiple images in one API call + downscaling
- Add run_ocr_llm_batch() — sends N images in a single vision API call
  with structured JSON prompt, up to 20 images per batch
- Add _resize_for_llm() — downscales images to 1600px max dimension
  before sending to LLM, reducing per-image token cost
- Update bulk_process() to pre-read all files and batch-OCR in one call
- Graceful fallback: if batch JSON parsing fails, retries individually
- Frontend shows llm_batch engine badge

Without batch: N photos = N API calls (each with full prompt overhead)
With batch: N photos = ceil(N/20) API calls + image downscaling savings
2026-05-25 17:26:10 -04:00
S
Description
EXIF GPS scanner test rig — multi-photo gallery with client/server EXIF comparison and OCR
19 MiB
Languages
HTML 65.6%
Python 31%
Shell 2.7%
JavaScript 0.7%