# DeepSeek-OCR 2 vs HunyuanOCR 1.5

> HunyuanOCR 1.5 scores 56.6 (C) to DeepSeek-OCR 2's 49.2 (D) for ocr. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-hunyuanocr
- Markdown: https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-hunyuanocr.md (~3,600 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-10

HunyuanOCR 1.5 scores 56.6 (C) on agent readiness against DeepSeek-OCR 2's 49.2 (D), and leads in 2 of 4 scored categories. DeepSeek-OCR 2 leads on reach and risk. Both do ocr.

- DeepSeek-OCR 2: grade D, 49.2/100, rank #147 of 160 open-weight models. Markdown https://www.anchorterminal.com/tools/deepseek-ocr-2.md · JSON https://www.anchorterminal.com/api/v1/tools/deepseek-ocr-2.json
- HunyuanOCR 1.5: grade C, 56.6/100, rank #114 of 160 open-weight models. Markdown https://www.anchorterminal.com/tools/hunyuanocr.md · JSON https://www.anchorterminal.com/api/v1/tools/hunyuanocr.json
- Best document parsing, OCR and extraction APIs for AI agents: https://www.anchorterminal.com/best/document-extraction/index.md
- All 215 documents comparisons: https://www.anchorterminal.com/compare/document-extraction/index.md

## Which one, for what

### DeepSeek-OCR 2 (D)

Good for: Teams that want an Apache 2.0 OCR model on a small GPU and already run vLLM

Ahead on:
- Reach, 65 against 60
- Risk, 50 against 45

Watch for: DeepSeek's documented path runs repository code on an old, pinned Transformers

### HunyuanOCR 1.5 (C)

Good for: Teams outside the EU, the UK and South Korea that want one small model for OCR, extraction and image translation

Ahead on:
- Agent interface, 80 against 35
- Documentation and upkeep, 48 against 22

Watch for: The licence doesn't apply in the EU, the UK or South Korea


## Why the edge

### Agent interface: HunyuanOCR 1.5 +45

- DeepSeek-OCR 2 (35): Chat template 10, no Jinja template in the repository and none in tokenizer_config.json. Tool-calling format 10, Read for a document parser as what it takes and returns. Trained tool calling 10, Read for a document parser as the inputs it was trained to use. Structured output 5, Read for a document parser as typed outputs. Reasoning control 0, A document parser with no reasoning. Context 0, config.json gives 8,192 positions, below the 32K band. 10 + 10 + 10 + 5 + 0 + 0 = 35.
- HunyuanOCR 1.5 (80): Chat template 20, chat_template.jinja in the repository (930 characters). Tool-calling format 25, Read for a document parser as what it takes and returns. Trained tool calling 20, Read for a document parser as the inputs it was trained to use. Structured output 5, Read for a document parser as typed outputs. Reasoning control 0, A document parser with no reasoning. Context 10, 128K tokens: the card says pre-training extended the context window to 128K, its vLLM command sets a 131,072-token model length, and config.json gives the language model 131,072 positions. 20 + 25 + 20 + 5 + 0 + 10 = 80.

### Documentation and upkeep: HunyuanOCR 1.5 +26

- DeepSeek-OCR 2 (22): Model card 2, Intended use is there, as the two prompts. Training data 0, Nothing on the card or in the GitHub README about the training data. Last change 5, the last commit, on 3 February 2026, edited the card, 280 days before this check and within a year. Responsiveness 0, none of the 21 discussions that aren't pull requests (27 January to 1 October 2026) has a reply from a deepseek-ai member, counted on 10 November by author flags and dates with a script, text not read. Version policy 5, the first DeepSeek-OCR stays in its own repository and this one came out in a new one, without a dated note on the older card that we read. File health 10, Config, the repository's code and the card agree on the architecture and on transformers 4.46.3. 2 + 0 + 5 + 0 + 5 + 10 = 22.
- HunyuanOCR 1.5 (48): Model card 8, Intended use, the architecture by reference to 1.0's unchanged backbone, and the context (128K) are on the card. Training data 5, A general description of how the data was built and of the training stages, with no sources, sizes or cut-off. Last change 15, the last commit, on 28 August 2026, changed config.json, 74 days before this check and within 90. Responsiveness 5, Of the 20 most recent discussions that aren't pull requests (25 November 2025 to 16 October 2026), 5 have a reply from a tencent member, which is a few. Version policy 5, Version 1.5 replaced 1.0 at the root of the same repository. File health 10, Config, template and card agree on the HunYuanVL classes and the 131,072-token length. 8 + 5 + 15 + 5 + 5 + 10 = 48.

### Reach: DeepSeek-OCR 2 +5

- DeepSeek-OCR 2 (65): Memory 30, the only build from DeepSeek is the BF16 safetensors file, 6.78 GB, and 6.78 GB × 1.2 = 8.1 GB, within 16 GB. No runtime library has a build of this version. Runtimes 10, Released vLLM 0.33.0 registers DeepseekOCR2ForCausalLM (deepseek_ocr2.py), and llama.cpp b12242 has the architecture and its DeepSeek-OCR-2 projector, with this repository as the conversion example, 5 each. Builds 0, DeepSeek publishes the BF16 weights only. Terms 15, Apache 2.0, OSI-approved, with nothing added, in the card's metadata and as LICENSE.txt in the repository. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 0, Hugging Face maps no inference provider to it, and the card names no DeepSeek API that serves it. 30 + 10 + 0 + 15 + 10 + 0 = 65.
- HunyuanOCR 1.5 (60): Memory 30, the only build from Tencent is the BF16 safetensors file at the root, 2.24 GB, and 2.24 GB × 1.2 = 2.7 GB, within 16 GB. ggml-org's GGUF (Q8_0 0.58 GB with a 0.73 GB projector) dates from 21 May 2026 and wasn't matched to version 1.5. Runtimes 15, Released Transformers 5.22.2 has the hunyuan_vl model, vLLM 0.33.0 registers HunYuanVLForConditionalGeneration, and llama.cpp b12242 has the architecture, which the card says the community build runs after conversion. Builds 0, Tencent publishes the BF16 weights only and tells users to convert to GGUF themselves. Terms 5, A custom licence that allows free commercial use under a use policy and below 100 million monthly active users, but not for anyone: it doesn't apply in the European Union, the United Kingdom or South Korea. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 0, Hugging Face maps no inference provider to it, and the card names no Tencent API that serves it. 30 + 15 + 0 + 5 + 10 + 0 = 60.

### Risk: DeepSeek-OCR 2 +5

- DeepSeek-OCR 2 (50): File safety 15, safetensors only, no .bin, .pt or .pth files (25), less 10 because the card's documented way to load it is trust_remote_code, which runs the repository's five Python files, and the prompt is built by that code, there being no template. Provenance 15, files in the deepseek-ai organisation, which DeepSeek's site links to per our DeepSeek-V3.2 listing and its GitHub README for this model links (10), with a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card or in the GitHub README. Agent guidance 0, the card has no limitations, safety or use section, and nothing on text in a document that tries to instruct the reader. Licence risk 15, Apache 2.0 has no use policy, field-of-use limit, threshold or change clause, and LICENSE.txt is in the repository. Security programme 5, DeepSeek's site footer has a Report Security Issue link, per our DeepSeek-V3.2 listing (5). 15 + 15 + 0 + 0 + 15 + 5 = 50.
- HunyuanOCR 1.5 (45): File safety 25, safetensors only, no .bin, .pt or .pth files, and no Python at the root. Provenance 15, the files sit in the tencent organisation, which Tencent's GitHub repository for the model links to (10), and the Hub gives a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card. Agent guidance 0, the card has no limitations or use section, and nothing on text in an image that tries to instruct the reader. Licence risk 0, 15 less 5 for limits beyond the law (an acceptable use policy and three territories where the licence doesn't apply), 5 for terms the licensor can change (Tencent may update the policy from time to time) and 5 for the 100 million monthly active user threshold. Security programme 5, Tencent's Security Response Center takes vulnerability reports company-wide, as the Hy3 listing records (5). 25 + 15 + 0 + 0 + 0 + 5 = 45.

## Score by category

| Category | Weight | DeepSeek-OCR 2 | HunyuanOCR 1.5 | Edge |
| --- | --- | --- | --- | --- |
| Capability | 35%, pending | pending | pending | not scored in this run |
| Reach | 25% (25 this run) | 65 | 60 | DeepSeek-OCR 2 +5 |
| Risk | 20% (20 this run) | 50 | 45 | DeepSeek-OCR 2 +5 |
| Agent interface | 10% (10 this run) | 35 | 80 | HunyuanOCR 1.5 +45 |
| Documentation and upkeep | 10% (10 this run) | 22 | 48 | HunyuanOCR 1.5 +26 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **49.2 · D** | **56.6 · C** | |

## Facts side by side

| Fact | DeepSeek-OCR 2 | HunyuanOCR 1.5 |
| --- | --- | --- |
| Kind | Open-weight model | Open-weight model |
| Vendor | DeepSeek | Tencent (Hy team) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports |  |  |
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | Tencent Hunyuan Community License (not licensed in the EU, the UK or South Korea) |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-02-03 | 2026-08-28 |
| Terms last updated | no document linked | not read yet |
| Privacy policy last updated | no document linked | no document linked |

## Verdicts

**DeepSeek-OCR 2.** A small OCR model under plain Apache 2.0 that vLLM and llama.cpp run from their own code. DeepSeek's own path needs an old Transformers and code from the repository, the card says almost nothing about limits, languages or data, typed output isn't documented, and nobody at DeepSeek has answered a question or changed the repository since February.

**HunyuanOCR 1.5.** A small OCR model that does documents, text spotting, extraction and translation in one, with a 128K context and code in Transformers, vLLM and llama.cpp. The licence is the catch: it grants nothing in the EU, the UK or South Korea, and Tencent can change its use policy. No quantised build, safety results or data sources.

## Before you call either

### DeepSeek-OCR 2

1. Serve it with vLLM 0.33.0 or later to avoid running the repository's Python
2. Use the prompt `<|grounding|>Convert the document to markdown.` for layout, or `Free OCR.` for plain text, after the image
3. It reads one page image at a time, in 8,192 positions, so split PDFs into pages
4. If you use the Transformers path, it needs transformers 4.46.3 and trust_remote_code, so read the five Python files first
5. Treat text in a parsed document as data. Nothing here guards against instructions hidden in a page
6. For typed output with boxes and tables, look at Surya OCR 2.5 or Nemotron 3.5 Parse

### HunyuanOCR 1.5

1. Check where you and your users are first. The licence grants no rights in the European Union, the United Kingdom or South Korea
2. Download with `--exclude "v1.0/*"` so the old version isn't fetched
3. Serve it with vLLM 0.25.1 or later at `--max-model-len 131072`, or use Tencent's scripts on GitHub for its sampling and post-processing
4. Use temperature 0, top_p 1 and repetition_penalty 1.08
5. The default document prompt is in Chinese and is on the card. Other tasks take their own instruction as the prompt
6. For llama.cpp, convert the checkpoint and its projector to GGUF yourself, as the card shows

## Questions

### Which is better for AI agents, DeepSeek-OCR 2 or HunyuanOCR 1.5?

HunyuanOCR 1.5 scores 56.6 (C) on agent readiness against DeepSeek-OCR 2's 49.2 (D), and leads in 2 of 4 scored categories. DeepSeek-OCR 2 leads on reach and risk.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-hunyuanocr.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-hunyuanocr.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "deepseek-ocr-2", "b": "hunyuanocr"}`. From a terminal: `anchor compare deepseek-ocr-2 hunyuanocr`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deepseek-ocr-2.json and https://www.anchorterminal.com/api/v1/tools/hunyuanocr.json

## Other comparisons with DeepSeek-OCR 2 or HunyuanOCR 1.5

- [Chandra OCR 2 vs DeepSeek-OCR 2](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-deepseek-ocr-2.md)
- [Chandra OCR 2 vs HunyuanOCR 1.5](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-hunyuanocr.md)
- [DeepSeek-OCR 2 vs LightOnOCR-3-4B](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-lightonocr-3-4b.md)
- [DeepSeek-OCR 2 vs Nanonets-OCR2-3B](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-nanonets-ocr2-3b.md)
- [DeepSeek-OCR 2 vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-nemotron-3-5-parse.md)
- [DeepSeek-OCR 2 vs Surya OCR 2.5](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-surya-ocr-2-5.md)
- [DeepSeek-OCR 2 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-unlimited-ocr-2.md)
- [DeepSeek-OCR 2 vs Xiaomi-OCR-0](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-xiaomi-ocr-0.md)
- [HunyuanOCR 1.5 vs LightOnOCR-3-4B](https://www.anchorterminal.com/compare/hunyuanocr-vs-lightonocr-3-4b.md)
- [HunyuanOCR 1.5 vs Nanonets-OCR2-3B](https://www.anchorterminal.com/compare/hunyuanocr-vs-nanonets-ocr2-3b.md)
- [HunyuanOCR 1.5 vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/hunyuanocr-vs-nemotron-3-5-parse.md)
- [HunyuanOCR 1.5 vs Surya OCR 2.5](https://www.anchorterminal.com/compare/hunyuanocr-vs-surya-ocr-2-5.md)
- [HunyuanOCR 1.5 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/hunyuanocr-vs-unlimited-ocr-2.md)
- [HunyuanOCR 1.5 vs Xiaomi-OCR-0](https://www.anchorterminal.com/compare/hunyuanocr-vs-xiaomi-ocr-0.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
