{"data":{"slug":"aiptimizer-turboocr","name":"TurboOCR","tagline":"Fast GPU OCR server. 270 img/s on FUNSD. TensorRT FP16, PP-OCRv5, HTTP + gRPC.","github_url":"https://github.com/aiptimizer/TurboOCR","owner":"aiptimizer","repo":"TurboOCR","owner_avatar_url":"https://avatars.githubusercontent.com/u/274521723?v=4","primary_language":"C++","stars":382,"forks":50,"topics":["document-ai","document-parsing","easyocr","fastapi","fp16","gpu-ocr","grpc","inference-server","nvidia","ocr","paddleocr","pdf-extraction","qwen-vl","rag","tensorrt","text-detection","text-recognition"],"archived":false,"github_pushed_at":"2026-07-08T01:11:03+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/aiptimizer-turboocr","markdown_url":"https://www.graphcanon.com/tools/aiptimizer-turboocr.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/aiptimizer-turboocr","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=aiptimizer-turboocr","description":"Fast GPU OCR server. 270 img/s on FUNSD. TensorRT FP16, PP-OCRv5, HTTP + gRPC.","homepage_url":"https://turboocr.com","license":"MIT","open_issues":2,"watchers":6,"ai_summary":null,"readme_excerpt":"## Quick Start\n\n**Requirements:** Linux, NVIDIA driver 595+, Turing or newer GPU (RTX 20-series / GTX 16-series+). Plan for ~4 GB VRAM text-only and ~8 GB for the full pipeline (layout + tables + formulas); each extra `PIPELINE_POOL_SIZE` replica adds roughly another full set, so lower it on smaller cards.\n\n```bash\ndocker run --gpus all -p 8000:8000 -p 50051:50051 \\\n  -v trt-cache:/home/ocr/.cache/turbo-ocr \\\n  ghcr.io/aiptimizer/turboocr:latest\n```\n\nFirst startup builds TensorRT engines from ONNX. This takes about 90 seconds on a\n5090 GPU and up to an hour on older ones. Set `TRT_OPT_LEVEL=3` to cut build time\n3 to 5x with a small speed regression. The named volume caches the engines, so\nsubsequent starts are instant. During the build, requests return a connection\nrefused error from nginx until the backend is ready. nginx (port 8000)\nreverse-proxies to Drogon (port 8080), and both start automatically.\n\n```bash\ncurl -X POST http://localhost:8000/ocr/raw \\\n  --data-binary @document.png -H \"Content-Type: image/png\"\n```\n\n```json\n{\"results\": [{\"text\": \"Invoice Total\", \"confidence\": 0.97, \"bounding_box\": [[42,10],[210,10],[210,38],[42,38]]}]}\n```\n\n---\n\n# Docker (recommended)\ndocker build -f docker/Dockerfile.gpu -t turboocr .\ndocker run --gpus all -p 8000:8000 -p 50051:50051 \\\n  -v trt-cache:/home/ocr/.cache/turbo-ocr turboocr\n\n---\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n\n<p align=\"center\">\n  <a href=\"https://github.com/aiptimizer/TurboOCR\"><strong>⭐ Star TurboOCR on GitHub</strong></a><br>\n  <sub>Sponsored by <a href=\"https://miruiq.com\"><strong>Miruiq</strong></a> — AI-powered data extraction from PDFs and documents — and <a href=\"https://diaiq.com\"><strong>DiaIQ</strong></a>.</sub>\n</p>","github_created_at":"2026-03-20T10:42:34+00:00","created_at":"2026-07-15T11:19:31.508532+00:00","updated_at":"2026-07-15T11:19:35.676255+00:00","categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"}],"tags":[{"slug":"document-ai","name":"document-ai"},{"slug":"document-parsing","name":"document-parsing"},{"slug":"easyocr","name":"easyocr"},{"slug":"fastapi","name":"fastapi"},{"slug":"fp16","name":"fp16"},{"slug":"gpu-ocr","name":"gpu-ocr"},{"slug":"grpc","name":"grpc"},{"slug":"inference-server","name":"inference-server"}],"trust":{"provenance":{"is_fork":false,"github_id":1187099783,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-15T11:19:33.737Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":12,"days_since_push":7,"last_release_at":"2026-07-08T01:11:37Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-15T11:19:34.062Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-15T11:19:33.018Z"},"languages":{"value":["c++"],"source":"github.language","observed_at":"2026-07-15T11:19:33.018Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-15T11:19:33.018Z"}}}}