DeepSeek-OCR-2
by deepseek-ai
3B OCR model with semantic visual reasoning for complex document understanding
deepseek-ai/DeepSeek-OCR-2mixpeek://image_extractor@v1/deepseek_ocr2_3b_v1Overview
DeepSeek-OCR-2 is a 3B-parameter vision-language model that reimagines OCR through semantic reasoning rather than traditional top-to-bottom scanning. Its DeepEncoder V2 uses a Causal Visual Flow architecture that dynamically reorders image segments based on semantic understanding, compressing high-resolution documents into just 256-1,120 visual tokens while maintaining near-lossless text and layout fidelity.
On Mixpeek, DeepSeek-OCR-2 is the state-of-the-art choice for document parsing, outperforming larger models on complex layouts, tables, and mixed text-structure documents across 100+ languages. It excels where traditional OCR models struggle: multi-column layouts, nested tables, and documents with interspersed diagrams.
Architecture
DeepEncoder V2 with Causal Visual Flow architecture replacing rigid top-to-bottom scanning with semantics-aware segment reordering. Vision tokenizer follows SAM design with 80M parameters plus a convolutional layer. 3B-parameter mixture-of-experts decoder for text, layout, and diagram understanding.
Mixpeek SDK Integration
// No extractor parameter takes a Hugging Face model id (checked against
// GET /v1/discovery/extractors, which returns 13), so DeepSeek-OCR-2 runs
// on your side and the output is upserted through POST
// /v1/namespaces/{namespace_id}/documents/upsert. On Enterprise the other
// path is to upload the weights instead: POST /v1/namespaces/{id}/models
// accepts the huggingface format and a custom plugin loads them.
const res = await fetch(
"https://api.mixpeek.com/v1/namespaces/ns_your_namespace/documents/upsert",
{
method: "POST",
headers: {
Authorization: "Bearer API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
collection_id: "col_your_collection",
documents: [
{
document_id: "asset-00412",
// The model produces text, so it lands in payload. Give the
// collection a text vector index and embed that text to make it
// searchable rather than only filterable.
payload: { extracted_text: modelOutput, source_key: "archive/2026/asset-00412" },
vectors: { "text-embedding": embeddingOfModelOutput },
},
],
}),
},
);
// Managed alternative, if this exact model is not the requirement:
// universal_extractor@v1 runs google/gemini-embedding-2
// (3072-d) over a bucket, with no inference of your own.Capabilities
- 91.09% on OmniDocBench v1.5 benchmark
- Semantic visual reasoning instead of spatial scanning
- 256-1,120 visual tokens per page (highly efficient)
- 100+ language support for multilingual documents
- Strong on complex layouts: tables, formulas, nested structures
Use Cases on Mixpeek
Benchmarks
| Dataset | Metric | Score | Source |
|---|---|---|---|
| OmniDocBench v1.5 | Overall Score | 91.09% | DeepSeek-OCR-2 release, Jan 2026 |
| OmniDocBench v1.5 (formula) | Recognition Score | 90.31% | DeepSeek-OCR-2 release, Jan 2026 |
| Reading Order | Edit Distance | 0.057 | DeepSeek-OCR-2 release, Jan 2026 |
Performance
3B params with MoE decoder: highly efficient visual token compression
Common Pipeline Companions
Explore on Mixpeek
Compare alternatives in this category
Hand-picked tools & platforms compared
Deep-dive technical guide
See how Mixpeek runs models as extractors
Store & search embeddings at scale
Usage-based pricing for pipelines
Compare models, APIs & infrastructure
Specification
Research Paper
DeepSeek-OCR-2 model card
arxiv.orgBuild a pipeline with DeepSeek-OCR-2
Add this model to a processing pipeline alongside other extractors. Combine with retrieval stages for end-to-end search.
Run it on your own data, free