Skip to content
FastVision 1.0 — self-hosted, GA

Read any document.
Speak any text.
On your hardware.

FastVision AI is the OCR + Text-to-Speech API for teams that can't ship their data to someone else's cloud. PaddleOCR and DocTR for documents, Piper for speech — deployed on infrastructure you control, behind one clean REST API.

  • No third-party AI APIs
  • 100 pages free every month
  • Deploys with docker compose
POST /api/v1/ocr/image · doc_type=receipt

receipt_0704.png

BLUE HARBOR MARKET412 Shoreline Ave, Oakland CA──────────────────────Espresso beans 1kg $24.00Oat milk x2 $7.80Sourdough loaf $6.50──────────────────────TOTAL $38.30VISA •••• 42422026-07-04 09:41

result.json

{"merchant": "Blue Harbor Market"0.994"date": "2026-07-04"0.991"line_items": [3 items]0.987"total": 38.300.998"currency": "USD"0.999}
confidence 98.7%312 msengine: paddle

Processing documents for privacy-first teams

  • Northbeam Health
  • Ledgerline
  • Casaverde Bank
  • Aerofreight
  • Quill & Co.
  • Statlas Analytics
  • Harbor Legal
  • Mombasa Pay

One API, two engines

Everything OCR. Everything TTS.
Nothing leaves your network.

A complete document-and-speech pipeline: extraction with layout awareness on one side, natural neural voices on the other.

Document OCR that understands structure

PaddleOCR primary, DocTR fallback, OpenCV preprocessing — deskew, denoise, binarize — before a single character is read. Purpose-tuned extraction for seven document types:

  • generic
  • receipt
  • invoice
  • passport
  • id_card
  • bank_statement
  • business_card

Handwriting

Cursive notes, filled-in forms, margin scribbles. Recognition models trained on handwritten text, not just clean print.

Receipts & invoices

Merchants, line items, taxes and totals as typed fields — ready for your ledger, not a wall of raw text.

Passports & IDs

MRZ parsing plus field-level extraction for passports, ID cards and bank statements — without the compliance risk of an external API.

Bounding boxes

Every block ships with [x1, y1, x2, y2] coordinates and a per-block confidence score. Build highlighters, redactors, review UIs.

Searchable PDF

Request outputs=pdf and get the original document back with an invisible text layer — Cmd+F just works. JSON and TXT come along for free.

Multi-language OCR

Latin, Cyrillic, CJK and Arabic scripts. Pass languages=en,de,zh and mix scripts within a single document.

Neural TTS in 9 languages

Piper voices with natural prosody, running entirely on your CPU or GPU:

  • English
  • Spanish
  • French
  • German
  • Portuguese
  • Italian
  • Dutch
  • Polish
  • Chinese

Streaming audio

POST /stream returns chunked WAV as it is synthesized — first audible byte in milliseconds, ideal for voice agents.

SSML control

Fine-tune pauses, emphasis, speed (0.5–2.0×), pitch and volume gain with SSML or plain parameters. MP3, WAV or OGG out.

How it works

From raw pixels to structured data in four hops

Async by design: your request returns instantly, workers do the heavy lifting, and a webhook closes the loop.

01

Upload

One multipart request to /ocr/image, /ocr/pdf or /tts. The API answers in milliseconds with a 202 and a job id — heavy lifting happens off the request path.

POST /api/v1/ocr/pdf → 202 { id, status: "queued" }
02

Preprocess

OpenCV normalizes the input: deskew, denoise, contrast, binarization. Bad scans become readable before recognition starts.

deskew → denoise → adaptive threshold
03

Recognize

PaddleOCR reads text with layout awareness; DocTR steps in as a fallback. TTS jobs go to Piper. Dedicated Celery queues keep OCR and TTS from starving each other.

queue: ocr · engine: paddle · priority: 5
04

Deliver

Structured JSON with bounding boxes, plain text, searchable PDF or audio land in storage. A signed job.completed webhook tells your app the moment it's done.

X-FastVision-Signature: sha256=…

Developer experience

Your first extraction
in five lines

Authenticate with an API key, POST a file, poll or wait for the job. Six official SDKs wrap the same REST surface — or just use cURL.

curl -X POST https://api.fastvision.example/api/v1/ocr/image \  -H "X-API-Key: fv_live_yourkeyhere" \  -F "file=@receipt.png" \  -F "doc_type=receipt" \  -F "languages=en" \  -F "outputs=json,txt,pdf"# → 202 Accepted# { "id": "9f4c…", "type": "ocr", "status": "queued", … }
128M+pages processed by self-hosted deployments
99.98%worker uptime across reference clusters (12 mo)
<900 msmedian OCR latency per page, CPU-only
9TTS languages with natural neural voices

Loved by regulated teams

The teams who can't use cloud AI use FastVision

Healthcare, fintech, legal, government — anywhere the documents are the sensitive part.

We process 40,000 patient intake forms a month and none of them can leave our VPC. FastVision replaced a manual data-entry team and a compliance headache in the same quarter.
Dr. Amara OkaforCTO, Northbeam Health
The bounding boxes are the killer feature. We built a human-review UI on top of the block coordinates in a week — reviewers only touch the fields the model was unsure about.
Felix BrandtHead of Engineering, Ledgerline
Piper streaming through the /stream endpoint gives our IVR first audio in under 300 ms — on a CPU box. We turned off our cloud TTS vendor and our bill dropped 90%.
Priya RaghavanPlatform Lead, Mombasa Pay

Own your document pipeline.
Start scanning tonight.

100 OCR pages and 10,000 TTS characters free, every month. No credit card, no sales call, no data leaving your stack.

docker compose up · first extraction in ~5 minutes