
Comic OCR
https://github.com/obra/comic-ocr- Category
- AI Tools
- Rank
- No. 2080Tools index
Previous survey · No. 2088 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- obra
- GitHub
- 7 stars
- Date
About
OCR comic strips on macOS using Apple Vision, then clean up transcripts with Claude.
What it does
It turns folders of comic images into structured transcripts through two stages. A native Swift program recognizes text on the machine and writes JSON. A Python program then asks a Claude model to repair recognition errors, remove repeated metadata, normalize casing, and preserve dialogue structure.
Why it's ranked here
Comic OCR solves a narrow archival problem with an unusually transparent pipeline. Local text recognition keeps images off cloud OCR services, while incremental writes and raw-text fallbacks reduce damage from incomplete model responses. The cost is a tightly constrained setup: macOS, developer tools, Python, and Claude Code CLI are all required.
What's good
The recognizer accepts seven common image formats, sorts inputs naturally, uses accurate recognition with language correction, and records load or recognition errors per image. Cleanup runs concurrent batches, retries weak responses, matches results by filename, and preserves raw OCR whenever a cleaned result is unavailable.
Tradeoffs
The recognition stage only runs on macOS because it depends on Apple frameworks. Cleanup requires the external Claude Code CLI and sends transcript text to a Claude model. The pipeline is two commands rather than one packaged application, and model corrections can still infer the wrong wording from noisy source text.
How to use it well
Use it for converting a directory of comic-strip images into editable JSON, especially when repeated headers, credits, URLs, and capitalized dialogue pollute raw recognition. Inspect the cleaned transcript against uncertain panels and keep the raw output for comparison. It does not cover cross-platform OCR, graphical correction, or a hosted service interface.
Technical notes+
ocr.swift imports Foundation, Vision, and AppKit, filters png, gif, jpg, jpeg, webp, tiff, and bmp files, configures VNRecognizeTextRequest with accurate recognition and language correction, then serializes filename, text, and optional error fields. clean.py reads that JSON, encodes batches as TSV, invokes claude -p with Haiku and SYSTEM_PROMPT, and uses ThreadPoolExecutor with BATCH_SIZE = 50, PARALLEL = 4, and MAX_RETRIES = 2. parse_response associates returned lines by filename, while write_output rewrites available batches after each completion. README.md documents manual compilation and the two-stage command-line workflow; LICENSE contains the MIT terms.
Observed
- License
- MIT
- Languages
- Swift and Python
- Interface
- Two command-line programs connected through JSON files
- Platform
- macOS for recognition; Apple Vision and AppKit are required
- Install surface
- Source scripts with manual Swift compilation; no packaged installer is described
- Image formats
- PNG, GIF, JPG, JPEG, WebP, TIFF, and BMP
- External dependency
- Cleanup requires Python 3 and the Claude Code CLI
Read from README.md, clean.py, ocr.swift, LICENSE.
What it can do
Extract text from comic strips using OCR
Comic strip images → Raw text transcripts
Process comic strip images with Apple Vision
Comic strip images on macOS → Digitized text content
Clean up and improve OCR transcripts
Raw OCR text transcripts → Cleaned and corrected text transcripts
Enhance text accuracy using Claude AI
Imperfect OCR text output → Refined and error-corrected text
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.