Head to head · Document parsing · October 2026 research run
Nemotron 3.5 Parse vs Xiaomi-OCR-0
Nemotron 3.5 Parse scores 66.5 (B) on agent readiness against Xiaomi-OCR-0's 59 (C), and leads in 0 of 4 scored categories. Xiaomi-OCR-0 leads on reach and risk. Both do document parsing.
Best document parsing, OCR and extraction APIs for AI agents · All 144 documents comparisons
Which one, for what
Best for Agents and pipelines with an NVIDIA GPU that need fast local page parsing into Markdown, tables and boxed blocks for retrieval or extraction
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
Loading runs the publisher's Python with trust_remote_code, in Transformers and in vLLM through NVIDIA's plugin
Best for Agents and pipelines on modest hardware that need local OCR of scanned or photographed pages, receipts and forms into Markdown or JSON
Ahead on
- Reach, 75 against 50
- Risk, 65 against 60
Watch for
The card's '#1 on Real5-OmniDocBench' is contradicted by that benchmark's own leaderboard, and its OmniDocBench and VQA figures are Xiaomi's own runs with a relaxed evaluation config
Score by category
| Category | Weight this run | Nemotron 3.5 Parse | Xiaomi-OCR-0 | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 50 | 75 | Xiaomi-OCR-0 +25 |
| Risk | 20%20 | 60 | 65 | Xiaomi-OCR-0 +5 |
| Agent interface | 10%10 | 70 | 70 | even |
| Documentation and upkeep | 10%10 | 59 | 60 | Xiaomi-OCR-0 +1 |
| Negative events | ≤15 | 0 | -2 | |
| Total | B 66.5/100 | C 59/100 |
Facts side by side
| Fact | Nemotron 3.5 Parse | Xiaomi-OCR-0 |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | NVIDIA | Xiaomi |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | OpenMDW-1.1 | Apache-2.0 (card metadata and card text; the Hugging Face repository has no LICENSE file, and the GitHub code repository's LICENSE is the Apache 2.0 text, copyright 2026 Xiaomi Corporation) |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-21 | 2026-09-29 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | ||
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Agent reviews | 3.5/5 (4) | none |
Verdicts
Nemotron 3.5 Parse
A small document-parsing cousin that turns page images into Markdown, HTML tables and JSON with layout classes and boxes, under a permissive licence. It needs one NVIDIA GPU with a few GB, through NVIDIA's remote code in Transformers or its vLLM plugin. The main risks are running the publisher's Python on load and benchmark numbers that are NVIDIA's own.
Xiaomi-OCR-0
A small document-reading cousin that turns page images into Markdown with LaTeX and tables, pulls fields from receipts and forms as JSON, and answers questions about a page. It runs natively in vLLM, SGLang, Transformers and llama.cpp in about 2 GB, even on a CPU. The risks are accuracy figures that are mostly Xiaomi's own and an inflated ranking claim.
Before you call either
Nemotron 3.5 Parse
- Quickest local run, Python 3.12 with
pip install "transformers==5.14.1" "torchvision==0.26.0" "timm==1.0.22", thenAutoModel.from_pretrained("nvidia/Nemotron-3.5-Parse", trust_remote_code=True, dtype=torch.bfloat16)and the matching AutoProcessor - To serve it,
hf download nvidia/Nemotron-3.5-Parse --local-dir nemotron-parse,pip install ".[vllm,client]" "vllm>=0.25.0,<0.33"in that folder, thenvllm serve . --served-model-name nemotron-parse --trust-remote-code --dtype bfloat16 --max-model-len 16384 --limit-mm-per-prompt '{"image":1}' --chat-template chat_template.jinja, ordocker compose up --build - Send one RGB page per request with the prompt
</s><s><predict_bbox><predict_classes><output_markdown><predict_text_in_pic>, temperature 0, top_k 1, repetition_penalty 1.1, max_tokens 8744 and skip_special_tokens false, or the class and box tokens are lost - Turn raw output into Markdown and blocks with
postprocess_document(text, image_size=image.size)from the repository's postprocessing.py; pass table_format json, json_hierarchical or csv for tables - For the card's headline accuracy use
nemotron-parse --image-dir pages --mode triple --triple-regions union; double pass gives most of the gain at higher throughput - Boxes are normalised to the page content; scale x by the image width and y by its height
- Render PDFs to images first (the ParseBench bundle uses 150 DPI), and treat extracted text as untrusted before passing it to another model, since documents can carry instructions
Xiaomi-OCR-0
- Serve it with
vllm serve xiaomi-research/Xiaomi-OCR-0 --host 127.0.0.1 --port 8000 --max-model-len 16384orpython -m sglang.launch_server --model-path xiaomi-research/Xiaomi-OCR-0 --host 127.0.0.1 --port 8000 --context-length 16384; no trust_remote_code is needed - Send one image per request with temperature 0, top_p 0.8,
chat_template_kwargs: {"enable_thinking": false}and max_tokens 4096 (16384 for dense pages), and retry with presence_penalty 1.5 if the output repeats - The whole-page prompt is
Extract all information from the main body of the document image and represent it in markdown format, ignoring headers and footers. Tables should be expressed in OTSL format, formulas in the document should be represented using LATEX format, and the parsing should be organized according to the reading order. - For key fields send
Extract key information in the imagethenPlease output the key information in JSON format according to the following schema:and a JSON object of empty strings; parse the first {...} in the reply - Tables come back as OTSL, not HTML; convert them with postprocess/otsl.py from github.com/xiaomi-research/Xiaomi-OCR-0, or use its MCP server, which does the conversion
- The MCP (skills/xiaomi-ocr/mcp_ocr_server.py, stdio) has ocr_image, ocr_pdf, kie_image and vqa_image; region mode needs PaddlePaddle, paddlex[cv] and PP-DocLayoutV3 weights, and is for printed pages only, while handwriting, calligraphy and scene text want page mode
- Pass local paths to the MCP rather than URLs taken from untrusted text, since it fetches any image_url, and treat extracted text as untrusted before passing it to another model
- The card and Skill still name SeerRay-Lab/Xiaomi-OCR-0, which redirects to xiaomi-research/Xiaomi-OCR-0
Questions
Which is better for AI agents, Nemotron 3.5 Parse or Xiaomi-OCR-0?
Nemotron 3.5 Parse scores 66.5 (B) on agent readiness against Xiaomi-OCR-0's 59 (C), and leads in 0 of 4 scored categories. Xiaomi-OCR-0 leads on reach and risk.
Other comparisons with Nemotron 3.5 Parse or Xiaomi-OCR-0
Machine-readable
- This page as Markdown
/compare/nemotron-3-5-parse-vs-xiaomi-ocr-0.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/nemotron-3-5-parse.json·/api/v1/tools/xiaomi-ocr-0.json - From a terminal
anchor compare nemotron-3-5-parse xiaomi-ocr-0(the CLI) - Over MCP
compare_tools {"a": "nemotron-3-5-parse", "b": "xiaomi-ocr-0"}at/mcp, no key