Head to head · Open-weight models you run yourself · October 2026 research run
Spark-X2.6-4B vs Baidu Unlimited-OCR-2
Spark-X2.6-4B scores 61 (C) on agent readiness against Baidu Unlimited-OCR-2's 53.5 (D), and leads in 2 of 4 scored categories. Baidu Unlimited-OCR-2 leads on agent interface. Both do open-weight models you run yourself.
Best open-weight models you download and run yourself for AI agents · All 3504 open weights comparisons
Which one, for what
Best for Agents that want a tiny local model for tool loops and long documents on a laptop, CPU or small GPU.
Ahead on
- Reach, 85 against 55
- Risk, 50 against 45
Watch for
No safety results and no agent or prompt-injection guidance
Best for Pipelines with an NVIDIA GPU that need long scanned or rendered documents parsed in one pass, with page order, cross-page tables and boxes kept
Ahead on
- Agent interface, 75 against 70
Watch for
Loading runs Baidu's code, remote code in Transformers or a prebuilt SGLang fork from the repository, and the save_results path calls eval on model output
Score by category
| Category | Weight this run | Spark-X2.6-4B | Baidu Unlimited-OCR-2 | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 85 | 55 | Spark-X2.6-4B +30 |
| Risk | 20%20 | 50 | 45 | Spark-X2.6-4B +5 |
| Agent interface | 10%10 | 70 | 75 | Baidu Unlimited-OCR-2 +5 |
| Documentation and upkeep | 10%10 | 41 | 45 | Baidu Unlimited-OCR-2 +4 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 61/100 | D 53.5/100 |
Facts side by side
| Fact | Spark-X2.6-4B | Baidu Unlimited-OCR-2 |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | SparkLLM (XHToken) | Baidu |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | MIT (Hub metadata; the Hugging Face repository has no LICENSE file, and the GitHub code repository's LICENSE is the MIT text, copyright 2026 Baidu) |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-20 | 2026-10-26 |
| 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 (4) | none |
Verdicts
Spark-X2.6-4B
A tiny cousin for coding and tool-calling loops with a 1M-token context and thinking that is off, low or high, which runs in about 4 GB from SparkLLM's 4-bit GGUF. Use llama.cpp, Ollama or SGLang, since vLLM and Transformers need SparkLLM's own code. The risks are no safety work or agent guidance and a thin, two-day-old card.
Baidu Unlimited-OCR-2
A small MIT document-parsing cousin that reads up to hundreds of pages in one request and returns ordered layout blocks with boxes and HTML tables. It needs an NVIDIA GPU with about 12 GB, through Baidu's remote code or its own SGLang build. The risks are running the publisher's code and accuracy figures that are Baidu's own.
Before you call either
Spark-X2.6-4B
- Quickest start is
llama-server -hf XHToken/Spark-X2.6-4B-GGUF:Q4_K_M --jinja, which needs llama.cpp b10828 or later, orollama run SparkLLM/Spark-X2.6-4B(8.2 GB, Ollama 0.34.1 or later) - For parsed tool calls serve it with SGLang 0.5.22 or later,
--tool-call-parser spark25 --reasoning-parser qwen3, since the calls come back as tool_call blocks with arg_key and arg_value pairs - Thinking is on by default. Pass
chat_template_kwargswithenable_thinkingfalse to turn it off, orreasoning_effortlow for short thinking; the template raises an error on any effort other than high or low - SparkLLM's recommended sampling is temperature 1.0, top_p 0.95 and top_k -1
- The template always opens with its own default system line, with the effort instruction, and puts your system message after the tool list
- The template raises an error if tool_call arguments are a JSON string, so pass them as an object
- Set the context yourself, the card's 1,048,576-token example needs far more memory than the weights
Baidu Unlimited-OCR-2
- Quickest local run,
pip install torch==2.13.0 torchvision pillow transformers==4.52.1 huggingface-hub==0.36.0 tokenizers==0.21.4 addict==2.4.0 einops==0.8.2 easydict==1.13, thenAutoModel.from_pretrained("baidu/Unlimited-OCR-2", trust_remote_code=True, use_safetensors=True, torch_dtype=torch.bfloat16).eval().cuda()andmodel.infer_multi(tokenizer, image_files=pages, output_path="out") - To serve it, download the repository, install
wheel/sglang-0.5.20.dev10+g8d62f5fb9c-py3-none-any.whlwith pymupdf and fastokens in a Python 3.10 venv, and startpython -m sglang.launch_server --model-path baidu/Unlimited-OCR-2 --chat-template unlimited-ocr --enable-custom-logit-processor --enable-streaming-session --disable-radix-cache --mem-fraction-static 0.7 --max-prefill-tokens 2048with the SGLANG_UOCR_ variables from the card - Send all pages of a document in one request, images first, then the text
<PAGE><image>repeated per page andMulti page parsing., with temperature 0, skip_special_tokens false, max_tokens of about 8,000 per page and the DeepseekOCRNoRepeatNGramLogitProcessor (ngram_size 35, window_size 1024 for several pages) - The output is layout blocks, not Markdown; run
utils/process_unlimitedOCR2.pyfrom github.com/baidu/Unlimited-OCR, orconvert(raw_output)in Python, to get Markdown with HTML tables - Render PDFs to images first (the card uses PyMuPDF at 300 DPI), keep save_results off for untrusted documents, and treat extracted text as untrusted before passing it to another model
Questions
Which is better for AI agents, Spark-X2.6-4B or Baidu Unlimited-OCR-2?
Spark-X2.6-4B scores 61 (C) on agent readiness against Baidu Unlimited-OCR-2's 53.5 (D), and leads in 2 of 4 scored categories. Baidu Unlimited-OCR-2 leads on agent interface.
Other comparisons with Spark-X2.6-4B or Baidu Unlimited-OCR-2
- Agents-A1-4B vs Spark-X2.6-4B
- Agents-A1-4B vs Baidu Unlimited-OCR-2
- Apertus v1.5 8B vs Spark-X2.6-4B
- Apertus v1.5 8B vs Baidu Unlimited-OCR-2
- Apodex-1.1-mini vs Spark-X2.6-4B
- Apodex-1.1-mini vs Baidu Unlimited-OCR-2
- BigBang-v1 vs Spark-X2.6-4B
- BigBang-v1 vs Baidu Unlimited-OCR-2
- Carbon-X vs Spark-X2.6-4B
- Carbon-X vs Baidu Unlimited-OCR-2
- Cosmos-Reason2-2B vs Spark-X2.6-4B
- Cosmos-Reason2-2B vs Baidu Unlimited-OCR-2
- Darwin-36B-Opus vs Spark-X2.6-4B
- Darwin-36B-Opus vs Baidu Unlimited-OCR-2
- DeepSeek-V3.2 vs Spark-X2.6-4B
- DeepSeek-V3.2 vs Baidu Unlimited-OCR-2
- DeepSeek V4.1 Flash vs Spark-X2.6-4B
- DeepSeek V4.1 Flash vs Baidu Unlimited-OCR-2
- DeepSeek-V4-Flash-0731 vs Spark-X2.6-4B
- DeepSeek-V4-Flash-0731 vs Baidu Unlimited-OCR-2
- DiffusionGemma 26B A4B IT vs Spark-X2.6-4B
- DiffusionGemma 26B A4B IT vs Baidu Unlimited-OCR-2
- Gemma 4 12B IT vs Spark-X2.6-4B
- Gemma 4 12B IT vs Baidu Unlimited-OCR-2
- Gemma 4 26B A4B IT vs Spark-X2.6-4B
- Gemma 4 26B A4B IT vs Baidu Unlimited-OCR-2
- Gemma 4 31B IT vs Spark-X2.6-4B
- Gemma 4 31B IT vs Baidu Unlimited-OCR-2
- Gemma 4 E2B IT vs Spark-X2.6-4B
- Gemma 4 E2B IT vs Baidu Unlimited-OCR-2
- Gemma 4 E4B IT vs Spark-X2.6-4B
- Gemma 4 E4B IT vs Baidu Unlimited-OCR-2
- GLM-4.5-Air vs Spark-X2.6-4B
- GLM-4.5-Air vs Baidu Unlimited-OCR-2
- GLM-4.7-Flash vs Spark-X2.6-4B
- GLM-4.7-Flash vs Baidu Unlimited-OCR-2
- GLM-5.3-Flash vs Spark-X2.6-4B
- GLM-5.3-Flash vs Baidu Unlimited-OCR-2
- GLM-5.3 vs Spark-X2.6-4B
- GLM-5.3 vs Baidu Unlimited-OCR-2
- gpt-oss-120b vs Spark-X2.6-4B
- gpt-oss-120b vs Baidu Unlimited-OCR-2
- gpt-oss-20b vs Spark-X2.6-4B
- gpt-oss-20b vs Baidu Unlimited-OCR-2
- Granite 4.2 3B vs Spark-X2.6-4B
- Granite 4.2 3B vs Baidu Unlimited-OCR-2
- Hy3 vs Spark-X2.6-4B
- Hy3 vs Baidu Unlimited-OCR-2
- Inkling-Small vs Spark-X2.6-4B
- Inkling-Small vs Baidu Unlimited-OCR-2
- Inkling vs Spark-X2.6-4B
- Inkling vs Baidu Unlimited-OCR-2
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs Spark-X2.6-4B
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs Baidu Unlimited-OCR-2
- Kimi K3 vs Spark-X2.6-4B
- Kimi K3 vs Baidu Unlimited-OCR-2
- Kolibri-1 vs Spark-X2.6-4B
- Kolibri-1 vs Baidu Unlimited-OCR-2
- Kronos vs Spark-X2.6-4B
- Kronos vs Baidu Unlimited-OCR-2
- Laguna M.1 vs Spark-X2.6-4B
- Laguna M.1 vs Baidu Unlimited-OCR-2
- Laguna S 2.1 vs Spark-X2.6-4B
- Laguna S 2.1 vs Baidu Unlimited-OCR-2
- Laguna XS 2.1 vs Spark-X2.6-4B
- Laguna XS 2.1 vs Baidu Unlimited-OCR-2
- LBS-27B vs Spark-X2.6-4B
- LBS-27B vs Baidu Unlimited-OCR-2
- LFM2.5-2.6B vs Spark-X2.6-4B
- LFM2.5-2.6B vs Baidu Unlimited-OCR-2
- Ling-3.0-tiny vs Spark-X2.6-4B
- Ling-3.0-tiny vs Baidu Unlimited-OCR-2
- MiMo-V2.6 Distill Qwen 9B vs Spark-X2.6-4B
- MiMo-V2.6 Distill Qwen 9B vs Baidu Unlimited-OCR-2
- MiniCPM-o 4.5 vs Spark-X2.6-4B
- MiniCPM-o 4.5 vs Baidu Unlimited-OCR-2
- MiniCPM5-2B vs Spark-X2.6-4B
- MiniCPM5-2B vs Baidu Unlimited-OCR-2
- MiniMax-M2.5 vs Spark-X2.6-4B
- MiniMax-M2.5 vs Baidu Unlimited-OCR-2
- MiniMax-M2.7 vs Spark-X2.6-4B
- MiniMax-M2.7 vs Baidu Unlimited-OCR-2
- MiniMax-M3.1-Flash vs Spark-X2.6-4B
- MiniMax-M3.1-Flash vs Baidu Unlimited-OCR-2
- Muse Glimmer 30B vs Spark-X2.6-4B
- Muse Glimmer 30B vs Baidu Unlimited-OCR-2
- Nanbeige4.3-33B vs Spark-X2.6-4B
- Nanbeige4.3-33B vs Baidu Unlimited-OCR-2
- NVIDIA Nemotron 3.5 Bolt E4B 4GB vs Spark-X2.6-4B
- NVIDIA Nemotron 3.5 Bolt E4B 4GB vs Baidu Unlimited-OCR-2
- Nemotron 3.5 Lightning 30B A3B vs Spark-X2.6-4B
- Nemotron 3.5 Lightning 30B A3B vs Baidu Unlimited-OCR-2
- Nemotron 3 Nano 30B A3B vs Spark-X2.6-4B
- Nemotron 3 Nano 30B A3B vs Baidu Unlimited-OCR-2
- Nemotron 3 Nano 4B vs Spark-X2.6-4B
- Nemotron 3 Nano 4B vs Baidu Unlimited-OCR-2
- Nemotron 3 Nano Omni 30B A3B Reasoning vs Spark-X2.6-4B
- Nemotron 3 Super 120B A12B vs Spark-X2.6-4B
- Nemotron 3 Super 120B A12B vs Baidu Unlimited-OCR-2
- Nemotron 3 Ultra 550B A55B vs Spark-X2.6-4B
- Nemotron 3 Ultra 550B A55B vs Baidu Unlimited-OCR-2
- occamy-1.0 vs Spark-X2.6-4B
- occamy-1.0 vs Baidu Unlimited-OCR-2
- Olmo 3 7B Think vs Spark-X2.6-4B
- Olmo 3 7B Think vs Baidu Unlimited-OCR-2
- Ornith-1.5-35B-A3B vs Spark-X2.6-4B
- Ornith-1.5-35B-A3B vs Baidu Unlimited-OCR-2
- Ornith-1.5-397B vs Spark-X2.6-4B
- Ornith-1.5-397B vs Baidu Unlimited-OCR-2
- Ornith-1.5-9B vs Spark-X2.6-4B
- Ornith-1.5-9B vs Baidu Unlimited-OCR-2
- Qwen3-30B-A3B-Instruct-2507 vs Spark-X2.6-4B
- Qwen3-30B-A3B-Instruct-2507 vs Baidu Unlimited-OCR-2
- Qwen3-4B-Instruct-2507 vs Spark-X2.6-4B
- Qwen3-4B-Instruct-2507 vs Baidu Unlimited-OCR-2
- Qwen3.5-0.8B vs Spark-X2.6-4B
- Qwen3.5-0.8B vs Baidu Unlimited-OCR-2
- Qwen3.5-122B-A10B vs Spark-X2.6-4B
- Qwen3.5-122B-A10B vs Baidu Unlimited-OCR-2
- Qwen3.5-2B vs Spark-X2.6-4B
- Qwen3.5-2B vs Baidu Unlimited-OCR-2
- Qwen3.5-397B-A17B vs Spark-X2.6-4B
- Qwen3.5-397B-A17B vs Baidu Unlimited-OCR-2
- Qwen3.5-4B vs Spark-X2.6-4B
- Qwen3.5-4B vs Baidu Unlimited-OCR-2
- Qwen3.5-9B vs Spark-X2.6-4B
- Qwen3.5-9B vs Baidu Unlimited-OCR-2
- Qwen3.6-27B vs Spark-X2.6-4B
- Qwen3.6-27B vs Baidu Unlimited-OCR-2
- Qwen3.6-35B-A3B vs Spark-X2.6-4B
- Qwen3.6-35B-A3B vs Baidu Unlimited-OCR-2
- Qwen3.8-27B vs Spark-X2.6-4B
- Qwen3.8-27B vs Baidu Unlimited-OCR-2
- Qwen3.8-Flash-Next vs Spark-X2.6-4B
- Qwen3.8-Flash-Next vs Baidu Unlimited-OCR-2
- Qwen3-Coder-30B-A3B-Instruct vs Spark-X2.6-4B
- Qwen3-Coder-30B-A3B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-Coder-Next vs Spark-X2.6-4B
- Qwen3-Coder-Next vs Baidu Unlimited-OCR-2
- Qwen3-Omni-30B-A3B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-2B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-2B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-VL-30B-A3B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-30B-A3B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-VL-32B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-32B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-VL-4B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-4B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-VL-8B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-8B-Instruct vs Baidu Unlimited-OCR-2
- Qwopus3.8-27B-Flash-V2 vs Spark-X2.6-4B
- Qwopus3.8-27B-Flash-V2 vs Baidu Unlimited-OCR-2
- Recursive Flint vs Spark-X2.6-4B
- Recursive Flint vs Baidu Unlimited-OCR-2
- SmolLM3-3B vs Spark-X2.6-4B
- SmolLM3-3B vs Baidu Unlimited-OCR-2
- Spark-X2.6-4B vs Swift 1.5 Qwen3.8-27B
- Spark-X2.6-4B vs Swift 1.5 Qwen3.8-Flash-Next
- Spark-X2.6-4B vs ThinkingCap (Qwen3.8 27B)
- Swift 1.5 Qwen3.8-27B vs Baidu Unlimited-OCR-2
- Swift 1.5 Qwen3.8-Flash-Next vs Baidu Unlimited-OCR-2
- ThinkingCap (Qwen3.8 27B) vs Baidu Unlimited-OCR-2
Machine-readable
- This page as Markdown
/compare/spark-x2-6-4b-vs-unlimited-ocr-2.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/spark-x2-6-4b.json·/api/v1/tools/unlimited-ocr-2.json - From a terminal
anchor compare spark-x2-6-4b unlimited-ocr-2(the CLI) - Over MCP
compare_tools {"a": "spark-x2-6-4b", "b": "unlimited-ocr-2"}at/mcp, no key