Model reference · open weights
jina-ocr is an open-weight language model from jinaai. jina-ocr-v1 (BF16) weighs 6.7 GB; the smallest configuration that runs it is RTX 3060 12 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the jinaai/jina-ocr-v1 model card, 2026-10-01
What it is
| Released by | jinaai |
|---|---|
| Released | 2026-09-01 |
| Parameters | 3.4B |
| VRAM | 6.7 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB | 5 | 1 | all 32K | 11.6 GB |
| RTX 4060 Ti 16 GB | 12 | 3 | all 32K | 15.4 GB |
| RTX 3090 24 GB | 28 | 7 | all 32K | 23.4 GB |
| RTX 4090 24 GB | 28 | 7 | all 32K | 23.4 GB |
| RTX 5090 32 GB | 43 | 10 | all 32K | 31.0 GB |
| L40S 48 GB | 69 | 17 | all 32K | 44.0 GB |
| A100 80 GB | 137 | 34 | all 32K | 78.2 GB |
| H100 80 GB | 127 | 31 | all 32K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 159 | 39 | all 32K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 185 | 46 | all 32K | 107 GB |
| H200 141 GB | 246 | 61 | all 32K | 138 GB |
| B200 180 GB | 319 | 79 | all 32K | 176 GB |
| 2× RTX 3060 12 GB tensor parallel | 23 | 5 | all 32K | 11.6 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 9.5 GB | 11.0 GB |
| 5 | 11.5 GB | 19.1 GB |
| 8 | 13.0 GB | 25.1 GB |
| 16 | 17.0 GB | 41.2 GB |
| 32 | 25.1 GB | 73.4 GB |
| 64 | 41.2 GB | 138 GB |
One card, with vLLM's small-card settings.
From the model card
Blog | Reader | Playground | AWS | Azure | GCP | Arxiv
jina-ocr-v1 is an end-to-end document parsing model designed for high-quality OCR at an efficient serving point. The model builds on DeepSeek-OCR and inherits two of its efficiency-oriented components: a DeepEncoder vision tower that represents a 1024×1024 global view with 256 visual tokens and augments it with dynamic local tiles, and a 3B-parameter mixture-of-experts decoder with approximately 570M active parameters per token. On top of this backbone, we add a FastMTP speculative decoding head that recursively shares one dense draft block across K=3 prediction steps. Greedy verification accepts the longest token-equality prefix, preserving the verifier’s greedy output sequence by construction.
This repository ships the model weights and the custom code needed to load them (trust_remote_code=True). There is no separate training or serving package to install. Transformers uses the modeling files in this snapshot; vLLM needs a one-time architecture registration from deepseek_ocr_mtp.py (see Using vLLM). A single script covers both backends: example.py.
| Backbone | DeepSeek-OCR (DeepEncoder + 3B MoE, ~570M active) |
| Acceleration | FastMTP, one dense draft head, K=3 (vLLM only) |
| OmniDocBench v1.6 | 91.14 overall |
| olmOCR-Bench | 83.4 overall (+7.4 vs DeepSeek-OCR) |
| Throughput | 2.57 pages/s on olmOCR-Bench (A100, concurrency 32) |
| Local run | example.py — Transformers or vLLM |
| Hosted | Jina Reader, OpenAI-compatible chat/completions, or Playground |
python example.py --backend transformers --image document.png
python example.py --backend vllm --image document.png
At the default dynamic-resolution setting, jina-ocr-v1 scores 91.14 on OmniDocBench v1.6 and 83.4 on olmOCR-Bench, and has the highest page throughput of the fourteen systems we measured: 2.57 pages/s. Post-training adds 7.4 points on olmOCR-Bench over the DeepSeek-OCR backbone. On an NVIDIA L4, FastMTP nearly doubles decoding speed over greedy autoregressive decoding. Scores below use the eval prompt.
Three axes that determine deployment cost. (a) Pixels per visual token, log scale. DeepEncoder maps a 1024×1024 view from 4,096 patches to 256 tokens (3,887 pixels per visual token vs 783–1,022 for 28–32 px patch encoders). (b) Page throughput on olmOCR-Bench, one A100, concurrency 32. (c) Benchmark overall vs active parameters (log scale); the solid line joins Pareto-optimal systems. jina-ocr-v1 sits on both frontiers at 570M active parameters.
The same fourteen systems on olmOCR-Bench (one A100, concurrency 32), ranked by (a) output tokens/s, (b) output tokens/page, and (c) pages/s. Surya OCR 2 leads on tokens/s (3,760) but emits 3,568 tokens/page and finishes 1.05 pages/s. jina-ocr-v1 combines 2,792 tokens/s with 1,085 tokens/page and reaches 2.57 pages/s — the shortest outputs of any system scoring above 83.
Per-category breakdowns on olmOCR-Bench and OmniDocBench v1.6, FastMTP measurements on L4, and the full comparison set are in the technical report and the blog.
Recommended default:
Transcribe the provided document image into a clean Markdown format, preserving the natural reading order.
The OmniDocBench and OlmOCR Bench scores on this card were measured with a stricter instruction (LaTeX math, HTML tables, drop headers/footers and figures):
Just return the plain text representation of this document as if you were reading it naturally.
Turn equations and math symbols into a LaTeX representation, make sure to use $ and $ as a delimiter for inline math, and $$ and $$ for block math. Do NOT use ascii or unicode math symbols such as ∈ ∉ ⊂ ⊃ ⊆ ⊇ ∅ ∪ ∩ ∀ ∃ ¬, just use LaTeX syntax, ex $ \in $ $ \notin $ etc. If you were going to surround a math expression in \( \) or \[ \] delimiters, surround it with $ $ or $$ $$ instead.
Convert tables into HTML format. Keep the syntax simple, but use for header rows, and use rowspan and colspans appropriately. Don't use inside of table cells, just split that into new rows as needed. Do NOT use LaTeX or Markdown table syntax.
Ignore all graphical content in the image document. Do not attempt to describe or convert the images.
Remove the headers and footers, but keep references and footnotes.
Read any natural handwriting.
This is likely one page out of several in the document, so be sure to preserve any sentences that come from the previous page, or continue onto the next page, exactly aQuoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Benchmarks
As published on the model card: the maker's own numbers, not measured by AxForge.
| Task | Dataset | Metric | Score |
|---|---|---|---|
| Document Parsing | OmniDocBench v1.6 | Overall Score | 91.140 |
| OCR | OlmOCR Bench | Overall Score | 83.400 |