Document AI Charged You $0.065 Per Page — Across 3 Million Pages
An accounting firm automated their tax season workflow with Google Vertex AI’s Document AI and Gemini. Clients uploaded scanned receipts, W-2s, and financial statements; the AI extracted data points and populated tax forms. During a single tax season, they processed 3.2 million pages. Google’s Document AI charges $0.065 per page for form parsing, plus Gemini Pro costs for intelligent extraction and classification. The total AI bill for one tax season: $208,000 for Document AI alone, plus $34,000 in Gemini inference costs. The firm had quoted their AI-assisted tax prep service based on an estimate of $50,000. The margin on their flagship product went negative.
Document intelligence at scale cannot survive per-page pricing. A dedicated GPU processes unlimited pages at a fixed monthly rate — whether it’s 10,000 or 10 million. Here’s the migration guide from Google Vertex.
Decomposing the Vertex Document Intelligence Stack
| Capability | Google Vertex Service | Self-Hosted Alternative |
|---|---|---|
| OCR | Document AI OCR | PaddleOCR / Tesseract / docTR |
| Layout detection | Document AI Layout Parser | LayoutLMv3 / YOLO-based detectors |
| Form extraction | Document AI Form Parser | LLM with structured output |
| Table extraction | Document AI (built-in) | Table Transformer + LLM |
| Classification | Gemini Pro | Llama 3.1 8B (fine-tuned) |
| Intelligent extraction | Gemini Pro | Llama 3.1 70B + constrained decoding |
| Summarisation | Gemini Pro | Qwen 2.5 72B |
The key insight: Google’s Document AI bundles OCR, layout analysis, and extraction into a single per-page charge. Self-hosting lets you choose the best tool for each stage — and many stages (OCR on digital PDFs, for instance) don’t need AI at all.
Migration Walkthrough
Step 1: Categorise your documents. Not all documents need the same processing. Digital PDFs need no OCR — direct text extraction is free and instant. Scanned documents need OCR. Complex forms need layout analysis. Simple invoices with consistent formats might only need regex + basic parsing. Map each document type to the minimum processing required.
Step 2: Set up your processing server. Provision an RTX 6000 Pro 96 GB from GigaGPU. The GPU handles the LLM extraction and any GPU-accelerated OCR, while the CPU handles text extraction from digital PDFs.
Step 3: Build the OCR layer. For scanned documents, deploy PaddleOCR (GPU-accelerated, supports 80+ languages) or docTR. These open-source tools match or exceed Document AI’s OCR quality for most document types:
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_gpu=True, lang='en')
result = ocr.ocr(image_path)
Step 4: Deploy the extraction LLM. Use vLLM with constrained decoding to guarantee structured JSON output. This is a significant improvement over Google’s Gemini, which can produce malformed JSON:
response = client.chat.completions.create(
model="llama-70b",
messages=[{
"role": "system",
"content": "Extract invoice fields as JSON: {vendor, date, total, line_items: [{description, quantity, amount}]}"
}, {"role": "user", "content": ocr_text}],
extra_body={"guided_json": invoice_schema}
)
Step 5: Validate extraction accuracy. Process 2,000 documents from your historical data through both pipelines. Compare field-level accuracy, paying special attention to monetary values, dates, and entity names — the fields that matter most for downstream business logic.
Optimising for Document Processing Throughput
Document intelligence workloads are batch-oriented, so maximise GPU utilisation:
- Pipeline parallelism: While the LLM extracts data from document N, the OCR processes document N+1. This keeps both GPU stages busy continuously.
- Smart batching: Group similar documents (all invoices together, all contracts together) to share system prompts and extraction schemas.
- Skip unnecessary stages: Digital PDFs skip OCR. Consistent-format invoices might skip the LLM entirely and use template-based extraction.
For teams wanting a simpler setup, Ollama combined with a lightweight OCR library provides a production-ready document processing pipeline with minimal configuration.
Cost Comparison
| Monthly Volume | Google Vertex (Doc AI + Gemini) | GigaGPU Self-Hosted | Annual Savings |
|---|---|---|---|
| 10K pages | ~$1,300 | ~$1,800 | -$6,000 (breakeven at ~15K) |
| 50K pages | ~$5,500 | ~$1,800 | $44,400 |
| 200K pages | ~$20,000 | ~$1,800 | $218,400 |
| 1M+ pages | ~$95,000 | ~$3,600 (2x RTX 6000 Pro) | $1,096,800 |
At serious document volumes, the savings are extraordinary. Model your specific case at GPU vs API cost comparison.
Process Every Page Without Counting
Per-page pricing forces you to choose which documents deserve AI processing and which don’t. Self-hosting eliminates that trade-off. Process everything. Classify everything. Extract from everything. When the marginal cost is zero, your document intelligence covers your entire operation, not just the pages you’ve budgeted for.
Related guides: Vertex translation migration, Anthropic document analysis migration, and our self-hosting guide. For cost planning, use the LLM cost calculator and read the breakeven analysis. Explore private AI hosting for sensitive documents, and browse our tutorials section for more migration paths.
Unlimited Document Processing, Fixed Price
Extract, classify, and summarise millions of pages at a flat monthly rate. GigaGPU dedicated GPUs power your entire document intelligence pipeline without per-page charges.
Browse GPU ServersFiled under: Tutorials