{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-31",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "tool": {
    "slug": "xiaomi-ocr-0",
    "name": "Xiaomi-OCR-0",
    "vendor": "Xiaomi",
    "vendorUrl": "https://huggingface.co/xiaomi-research",
    "kind": "weights",
    "category": "document-extraction",
    "summary": "Xiaomi-OCR-0 is Xiaomi's open-weight OCR model, 0.87B parameters on Qwen3.5-0.8B-Base, that turns document images into Markdown with LaTeX formulas and tables, extracts fields as JSON and answers questions about documents, under Apache 2.0.",
    "url": "https://www.anchorterminal.com/tools/xiaomi-ocr-0",
    "markdownUrl": "https://www.anchorterminal.com/tools/xiaomi-ocr-0.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/xiaomi-ocr-0.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/xiaomi-ocr-0.json",
    "repo": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0",
    "license": "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)",
    "transports": [],
    "packages": [
      {
        "registry": "huggingface",
        "name": "xiaomi-research/Xiaomi-OCR-0"
      }
    ],
    "auth": "none",
    "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The repository isn't gated (checked 2026-10-30). It moved from SeerRay-Lab/Xiaomi-OCR-0, which the card and the GitHub README still link and which now redirects here.",
    "pricing": "free",
    "pricingNotes": "Free to download and use, commercial use included, under Apache 2.0, the same licence as the base Qwen3.5-0.8B-Base. Xiaomi sells no per-call access to these weights. Running them costs the hardware, a 1.75 GB BF16 safetensors file that runs on a GPU, Apple silicon or a CPU. No inference provider serves it on Hugging Face, and the project Space is a static page with no inference (checked 2026-10-30).",
    "priceSummary": "Free",
    "where": "local",
    "x402": {
      "level": "no",
      "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-30).",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": null,
      "npmWeekly": null,
      "pypiWeekly": null,
      "asOf": "2026-10-30"
    },
    "docsUrl": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0",
    "capabilities": [
      "docs.ocr",
      "docs.parse",
      "docs.extract",
      "docs.tables",
      "model.open-weights"
    ],
    "tags": [
      "open-weights",
      "model",
      "ocr",
      "document-parsing",
      "key-information-extraction",
      "document-vqa",
      "tables",
      "formulas",
      "handwriting",
      "vision",
      "mcp",
      "agent-skill",
      "safetensors",
      "self-hosted",
      "new"
    ],
    "lastRelease": "2026-09-29",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 59,
      "grade": "C",
      "agentReady": false,
      "rank": 0,
      "ranked": false,
      "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
      "rankOf": 1243,
      "categoryRank": 11,
      "methodology": "0.7",
      "run": "2026-10-01",
      "scores": {
        "interface": 70,
        "reach": 75,
        "risk": 65,
        "upkeep": 60
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "capability",
          "name": "Capability",
          "weight": 35,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending for this listing. Nobody independent has published results for it in at least two areas yet, so its weight is shared across the other four and the total is capped at 61 until they do or our own runs start."
        },
        {
          "key": "reach",
          "name": "Reach",
          "weight": 25,
          "effectiveWeight": 38.46,
          "score": 75,
          "points": 28.85,
          "reason": "Memory earns the full 30, since the only build is a 1.75 GB BF16 file that needs about 2.1 GB with the fifth added. Runtimes reach the 25 cap, as the checkpoint keeps Qwen3.5's architecture, which released vLLM, SGLang, Transformers and llama.cpp run natively, and Xiaomi documents an Ollama route; LM Studio couldn't be checked. Builds score 0, as Xiaomi publishes no quantised build and every GGUF or MLX copy is someone else's. Terms get 15 for Apache 2.0 with nothing added on an Apache 2.0 base. Download gets 10 for an ungated repository, and hosted too 0, with no inference provider and a static project Space.",
          "checked": "2026-10-30"
        },
        {
          "key": "risk",
          "name": "Risk",
          "weight": 20,
          "effectiveWeight": 30.77,
          "score": 65,
          "points": 20,
          "reason": "File safety gets 25, one safetensors file with no Python in the repository and native loading everywhere. Provenance gets 15 for files in the xiaomi-research organisation that Xiaomi's GitHub repository links, with hashes for every file, though neither organisation is verified. Licence risk keeps 15, since Apache 2.0 has none of the deductions. Agent guidance gets 5 for general cautions in Xiaomi's Skill, and the security programme 5 for Xiaomi's company security centre, carried from the 28 October reading. Safety evaluation scores 0, with no results published.",
          "checked": "2026-10-30"
        },
        {
          "key": "interface",
          "name": "Agent interface",
          "weight": 10,
          "effectiveWeight": 15.38,
          "score": 70,
          "points": 10.77,
          "reason": "Read for a document parser, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. Xiaomi documents the image, the five task prompts and the Markdown, OTSL, LaTeX and JSON outputs, and ships the converters and an MCP server (25). It reads one image per request (10). JSON for key fields and Markdown with tables are documented with how to ask for them (15). The Jinja template is in the repository (20). Reasoning control scores 0, as thinking is only switched off, and context 0, at the 16,384 tokens Xiaomi documents.",
          "checked": "2026-10-30"
        },
        {
          "key": "upkeep",
          "name": "Documentation and upkeep",
          "weight": 10,
          "effectiveWeight": 15.38,
          "score": 60,
          "points": 9.23,
          "reason": "The card covers intended use and parameters and misses limitations, architecture, context length, languages and a cut-off (5). Training data is described by size and labelling with no datasets named and no cut-off (5). The weights and template last changed on 29 September 2026, 31 days ago (15). The one question on the Hub was answered the same day by a Xiaomi Research member (20). It's a first release (5), and the files agree with the card (10).",
          "checked": "2026-10-30"
        }
      ],
      "assessment": {
        "date": "2026-10-30",
        "basis": "public evidence",
        "confidence": "low",
        "notes": {
          "capability": "Pending for this listing. Independent results were found in 0 areas (none), and Capability needs 1. Its weight is shared across the other four categories and the total is capped at 61 until there are more, or our own runs start.",
          "interface": "Read for a document parser, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. Xiaomi documents the image, the five task prompts and the Markdown, OTSL, LaTeX and JSON outputs, and ships the converters and an MCP server (25). It reads one image per request (10). JSON for key fields and Markdown with tables are documented with how to ask for them (15). The Jinja template is in the repository (20). Reasoning control scores 0, as thinking is only switched off, and context 0, at the 16,384 tokens Xiaomi documents.",
          "reach": "Memory earns the full 30, since the only build is a 1.75 GB BF16 file that needs about 2.1 GB with the fifth added. Runtimes reach the 25 cap, as the checkpoint keeps Qwen3.5's architecture, which released vLLM, SGLang, Transformers and llama.cpp run natively, and Xiaomi documents an Ollama route; LM Studio couldn't be checked. Builds score 0, as Xiaomi publishes no quantised build and every GGUF or MLX copy is someone else's. Terms get 15 for Apache 2.0 with nothing added on an Apache 2.0 base. Download gets 10 for an ungated repository, and hosted too 0, with no inference provider and a static project Space.",
          "risk": "File safety gets 25, one safetensors file with no Python in the repository and native loading everywhere. Provenance gets 15 for files in the xiaomi-research organisation that Xiaomi's GitHub repository links, with hashes for every file, though neither organisation is verified. Licence risk keeps 15, since Apache 2.0 has none of the deductions. Agent guidance gets 5 for general cautions in Xiaomi's Skill, and the security programme 5 for Xiaomi's company security centre, carried from the 28 October reading. Safety evaluation scores 0, with no results published.",
          "upkeep": "The card covers intended use and parameters and misses limitations, architecture, context length, languages and a cut-off (5). Training data is described by size and labelling with no datasets named and no cut-off (5). The weights and template last changed on 29 September 2026, 31 days ago (15). The one question on the Hub was answered the same day by a Xiaomi Research member (20). It's a first release (5), and the files agree with the card (10)."
        },
        "sources": [
          {
            "what": "model card, tasks, prompts, benchmark claims, training data, licence",
            "url": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0",
            "seen": "2026-10-30"
          },
          {
            "what": "gating, downloads, likes, parameter count, created and last modified, eval results, inference providers (none)",
            "url": "https://huggingface.co/api/models/xiaomi-research/Xiaomi-OCR-0",
            "seen": "2026-10-30"
          },
          {
            "what": "files, sizes and hashes, 28 files",
            "url": "https://huggingface.co/api/models/xiaomi-research/Xiaomi-OCR-0/tree/main?recursive=true",
            "seen": "2026-10-30"
          },
          {
            "what": "commit history, 17 commits from 29 September to 29 October 2026",
            "url": "https://huggingface.co/api/models/xiaomi-research/Xiaomi-OCR-0/commits/main",
            "seen": "2026-10-30"
          },
          {
            "what": "four discussions, one question and three merged pull requests, counted by author and date",
            "url": "https://huggingface.co/api/models/xiaomi-research/Xiaomi-OCR-0/discussions",
            "seen": "2026-10-30"
          },
          {
            "what": "config, qwen3_5 architecture",
            "url": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0/raw/main/config.json",
            "seen": "2026-10-30"
          },
          {
            "what": "chat template",
            "url": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0/raw/main/chat_template.jinja",
            "seen": "2026-10-30"
          },
          {
            "what": "eval results, Real5-OmniDocBench 92.73 from the leaderboard",
            "url": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0/raw/main/.eval_results/real5_omnidocbench.yaml",
            "seen": "2026-10-30"
          },
          {
            "what": "technical report abstract and authors",
            "url": "https://huggingface.co/api/papers/2609.36136",
            "seen": "2026-10-30"
          },
          {
            "what": "GitHub README, two-stage evaluation, runtimes, MCP and Skill",
            "url": "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/README.md",
            "seen": "2026-10-30"
          },
          {
            "what": "MCP server, tools, loopback check, URL fetching",
            "url": "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/skills/xiaomi-ocr/mcp_ocr_server.py",
            "seen": "2026-10-30"
          },
          {
            "what": "runtime Agent Skill, cautions",
            "url": "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/skills/xiaomi-ocr/SKILL.md",
            "seen": "2026-10-30"
          },
          {
            "what": "setup Skill document",
            "url": "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/SKILL.md",
            "seen": "2026-10-30"
          },
          {
            "what": "install guide, 16,384-token context",
            "url": "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/INSTALL.md",
            "seen": "2026-10-30"
          },
          {
            "what": "Ollama route and its validation",
            "url": "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/OLLAMA.md",
            "seen": "2026-10-30"
          },
          {
            "what": "evaluation pipeline and generation settings",
            "url": "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/evaluation_pipeline/README.md",
            "seen": "2026-10-30"
          },
          {
            "what": "Apache 2.0 text, copyright 2026 Xiaomi Corporation",
            "url": "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/LICENSE",
            "seen": "2026-10-30"
          },
          {
            "what": "base model, Apache 2.0, same parameter count",
            "url": "https://huggingface.co/api/models/Qwen/Qwen3.5-0.8B-Base",
            "seen": "2026-10-30"
          },
          {
            "what": "Real5-OmniDocBench leaderboard, Xiaomi-OCR-0 second at 92.73",
            "url": "https://huggingface.co/datasets/PaddlePaddle/Real5-OmniDocBench",
            "seen": "2026-10-30"
          },
          {
            "what": "OmniDocBench leaderboard, no Xiaomi-OCR-0 row",
            "url": "https://raw.githubusercontent.com/opendatalab/OmniDocBench/main/README.md",
            "seen": "2026-10-30"
          },
          {
            "what": "ParseBench leaderboard, no Xiaomi-OCR-0 row",
            "url": "https://raw.githubusercontent.com/run-llama/ParseBench/main/leaderboard.csv",
            "seen": "2026-10-30"
          },
          {
            "what": "vLLM registry, Qwen3_5ForConditionalGeneration",
            "url": "https://raw.githubusercontent.com/vllm-project/vllm/v0.32.0/vllm/model_executor/models/registry.py",
            "seen": "2026-10-30"
          },
          {
            "what": "SGLang Qwen3.5 model",
            "url": "https://raw.githubusercontent.com/sgl-project/sglang/v0.5.22/python/sglang/srt/models/qwen3_5.py",
            "seen": "2026-10-30"
          },
          {
            "what": "Transformers auto mappings, qwen3_5",
            "url": "https://raw.githubusercontent.com/huggingface/transformers/v5.20.2/src/transformers/models/auto/modeling_auto.py",
            "seen": "2026-10-30"
          },
          {
            "what": "llama.cpp qwen35 architecture",
            "url": "https://raw.githubusercontent.com/ggml-org/llama.cpp/master/src/llama-arch.cpp",
            "seen": "2026-10-30"
          }
        ],
        "openQuestions": [
          "Proposed deduction of 2 for the card's 'ranked #1' on Real5-OmniDocBench, which the benchmark's own leaderboard shows as second; the GitHub README qualifies it as Xiaomi's own comparison with its two-stage method, so the founder may read it otherwise",
          "Capability is pending. The only independent result, Real5-OmniDocBench 92.73, isn't one of ParseBench's five dimensions; if Real5's table TEDS were read as the tables dimension, Capability would rest on that one area",
          "Ollama is credited on Xiaomi's documented route (README and OLLAMA.md, tested with Ollama 0.35.0) through a community package under a user name (longwayxu/xiaomi-ocr-0:bf16), not Ollama's library; without it the runtimes line is 20",
          "Unchecked, LM Studio's catalogue and Ollama's library pages, as WebFetch refused hosts not already in the conversation",
          "Unchecked, the GitHub repository's commit dates and issues, as the GitHub API isn't enabled for it; last change would rise to 20 if the reference code changed after 30 September, and responsiveness reads the Hub only",
          "Provenance rests on the xiaomi-research organisation that Xiaomi's GitHub repository links; no page on a Xiaomi domain linking it was found, and the Hub verifies neither xiaomi-research nor SeerRay-Lab",
          "The security programme's 5 is carried from the MiMo-V2.6-Distill reading of 28 October 2026 and wasn't re-read",
          "The technical report's full text (arXiv 2609.36136) couldn't be fetched, so limitations, languages or a data cut-off it may state weren't read"
        ]
      },
      "negative": -2,
      "negativeNotes": [
        "The model card says '95.24 on Real5-OmniDocBench, ranked #1'. Real5-OmniDocBench's own leaderboard, kept by the benchmark's authors, ranks Xiaomi-OCR-0 second at 92.73 behind PaddleOCR-VL-1.6 at 93.19 (read 30 October 2026), and Xiaomi merged that 92.73 into its own repository's eval results on 23 October 2026 while leaving the card's claim in place. A '#1' a first-hand ranking shows false is a deduction of 2 (research/new-2026-10-20/NEWLIST.md). The GitHub README limits the rank to 'the comparison on this page' and says the 95.24 is Xiaomi's two-stage run; proposed for the founder to confirm at landing"
      ],
      "verdict": "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.",
      "bestFor": "Agents and pipelines on modest hardware that need local OCR of scanned or photographed pages, receipts and forms into Markdown or JSON",
      "strengths": [
        "Tiny, 0.87B parameters in one 1.75 GB BF16 safetensors file, about 2 GB in memory, and runs on GPU, Apple silicon or CPU",
        "Stock Qwen3.5 architecture, so released vLLM, SGLang, Transformers and llama.cpp load it with no remote code",
        "Apache 2.0 on an Apache 2.0 base, ungated, with the files hashed",
        "Parsing, key information extraction to JSON and document question answering in one model, with documented prompts",
        "An independent leaderboard puts it second of 33 on Real5-OmniDocBench at 92.73, with the best table scores in four of five capture conditions",
        "A local MCP server with four tools that only talks to a loopback inference server"
      ],
      "weaknesses": [
        "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",
        "No result on ParseBench or OmniDocBench's own leaderboard, so Capability is pending",
        "No quantised build from Xiaomi; the GGUF, MLX and Ollama packages are other people's and Xiaomi says their accuracy isn't established",
        "One image per request and a 16,384-token context, so documents are read page by page",
        "The card names no languages, limitations or context, and there are no safety results or prompt-injection guidance",
        "The agent setup asks an agent to read and execute a remote SKILL.md that installs packages, and the MCP fetches any image_url it's given"
      ],
      "agentNotes": [
        "Serve it with `vllm serve xiaomi-research/Xiaomi-OCR-0 --host 127.0.0.1 --port 8000 --max-model-len 16384` or `python -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 image` then `Please 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"
      ],
      "metrics": {
        "kind": "local",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "low",
          "grade": "C",
          "methodology": "0.7",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 59
        }
      ],
      "editorialScores": {
        "interface": 70,
        "reach": 75,
        "risk": 65,
        "upkeep": 60
      },
      "provenanceScore": 58,
      "checked": {
        "categories": {
          "interface": "2026-10-30",
          "reach": "2026-10-30",
          "risk": "2026-10-30",
          "upkeep": "2026-10-30"
        },
        "last": "2026-10-30",
        "oldest": "2026-10-30",
        "stale": false,
        "staleAfterDays": 90
      },
      "scoreHistory": [
        {
          "date": "2026-10-30",
          "grade": "C",
          "kind": "listed",
          "method": "0.7",
          "score": 59
        }
      ]
    },
    "connect": {
      "install": "uv venv --python 3.13 \u0026\u0026 . .venv/bin/activate\nuv pip install \"transformers==5.17.0\" \"torch==2.14.0\" \"torchvision==0.29.0\" pillow\n# then AutoProcessor.from_pretrained(\"xiaomi-research/Xiaomi-OCR-0\") and AutoModelForImageTextToText.from_pretrained(\"xiaomi-research/Xiaomi-OCR-0\", dtype=torch.float16)\n# processor.apply_chat_template(messages, add_generation_prompt=True, ...) with one image and a task prompt, then model.generate(max_new_tokens=4096, do_sample=False)",
      "http": "# vllm serve xiaomi-research/Xiaomi-OCR-0 --host 127.0.0.1 --port 8000 --max-model-len 16384\ncurl http://127.0.0.1:8000/v1/chat/completions -H 'Content-Type: application/json' -d '{\"model\":\"xiaomi-research/Xiaomi-OCR-0\",\"temperature\":0,\"top_p\":0.8,\"max_tokens\":4096,\"chat_template_kwargs\":{\"enable_thinking\":false},\"messages\":[{\"role\":\"user\",\"content\":[{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,...\"}},{\"type\":\"text\",\"text\":\"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.\"}]}]}'"
    },
    "letme": {
      "capability": "https://letme.dev/docs.ocr",
      "tool": "https://letme.dev/xiaomi-ocr-0"
    },
    "weights": {
      "trainedBy": "Xiaomi",
      "builtOn": "Qwen/Qwen3.5-0.8B-Base (named in the card's metadata, Apache 2.0)",
      "params": "0.87B (873,438,784 by the Hub's count; 0.8B on the card)",
      "context": 16384,
      "goodFor": "Reading document images on small hardware, scanned, photographed or skewed pages to Markdown with LaTeX formulas and tables, receipts and forms to JSON fields, and short answers about a page, locally and under a permissive licence.",
      "runtimes": [
        "Transformers",
        "vLLM",
        "SGLang",
        "llama.cpp",
        "Ollama"
      ],
      "builds": [
        {
          "name": "Xiaomi-OCR-0 (BF16 safetensors)",
          "url": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0/blob/main/model.safetensors",
          "who": "publisher",
          "precision": "bf16",
          "sizeGB": 1.75,
          "memoryGB": 8,
          "format": "safetensors",
          "runsOn": [
            "Transformers",
            "vLLM",
            "SGLang"
          ],
          "note": "1,746,937,856 bytes, so 1.75 GB x 1.2 = 2.10 GB, within 8 GB. The whole repository with tokenizer, images and examples is 1.77 GB, the same band. The only build from Xiaomi; SHA-256 d4551e9f6127ac9e..."
        }
      ],
      "run": "vllm serve xiaomi-research/Xiaomi-OCR-0 --host 127.0.0.1 --port 8000 --max-model-len 16384",
      "runBuild": "Xiaomi-OCR-0 (BF16 safetensors)",
      "checked": "2026-10-30",
      "minMemoryGB": 8
    },
    "family": {
      "lab": "Xiaomi (MiMo)",
      "family": "Xiaomi-OCR",
      "url": "https://www.anchorterminal.com/open-weights/#xiaomi",
      "olderCount": 12
    },
    "notable": [
      "15,472 downloads in the last 30 days and 108 likes on Hugging Face on 30 October 2026, a month after release (https://huggingface.co/api/models/xiaomi-research/Xiaomi-OCR-0)",
      "Real5-OmniDocBench's own leaderboard, kept by the benchmark's authors in PaddlePaddle's organisation, gives Xiaomi-OCR-0 92.73 overall, second of 33 rows behind PaddleOCR-VL-1.6 at 93.19, with the best table TEDS in four of the five capture conditions. Xiaomi merged that figure into its repository's eval results on 23 October 2026. PaddlePaddle also publishes PaddleOCR-VL (https://huggingface.co/datasets/PaddlePaddle/Real5-OmniDocBench)",
      "Xiaomi's card gives 95.24 on Real5-OmniDocBench 'ranked #1', 96.83 on OmniDocBench v1.6 and 87.94 on Wild-OmniDocBench (both 'ranked #2'), all from its own two-stage pipeline with PP-DocLayoutV3 layout detection, and an 83.2 mean over DocVQA, InfoVQA, ChartQA, OCRBench and TextVQA. These are the publisher's numbers, not our measurement (https://huggingface.co/xiaomi-research/Xiaomi-OCR-0)",
      "Neither ParseBench's nor OmniDocBench's own leaderboard has a Xiaomi-OCR-0 row on 30 October 2026, so the claim of first place among models under 1B on OmniDocBench v1.6 couldn't be checked (https://raw.githubusercontent.com/opendatalab/OmniDocBench/main/README.md)",
      "The GitHub repository ships a stdio MCP server with four tools (ocr_image, ocr_pdf, kie_image, vqa_image) and an Agent Skill, both for a model served locally by vLLM, SGLang or Ollama; the server refuses any inference address that isn't loopback (https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/skills/xiaomi-ocr/mcp_ocr_server.py)",
      "Community conversions exist, none from Xiaomi, among them prithivMLmods' GGUF (13,371 downloads), richardyoung's GGUF, an MLX build, a NInfer package, and Ollama packages under user names (longwayxu, richardyoung). Xiaomi's README says it hasn't evaluated the GGUF builds and that its Ollama checks matched 5 of 7 sample outputs (https://huggingface.co/api/models?search=Xiaomi-OCR-0)"
    ],
    "area": "web-data",
    "details": [
      {
        "label": "Surface graded",
        "value": "The open weights at huggingface.co/xiaomi-research/Xiaomi-OCR-0, read from the model card (English), the files and their metadata, the commit history, config, tokenizer, processor and chat template files, the eval results file, and from github.com/xiaomi-research/Xiaomi-OCR-0 the README, INSTALL.md, OLLAMA.md, both SKILL.md files, the MCP server, its installer and requirements, the evaluation guide and its config, and the LICENSE, by raw URL, plus the report's abstract from the Hub's paper page and the runtimes' own code, on 30 October 2026. The technical report's full text couldn't be fetched. Nothing was downloaded or run"
      },
      {
        "label": "Model",
        "value": "Qwen3.5-0.8B-Base's architecture unchanged (Qwen3_5ForConditionalGeneration, model type qwen3_5), a 12-layer vision encoder (hidden 768, 16-pixel patches, 2x2 merge) feeding a 24-layer hybrid language model (three Gated DeltaNet linear-attention layers to each full-attention layer, hidden 1,024, vocabulary 248,320) with one multi-token-prediction layer in the config. 873,438,784 parameters, the same count as the base; the card says 0.8B. Trained by Xiaomi with Q-Mask text anchoring, OCR-centric continued pretraining and mixed-task reinforcement learning (Mix-RL)"
      },
      {
        "label": "Tasks",
        "value": "Whole-page document parsing to Markdown in reading order, with tables in OTSL and formulas in LaTeX, headers and footers dropped; region recognition for text, table and formula crops; key information extraction to JSON from a schema given in the prompt; and short answers to questions about a document image. Xiaomi advises its two-stage region mode for printed documents and whole-page parsing for scene text, handwriting, calligraphy, historical books and irregular layouts. The card's examples are an English maths page, a handwritten derivation, running-script Chinese calligraphy and a Malaysian receipt"
      },
      {
        "label": "Languages",
        "value": "Not stated. The card and README name no languages; the examples and benchmarks are Chinese and English (OmniDocBench has both), with classical Chinese scripts on Chronicles-OCR. The tokenizer is Qwen3.5's 248,320-token vocabulary"
      },
      {
        "label": "Files",
        "value": "One model.safetensors, 1,746,937,856 bytes in BF16, plus tokenizer.json (19.99 MB), config, processor and tokenizer configs, chat_template.jinja, a Chinese card, an eval results file, chart images and example inputs; 1.77 GB in all. No pickle files and no Python. Hugging Face lists a SHA-256 for each LFS file, the weights and tokenizer among them, and a git hash for the rest. The weights and configs are unchanged since 29 September 2026"
      },
      {
        "label": "Licence",
        "value": "Apache 2.0 in the card's metadata and its licence line. The Hugging Face repository has no LICENSE file; the GitHub code repository's LICENSE is the Apache 2.0 text with 'Copyright 2026 Xiaomi Corporation'. The base, Qwen/Qwen3.5-0.8B-Base, is Apache 2.0 with its LICENSE file, so the chain adds no terms and commercial use is free. Training labels came partly from other parsers (PaddleOCR-VL-1.6, MinerU2.5-Pro, GLM-OCR, dots.mocr, HunyuanOCR-1.5, TeleOCR, OvisOCR2, Qianfan-OCR), which isn't a licence-chain question under the checklist"
      },
      {
        "label": "Runtimes",
        "value": "Native in released Transformers (qwen3_5 in the auto mappings at v5.20.2; Xiaomi's verified pin is 5.17.0), vLLM (Qwen3_5ForConditionalGeneration in the registry at v0.32.0), SGLang (qwen3_5.py at v0.5.22) and llama.cpp (the qwen35 architecture with a Qwen3-VL projector), with no remote code. Ollama through a community BF16 GGUF package (longwayxu/xiaomi-ocr-0:bf16, about 1.8 GB) that Xiaomi's README and OLLAMA.md document as experimental, tested with Ollama 0.35.0. LM Studio couldn't be checked. Community MLX, GGUF and NInfer conversions aren't Xiaomi's"
      },
      {
        "label": "Input and output",
        "value": "One image per request with a plain-text task prompt through the chat template (thinking off by default; enable_thinking turns on a think block). The card's prompts are the whole-page document prompt, 'Extract the text in the image.', 'Parse the table in the image into OTSL.', 'Identify the formula in the image and represent it using LATEX format.', and 'Extract key information in the image' followed by a JSON schema. Output is text, Markdown with OTSL tables and LaTeX, plain text, LaTeX, or a JSON object; the repository's postprocess modules turn OTSL into HTML tables and assemble regions into a page. Images are resized to 65,536 to 16,777,216 pixels by the processor; the MCP also caps the long edge at 2,048 px and renders PDFs at 150 DPI, capped at 2,200 px wide. Context 16,384 tokens as Xiaomi documents it for serving (the config carries the base's 262,144 positions), with a 4,096-token default output in the MCP"
      },
      {
        "label": "MCP service and Agent Skill",
        "value": "In the GitHub repository. skills/xiaomi-ocr/mcp_ocr_server.py is a stdio JSON-RPC server (version 0.2.0) with four tools, ocr_image (page or region mode), ocr_pdf (page or region, max_pages, dpi), kie_image (optional field names, returns parsed JSON) and vqa_image (question in, short answer out). It takes a local path, a URL or base64, sends images only to the inference server at XIAOMI_OCR_LOCAL_URL and refuses any address that isn't 127.0.0.1, localhost or ::1. In region mode it loads PaddleX's PP-DocLayoutV3 in-process, which may download layout weights on first use. It fetches any image_url it's given with no allow-list. install.sh makes a private .venv, installs six Python packages and writes mcp-config.json, and with --agent=codex registers the server in Codex's configuration. The root SKILL.md is a setup document that tells an agent to install the Skill with npx skills add, choose a backend and run the installer after asking the user's authorisation; the runtime SKILL.md describes the tools and when to use page or region mode"
      },
      {
        "label": "Recommended settings",
        "value": "Greedy decoding (temperature 0, top_p 0.8), presence and repetition penalties off (0.0 and 1.0), thinking off through chat_template_kwargs enable_thinking false, max_tokens 16,384 in Xiaomi's evaluation and 4,096 in the MCP and card, with a retry at presence penalty 1.5 when output repeats. Two-stage parsing uses PaddleX PP-DocLayoutV3 at threshold 0.25 in evaluation (0.3 in the MCP)"
      },
      {
        "label": "Hardware",
        "value": "No memory figure stated. The card's Transformers example runs on CUDA, Apple MPS or CPU (float32 on CPU). The README's SGLang and vLLM routes are for a compatible GPU, and OLLAMA.md reports runs on Apple silicon and a Linux RTX 4090. The 1.75 GB BF16 file fits 8 GB with a fifth added"
      },
      {
        "label": "Training data",
        "value": "About 170 million OCR-centric samples for parsing, KIE and VQA, labelled by an ensemble of eight other OCR models with triplet consensus, render-guided checks where they disagree, sample mining and synthetic data aimed at gaps and recurring errors. No datasets are named, no sizes by source are given and no cut-off is stated (from the card; the report's full text wasn't read)"
      }
    ],
    "provenance": {
      "legalEntity": "Xiaomi Corporation",
      "domain": "mi.com",
      "domainRegistered": "",
      "endpointOnVendorDomain": null,
      "terms": "",
      "privacy": "",
      "statusPage": "",
      "changelog": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0/commits/main",
      "securityTxt": "unknown",
      "checked": "2026-10-30",
      "notes": [
        "The files sit in the xiaomi-research organisation on Hugging Face (Xiaomi Research, 12 members, not verified by the Hub), moved from SeerRay-Lab, another unverified organisation whose tag and members overlap. The GitHub repository under xiaomi-research carries the Apache 2.0 licence with 'Copyright 2026 Xiaomi Corporation', and the report's byline includes ten authors. No page on a Xiaomi domain linking either organisation was found, and Xiaomi's sites answered 403 to robots.txt in the 28 October reading for MiMo.",
        "Nothing is hosted in this listing, so the Apache 2.0 licence stands in for terms of service and no privacy policy is scored.",
        "The changelog is the repository's commit history, 17 commits from 29 September to 29 October 2026, all by loongwayX (Longwei Xu, a member of xiaomi-research and an author of the report) except merged pull requests from Hugging Face staff and PaddlePaddle. The weights, configs and template are unchanged since 29 September.",
        "No SECURITY.md in the GitHub repository (404 at main). Xiaomi's company security centre is carried from the MiMo-V2.6-Distill reading of 28 October 2026 and wasn't re-read."
      ],
      "score": 58,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Xiaomi Corporation",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "mi.com, no registry record we could read",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "no hosted endpoint",
          "points": 0,
          "max": 0,
          "state": "na"
        },
        {
          "check": "Terms of service",
          "value": "nothing hosted, so the 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) licence stands in",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Privacy policy",
          "value": "nothing hosted, not scored",
          "points": 0,
          "max": 0,
          "state": "na"
        },
        {
          "check": "Status page",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "could not be fetched",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "People named",
          "value": "5 named with their role, none with a public profile",
          "points": 7,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Support route",
          "value": "help pages, a community",
          "points": 5,
          "max": 5,
          "state": "ok"
        }
      ]
    },
    "humans": {
      "slug": "xiaomi-ocr-0",
      "checked": "2026-10-30",
      "company": "Xiaomi",
      "people": [
        {
          "name": "Lei Jun",
          "role": "Founder, chairman and CEO, Xiaomi",
          "founder": true,
          "photo": "/assets/img/people/xiaomi-mimo-team-lei-jun.webp",
          "photoSource": "https://www.mi.com/global/about/founder/",
          "bio": "Lei Jun founded Xiaomi and is its chairman and chief executive. He joined Kingsoft in 1992, held several senior roles there and has chaired its board since July 2011. In 2000 he founded the online retailer joyo.com, which Amazon acquired in 2004, and he has made angel investments in companies including JOYY and UCWeb.",
          "bioSources": [
            "https://www.mi.com/global/about/founder/"
          ],
          "page": "/people/lei-jun/"
        },
        {
          "name": "Lin Bin",
          "role": "Co-founder, vice chairman and executive director, Xiaomi",
          "founder": true,
          "photo": "/assets/img/people/xiaomi-mimo-team-lin-bin.webp",
          "photoSource": "https://www.mi.com/global/about/founder/",
          "bio": "Lin Bin co-founded Xiaomi with Lei Jun in 2010 and was its president until 2019, when he became vice chairman. Before Xiaomi he was an engineering director at Google from 2006 to 2010, and from 1995 to 2006 he worked at Microsoft in roles from software design engineer to engineering director.",
          "bioSources": [
            "https://www.mi.com/global/about/founder/"
          ],
          "page": "/people/lin-bin/"
        },
        {
          "name": "Liu De",
          "role": "Co-founder, executive director and senior vice president, Xiaomi",
          "founder": true,
          "photo": "/assets/img/people/xiaomi-mimo-team-liu-de.webp",
          "photoSource": "https://www.mi.com/global/about/founder/",
          "bio": "Liu De co-founded Xiaomi in 2010 and is an executive director, a senior vice president and head of its Leadership Management Department. His early work there covered the smartphone supply chain and industrial design. Before Xiaomi he founded the design firms Rethink Concept and Beijing Xinfengrui Industrial Design.",
          "bioSources": [
            "https://www.mi.com/global/about/founder/"
          ],
          "page": "/people/liu-de/"
        },
        {
          "name": "Xin Chen",
          "role": "First-listed author, Xiaomi-OCR-0 technical report",
          "page": "/people/xin-chen/"
        },
        {
          "name": "Longwei Xu",
          "role": "Author, Xiaomi-OCR-0 technical report, who published the model files on Hugging Face",
          "page": "/people/longwei-xu/"
        }
      ],
      "peopleNote": "The founders, their bios and photos, the company's X account and ownership are carried from data/humans/mimo-v2-6-distill-qwen-9b.json (checked 28 October 2026), the same company; that listing's vendor is Xiaomi (MiMo team), published by Xiaomi's XiaomiMiMo organisation, so it is a Xiaomi listing. www.mi.com and ir.mi.com answered 403 to their robots.txt in that reading, and nothing was fetched from them today. The model card's citation, read on 30 October 2026, lists the report's ten authors as Xin Chen, Anan Du, Feng Feng, Pei Fu, Jian Luan, Longwei Xu, Shaojie Zhang, Hang Li, Heng Qu and Cheng Tan, with no roles or affiliations; the first-listed author and Longwei Xu, whose Hugging Face account (loongwayX, a member of xiaomi-research) made every commit to the model repository, are listed. The others' roles couldn't be sourced from a first-hand page, and no LinkedIn, X or GitHub account is given for anyone. The files moved from the SeerRay-Lab organisation to xiaomi-research; neither is verified by the Hub, and no Xiaomi page linking them was found, so neither is given as the company's account. Roster may be incomplete. Xiaomi is listed on the Hong Kong exchange, so no investors are given.",
      "companySocial": {
        "x": "https://x.com/Xiaomi"
      },
      "support": {
        "urls": [
          "https://github.com/xiaomi-research/Xiaomi-OCR-0"
        ],
        "community": [
          {
            "label": "Hugging Face discussions",
            "url": "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0/discussions",
            "kind": "forum"
          }
        ]
      },
      "sources": [
        "https://huggingface.co/xiaomi-research/Xiaomi-OCR-0",
        "https://huggingface.co/api/models/xiaomi-research/Xiaomi-OCR-0/commits/main",
        "https://huggingface.co/api/papers/2609.36136",
        "https://raw.githubusercontent.com/xiaomi-research/Xiaomi-OCR-0/main/README.md",
        "https://www.mi.com/global/about/founder/"
      ],
      "ownership": {
        "status": "public",
        "exchange": "HKEX",
        "ticker": "1810",
        "checked": "2026-10-28",
        "sources": [
          "https://www1.hkexnews.hk/listedco/listconews/sehk/2026/0818/2026081801086.pdf"
        ]
      }
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/xiaomi-ocr-0.json"
  }
}
