OCR Service Pricing — Internal Document

CONFIDENTIAL — Do not share with client


Team

Role Person
Business & client relations Justin
Developer Darren
Developer Sean

Tech Stack Options & Cost Matrix

OCR Layer

Option Type Cost Notes
Chandra (datalab.to) Hosted API ~$0.005/page (est.) Best accuracy, proprietary improvements over open-source. $5 free credits on signup. Exact pricing behind login
Chandra (self-hosted) Self-hosted GPU server cost only Open-source weights from HuggingFace. Needs GPU (L40S or similar)
PaddleOCR-VL (WaveSpeed) Hosted API $0.005/page (~RM 0.022) Confirmed pricing. 0.9B model, 109 languages, JSON/Markdown output
PaddleOCR (self-hosted) Self-hosted CPU server cost only Can run on CPU — no GPU needed. Lighter model, lower accuracy

NLP Layer (via OpenRouter)

Budget picks (best value for structured extraction):

Model Input $/1M Output $/1M Context Est. cost/page Notes
Gemini 2.0 Flash $0.10 $0.40 1M ~$0.0003 Proven, fast, huge context
Gemini 2.0 Flash Lite $0.075 $0.30 1M ~$0.0002 Even cheaper, slightly less capable
Gemini 2.5 Flash Lite $0.10 $0.40 1M ~$0.0003 Newer, same price as 2.0 Flash
Qwen3.5 Flash $0.065 $0.26 1M ~$0.0002 Cheapest non-free option
Qwen3.6 Plus Preview FREE FREE 1M $0 Free while in preview — use it while it lasts
MiniMax M2.5 (free) FREE FREE 196k $0 Free tier available
DeepSeek V3.1 $0.15 $0.75 32k ~$0.0005 Good reasoning, smaller context
DeepSeek V3.2 $0.26 $0.38 163k ~$0.0004 Very cheap output

Mid-range (if we need better reasoning):

Model Input $/1M Output $/1M Context Est. cost/page Notes
Qwen3 32B $0.08 $0.24 40k ~$0.0002 Good balance
Kimi K2 0905 $0.40 $2.00 131k ~$0.001 Strong reasoning
Gemini 2.5 Flash $0.30 $2.50 1M ~$0.002 Best Gemini thinking model
MiniMax M2.5 $0.18 $1.10 196k ~$0.0007 Good value mid-range

NLP cost/page estimate assumes: ~500 input tokens (OCR text from one page) + ~200 output tokens (structured JSON). Actual varies by document complexity.

Infrastructure

Option Specs Monthly (EUR) Monthly (RM) Use case
Hetzner AX42 Ryzen 7 PRO 8700GE, 64GB DDR5, 2×512GB NVMe €46 ~RM 220 App server, PaddleOCR on CPU
Hetzner AX52 Ryzen 7 7700, 64GB DDR5, 2×1TB NVMe €59 ~RM 280 Better app server, heavier OCR on CPU
Hetzner AX102 Ryzen 9 7950X3D, 128GB DDR5, 2×1.92TB NVMe €104 ~RM 500 High-throughput CPU OCR
Hetzner GEX44 i5-13500 + RTX 4000 SFF 20GB, 64GB DDR4, 2×1.92TB NVMe €212 ~RM 1,010 GPU for Chandra self-hosted
Minimal VPS Any small cloud VM (app server only, OCR via API) ~€5-10 ~RM 25-50 If using hosted OCR APIs only

Stack Combinations & Cost Per Page

All-API stacks (no server for OCR)

# OCR NLP Infra Cost/page Monthly cost @10k pages Monthly cost @30k pages
A1 PaddleOCR (WaveSpeed) Gemini 2.0 Flash Minimal VPS RM 0.024 RM 290 RM 770
A2 PaddleOCR (WaveSpeed) Qwen3.5 Flash Minimal VPS RM 0.023 RM 280 RM 740
A3 PaddleOCR (WaveSpeed) Qwen3.6 Plus (FREE) Minimal VPS RM 0.022 RM 270 RM 710
A4 PaddleOCR (WaveSpeed) MiniMax M2.5 (FREE) Minimal VPS RM 0.022 RM 270 RM 710
A5 Chandra (hosted) Gemini 2.0 Flash Minimal VPS ~RM 0.024 ~RM 290 ~RM 770
A6 Chandra (hosted) Qwen3.6 Plus (FREE) Minimal VPS ~RM 0.022 ~RM 270 ~RM 710

A3/A4/A6 are the cheapest possible stacks — free NLP + cheap OCR API. Cost is almost entirely the OCR API call.

Hybrid stacks (self-hosted OCR + API NLP)

# OCR NLP Infra Cost/page @10k/mo Cost/page @30k/mo Monthly cost @10k Monthly cost @30k
B1 PaddleOCR (self-hosted CPU) Gemini 2.0 Flash AX42 (RM 220) RM 0.023 RM 0.008 RM 230 RM 230
B2 PaddleOCR (self-hosted CPU) Qwen3.6 Plus (FREE) AX42 (RM 220) RM 0.022 RM 0.007 RM 220 RM 220
B3 Chandra (self-hosted GPU) Gemini 2.0 Flash GEX44 (RM 1,010) RM 0.101 RM 0.034 RM 1,013 RM 1,019
B4 Chandra (self-hosted GPU) Qwen3.6 Plus (FREE) GEX44 (RM 1,010) RM 0.101 RM 0.034 RM 1,010 RM 1,010

B1/B2 are the sweet spot for scale. Fixed server cost means per-page cost drops as volume increases. At 30k pages/mo, self-hosted PaddleOCR is 3× cheaper than API.

Fully self-hosted (maximum control)

# OCR NLP Infra Monthly cost Notes
C1 PaddleOCR (CPU) Local Qwen3 32B AX102 (RM 500) RM 500 flat Zero variable cost. Needs testing if AX102 can handle both
C2 Chandra (GPU) Local model on same GPU GEX44 (RM 1,010) RM 1,010 flat Zero variable cost. GPU shared between OCR and NLP

C1/C2 have zero marginal cost per page — pure fixed cost. Best margins at high volume but requires ops effort and testing.


Recommended Stacks by Scenario

Scenario Recommended Why Cost/page
Start / MVP / pilot A3 (PaddleOCR API + free Qwen3.6) Zero infra, lowest risk, instant start RM 0.022
Production (low volume <10k/mo) A1 (PaddleOCR API + Gemini 2.0 Flash) Reliable, proven, still cheap RM 0.024
Production (high volume 20k+/mo) B1 (PaddleOCR self-hosted + Gemini Flash) Fixed server cost amortizes, cheapest at scale RM 0.008
Best accuracy needed A5 or B3 (Chandra + Gemini) Chandra has best OCR accuracy for complex docs RM 0.024–0.034
Maximum margin C1 (fully self-hosted) Zero variable cost, RM 500/mo flat RM 0.017 @30k

Client Pricing (what HHH sees)

Subscription Tiers (Annual)

Starter Growth Enterprise
Pages/year 50,000 150,000 350,000
Client pays/page RM 0.20 RM 0.15 RM 0.11
Annual sub RM 10,000 RM 22,500 RM 38,500

Credit Packs (expiring)

Credits Client rate Our cost (stack A1) Margin/page Validity
5,000 RM 0.28 RM 0.024 RM 0.256 (91%) 14 days
10,000 RM 0.22 RM 0.024 RM 0.196 (89%) 30 days
25,000 RM 0.18 RM 0.024 RM 0.156 (87%) 60 days
50,000 RM 0.15 RM 0.024 RM 0.126 (84%) 90 days

Setup & Service Fees

Fee Amount Our actual cost Notes
One-time setup RM 12,000 ~RM 0 (our time) Pure profit — system is fast to build
Annual service RM 6,000 ~RM 0 (minimal effort) Monitoring + occasional calls

Profit Matrix — All Combinations

Variables

1-Year Deals

Tier Stack Revenue (sub + setup + service) + Credits (med) Our cost/yr Profit (no credits) Profit (med credits) Per person
Starter A1 RM 28,000 +RM 8,000 RM 3,250 RM 24,750 RM 32,550 RM 8,250–10,850
Starter B1 RM 28,000 +RM 8,000 RM 3,040 RM 24,960 RM 32,760 RM 8,320–10,920
Starter C1 RM 28,000 +RM 8,000 RM 6,000 RM 22,000 RM 29,800 RM 7,330–9,930
Growth A1 RM 40,500 +RM 8,000 RM 6,150 RM 34,350 RM 42,150 RM 11,450–14,050
Growth B1 RM 40,500 +RM 8,000 RM 3,040 RM 37,460 RM 45,260 RM 12,490–15,090
Growth C1 RM 40,500 +RM 8,000 RM 6,000 RM 34,500 RM 42,300 RM 11,500–14,100
Enterprise A1 RM 56,500 +RM 8,000 RM 11,150 RM 45,350 RM 53,150 RM 15,120–17,720
Enterprise B1 RM 56,500 +RM 8,000 RM 3,040 RM 53,460 RM 61,260 RM 17,820–20,420
Enterprise C1 RM 56,500 +RM 8,000 RM 6,000 RM 50,500 RM 58,300 RM 16,830–19,430

2-Year Deals (10% off subscription)

Tier Stack Revenue (sub + setup + service) + Credits (med) Our cost/2yr Profit (no credits) Profit (med credits) Per person
Starter A1 RM 42,000 +RM 16,000 RM 6,100 RM 35,900 RM 51,700 RM 11,970–17,230
Starter B1 RM 42,000 +RM 16,000 RM 5,680 RM 36,320 RM 52,120 RM 12,110–17,370
Growth A1 RM 64,500 +RM 16,000 RM 11,900 RM 52,600 RM 68,400 RM 17,530–22,800
Growth B1 RM 64,500 +RM 16,000 RM 5,680 RM 58,820 RM 74,620 RM 19,610–24,870
Growth C1 RM 64,500 +RM 16,000 RM 12,000 RM 52,500 RM 68,300 RM 17,500–22,770
Enterprise A1 RM 93,300 +RM 16,000 RM 21,900 RM 71,400 RM 87,200 RM 23,800–29,070
Enterprise B1 RM 93,300 +RM 16,000 RM 5,680 RM 87,620 RM 103,420 RM 29,210–34,470
Enterprise C1 RM 93,300 +RM 16,000 RM 12,000 RM 81,300 RM 97,100 RM 27,100–32,370

RM 25k/person Target — Where It Hits

Combination Per person (with medium credits) Hits RM 25k?
2yr Growth + B1 stack RM 24,870 ~Yes
2yr Enterprise + A1 stack RM 29,070 Yes
2yr Enterprise + B1 stack RM 34,470 Yes
2yr Enterprise + C1 stack RM 32,370 Yes
1yr Enterprise + B1 + 2nd year renewal RM 20,420 × 2 = RM 40k+ Yes

Best path: Close HHH on 2-year Growth or Enterprise with B1 stack (self-hosted PaddleOCR + Gemini Flash on Hetzner AX42). Lowest operating cost, highest margin.


CR Digital Comparison

Volume CR Digital Us HHH saves
50k pages RM 16,000 (incl RM 6k license) RM 10,000 37% cheaper
150k pages RM 28,500 RM 22,500 21% cheaper
350k pages RM 58,500 RM 38,500 34% cheaper

Our advantages:

Their advantages (prepare for objections):


Negotiation Playbook

HHH says We respond
"CR Digital is cheaper" They're not — show the license fee and support costs they hide
"Can you lower the per-page rate?" Offer 2-year commitment for 10% off instead
"We need a trial first" Offer 1-month pilot at Starter rate (RM 833) — low risk for them, proves our accuracy
"Setup fee is too much" Waive it for 2-year Enterprise commitment
"We only need 50k pages" Start on Starter — when they exceed, credits kick in and push them to Growth
"We'll think about it" Remind them every month of manual entry = staff cost + errors

Notes