Head to head · Open-weight models you run yourself · October 2026 research run
LFM3-Audio-2B vs Baidu Unlimited-OCR-2
LFM3-Audio-2B scores 61 (C) on agent readiness against Baidu Unlimited-OCR-2's 54.2 (C), and leads in 3 of 4 scored categories. Baidu Unlimited-OCR-2 leads on risk. Both do open-weight models you run yourself.
Best open-weight models you download and run yourself for AI agents · All 4969 open weights comparisons
Which one, for what
Best for Voice agents on a laptop or phone that need speech in, speech out and tool calls from one small model
Ahead on
- Reach, 80 against 55
- Agent interface, 85 against 75
Watch for
Only llama.cpp and Ollama run it in a release, though the card lists vLLM and SGLang
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
- Risk, 45 against 40
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
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Reach LFM3-Audio-2B +25
LFM3-Audio-2B 80
Memory 30, Liquid's Q4_K_M GGUF is 1.10 GB with its 0.17 GB projector file, and 1.27 GB × 1.2 = 1.5 GB, which fits 8 GB, well inside the 16 GB line. Runtimes 10, Released llama.cpp has the lfm3 architecture with the LFM3 audio projector and speech output (src/models/lfm3.cpp and tools/mtmd at b12242, with a realtime client example that starts this model), and Ollama's library has an lfm3-audio entry. Builds 15, Liquid's GGUF repository holds Q4_0, Q4_K_M, Q8_0, F16 and BF16 files, and Liquid publishes 4-bit and 8-bit MLX builds and an ONNX repository, all in the LiquidAI organisation. Terms 10, the LFM Open License v1.0, a custom licence that lets anyone use it commercially for free below a threshold of $10M annual revenue. Download 10, the Hub API reports gated false for the model and its GGUF, MLX and ONNX repositories on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, Liquid's own API lists lfm3-audio-2b among its models, so the publisher hosts it. 30 + 10 + 15 + 10 + 10 + 5 = 80.
Baidu Unlimited-OCR-2 55
Memory earns the full 30, since the only build is 6.69 GB of BF16 weights that need about 8 GB with the fifth added. Runtimes score 0. Released vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.1 know the first Unlimited-OCR but not the sparse attention this one adds, Baidu's own routes are remote code in Transformers and a customised SGLang wheel, llama.cpp b12111 has nothing for it, so Ollama has nothing either, and LM Studio couldn't be checked. Builds score 0, as Baidu publishes no quantised build (16 exist, all by others). Terms get 15 for MIT with nothing added. Download gets 10 for an ungated repository, and hosted too 0, with no inference provider mapped and the card's Baidu Cloud line unconfirmed.
Agent interface LFM3-Audio-2B +10
LFM3-Audio-2B 85
Chat template 20, chat_template.jinja in the repository (9,328 characters), with roles, audio, tools, deferred tools and tool results. Tool-calling format 25, the card and Liquid's tool-use page document tools passed through tools= in apply_chat_template, calls returned as XML and results sent back as tool messages. Trained tool calling 20, the template loops over every entry in an assistant turn's tool_calls, so several calls fit in one turn, and the card names turning spoken requests into tool calls as one of its four uses. Structured output 5, the card says the model is designed for structured outputs without saying how to ask for JSON. Liquid's API guide documents response_format with lfm3-1.7b as its example. Reasoning control 10, the card documents reasoning per request for text replies: the caller prefills the assistant turn with an open think tag to let the model reason, or a closed one for a direct answer, with a use_thinking example. Context 5, 32K tokens of input and output per the card. 20 + 25 + 20 + 5 + 10 + 5 = 85.
Baidu Unlimited-OCR-2 75
Read for a document parser, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. Baidu documents the page images, the prompt, the request settings and the block output, and ships a converter for the server's output (25). It was trained to read many pages in one request (20). The block format with classes, boxes and HTML tables, and its conversion to Markdown, are documented with how to get them (15). The prompt is built in code, with no Jinja template in the repository (10). Reasoning control scores 0, and the context 5, trained at up to 64K tokens.
Risk Baidu Unlimited-OCR-2 +5
LFM3-Audio-2B 40
File safety 15, safetensors only, no .bin, .pt or .pth files (25). Provenance 15, files in the LiquidAI organisation, which Liquid's docs page for the model and its blog post link to (10). Safety evaluation 0, no safety results on the card or in Liquid's blog post for the LFM3 family, neither of which mentions safety testing. Agent guidance 0, Nothing on prompt injection, an instruction hierarchy, what refusals cover or safeguards to add. Licence risk 10, 15 less 5 for the $10M annual revenue threshold on commercial use. Security programme 0, no way to report a flaw found. 15 + 15 + 0 + 0 + 10 + 0 = 40.
Baidu Unlimited-OCR-2 45
File safety gets 15, safetensors only but loaded with trust_remote_code or through a prebuilt SGLang wheel from the repository. Provenance gets 15 for files in Baidu's verified organisation, linked from its GitHub organisation, with hashes for every file. Licence risk keeps 15, since MIT has none of the deductions. Safety evaluation, agent guidance and the security programme score 0, with no safety results, no cautions about use and no security contact found.
Score by category
| Category | Weight this run | LFM3-Audio-2B | Baidu Unlimited-OCR-2 | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 80 | 55 | LFM3-Audio-2B +25 |
| Risk | 20%20 | 40 | 45 | Baidu Unlimited-OCR-2 +5 |
| Agent interface | 10%10 | 85 | 75 | LFM3-Audio-2B +10 |
| Documentation and upkeep | 10%10 | 52 | 50 | LFM3-Audio-2B +2 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 61/100 | C 54.2/100 |
Facts side by side
| Fact | LFM3-Audio-2B | Baidu Unlimited-OCR-2 |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Liquid AI | Baidu |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | LFM Open License v1.0 (free commercial use below $10M annual revenue) | 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 | yes | no |
| Last release | 2026-11-03 | 2026-10-26 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
How the scores have moved
LFM3-Audio-2B
No score change since it was listed.
Verdicts
LFM3-Audio-2B
A 2B model that listens and speaks on an 8 GB machine, transcribes and translates 19 languages and turns spoken requests into tool calls. Only llama.cpp and Ollama run it in a release. The context is 32K, voice chat is English only, Liquid hasn't answered the repository's questions, and there are no safety results or data sources.
Baidu Unlimited-OCR-2
An MIT document parser of 3.3B parameters that reads up to hundreds of pages in one request and returns ordered layout blocks with boxes and HTML tables. ParseBench's independent run puts content faithfulness at 89.16 and charts at 1.06. It needs an NVIDIA GPU with about 12 GB and runs only through Baidu's remote code or its own SGLang build.
Before you call either
LFM3-Audio-2B
- Start it with
llama-server -hf LiquidAI/LFM3-Audio-2B-GGUF:Q4_K_M --jinjaorollama run lfm3-audio - llama.cpp ships examples/realtime_client.py for live speech with this model
- Prefill the assistant turn with an open think tag to let it reason before a text reply
- The context is 32K
- Voice chat is English only, while transcription, synthesis and translation cover 19 languages and locales
- Liquid doesn't recommend it for agentic coding or complex multi-step reasoning
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.dev13+g75b9b06b02-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, LFM3-Audio-2B or Baidu Unlimited-OCR-2?
LFM3-Audio-2B scores 61 (C) on agent readiness against Baidu Unlimited-OCR-2's 54.2 (C), and leads in 3 of 4 scored categories. Baidu Unlimited-OCR-2 leads on risk.
Other comparisons with LFM3-Audio-2B or Baidu Unlimited-OCR-2
- Agents-A1-4B vs LFM3-Audio-2B
- Agents-A1-4B vs Baidu Unlimited-OCR-2
- Apertus v1.5 8B vs LFM3-Audio-2B
- Apertus v1.5 8B vs Baidu Unlimited-OCR-2
- Apodex-1.1-mini vs LFM3-Audio-2B
- Apodex-1.1-mini vs Baidu Unlimited-OCR-2
- Arete-27B vs LFM3-Audio-2B
- Arete-27B vs Baidu Unlimited-OCR-2
- BigBang-v1 vs LFM3-Audio-2B
- BigBang-v1 vs Baidu Unlimited-OCR-2
- Carbon-X vs LFM3-Audio-2B
- Carbon-X vs Baidu Unlimited-OCR-2
- Cosmos-Reason2-2B vs LFM3-Audio-2B
- Cosmos-Reason2-2B vs Baidu Unlimited-OCR-2
- Darwin-36B-Opus vs LFM3-Audio-2B
- Darwin-36B-Opus vs Baidu Unlimited-OCR-2
- DeepSeek-V3.2 vs LFM3-Audio-2B
- DeepSeek-V3.2 vs Baidu Unlimited-OCR-2
- DeepSeek V4.1 Flash vs LFM3-Audio-2B
- DeepSeek V4.1 Flash vs Baidu Unlimited-OCR-2
- DeepSeek-V4-Flash-0731 vs LFM3-Audio-2B
- DeepSeek-V4-Flash-0731 vs Baidu Unlimited-OCR-2
- DiffusionGemma 26B A4B IT vs LFM3-Audio-2B
- DiffusionGemma 26B A4B IT vs Baidu Unlimited-OCR-2
- Gemma 4 12B IT vs LFM3-Audio-2B
- Gemma 4 12B IT vs Baidu Unlimited-OCR-2
- Gemma 4 26B A4B IT vs LFM3-Audio-2B
- Gemma 4 26B A4B IT vs Baidu Unlimited-OCR-2
- Gemma 4 31B IT vs LFM3-Audio-2B
- Gemma 4 31B IT vs Baidu Unlimited-OCR-2
- Gemma 4 E2B IT vs LFM3-Audio-2B
- Gemma 4 E2B IT vs Baidu Unlimited-OCR-2
- Gemma 4 E4B IT vs LFM3-Audio-2B
- Gemma 4 E4B IT vs Baidu Unlimited-OCR-2
- GLM-4.5-Air vs LFM3-Audio-2B
- GLM-4.5-Air vs Baidu Unlimited-OCR-2
- GLM-4.7-Flash vs LFM3-Audio-2B
- GLM-4.7-Flash vs Baidu Unlimited-OCR-2
- GLM-5.3-Flash vs LFM3-Audio-2B
- GLM-5.3-Flash vs Baidu Unlimited-OCR-2
- GLM-5.3 vs LFM3-Audio-2B
- GLM-5.3 vs Baidu Unlimited-OCR-2
- gpt-oss-120b vs LFM3-Audio-2B
- gpt-oss-120b vs Baidu Unlimited-OCR-2
- gpt-oss-20b vs LFM3-Audio-2B
- gpt-oss-20b vs Baidu Unlimited-OCR-2
- Granite 4.2 30B vs LFM3-Audio-2B
- Granite 4.2 30B vs Baidu Unlimited-OCR-2
- Granite 4.2 3B vs LFM3-Audio-2B
- Granite 4.2 3B vs Baidu Unlimited-OCR-2
- Granite 4.2 8B vs LFM3-Audio-2B
- Granite 4.2 8B vs Baidu Unlimited-OCR-2
- Hy-Memory-30B-A3B vs LFM3-Audio-2B
- Hy-Memory-30B-A3B vs Baidu Unlimited-OCR-2
- Hy3 vs LFM3-Audio-2B
- Hy3 vs Baidu Unlimited-OCR-2
- Inkling-Small vs LFM3-Audio-2B
- Inkling-Small vs Baidu Unlimited-OCR-2
- Inkling vs LFM3-Audio-2B
- Inkling vs Baidu Unlimited-OCR-2
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs LFM3-Audio-2B
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs Baidu Unlimited-OCR-2
- Kimi K3.1 Pro vs LFM3-Audio-2B
- Kimi K3.1 Pro vs Baidu Unlimited-OCR-2
- Kimi K3 vs LFM3-Audio-2B
- Kimi K3 vs Baidu Unlimited-OCR-2
- Kolibri-1 vs LFM3-Audio-2B
- Kolibri-1 vs Baidu Unlimited-OCR-2
- Kronos vs LFM3-Audio-2B
- Kronos vs Baidu Unlimited-OCR-2
- Laguna M.1 vs LFM3-Audio-2B
- Laguna M.1 vs Baidu Unlimited-OCR-2
- Laguna S 2.1 vs LFM3-Audio-2B
- Laguna S 2.1 vs Baidu Unlimited-OCR-2
- Laguna XS 2.1 vs LFM3-Audio-2B
- Laguna XS 2.1 vs Baidu Unlimited-OCR-2
- LBS-27B vs LFM3-Audio-2B
- LBS-27B vs Baidu Unlimited-OCR-2
- LFM2.5-2.6B vs LFM3-Audio-2B
- LFM2.5-2.6B vs Baidu Unlimited-OCR-2
- LFM3-1.7B vs LFM3-Audio-2B
- LFM3-1.7B vs Baidu Unlimited-OCR-2
- LFM3-Audio-2B vs LFM3-Omni-2B
- LFM3-Audio-2B vs LFM3-VL-2B
- LFM3-Audio-2B vs Ling-3.0-tiny
- LFM3-Audio-2B vs Ling-3.1-flash-1019
- LFM3-Audio-2B vs MiMo-V2.6 Distill Qwen 9B
- LFM3-Audio-2B vs MiniCPM-o 4.5
- LFM3-Audio-2B vs MiniCPM-V 4.7 1B
- LFM3-Audio-2B vs MiniCPM-V 4.7 35B-A3B
- LFM3-Audio-2B vs MiniCPM5-2B
- LFM3-Audio-2B vs MiniMax-M2.5
- LFM3-Audio-2B vs MiniMax-M2.7
- LFM3-Audio-2B vs MiniMax-M3.1-Flash
- LFM3-Audio-2B vs Mistral Large 4
- LFM3-Audio-2B vs Muse Glimmer 30B
- LFM3-Audio-2B vs Nanbeige4.3-33B
- LFM3-Audio-2B vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- LFM3-Audio-2B vs Nemotron 3.5 Lightning 30B A3B
- LFM3-Audio-2B vs Nemotron 3 Nano 30B A3B
- LFM3-Audio-2B vs Nemotron 3 Nano 4B
- LFM3-Audio-2B vs Nemotron 3 Nano Omni 30B A3B Reasoning
- LFM3-Audio-2B vs Nemotron 3 Super 120B A12B
- LFM3-Audio-2B vs Nemotron 3 Ultra 550B A55B
- LFM3-Audio-2B vs occamy-1.0
- LFM3-Audio-2B vs Olmo 3 7B Think
- LFM3-Audio-2B vs Ornith-1.5-122B
- LFM3-Audio-2B vs Ornith-1.5-35B-A3B
- LFM3-Audio-2B vs Ornith-1.5-397B
- LFM3-Audio-2B vs Ornith-1.5-9B
- LFM3-Audio-2B vs Qwen-AgentWorld-35B-A3B
- LFM3-Audio-2B vs Qwen3-30B-A3B-Instruct-2507
- LFM3-Audio-2B vs Qwen3-4B-Instruct-2507
- LFM3-Audio-2B vs Qwen3.5-0.8B
- LFM3-Audio-2B vs Qwen3.5-122B-A10B
- LFM3-Audio-2B vs Qwen3.5-2B
- LFM3-Audio-2B vs Qwen3.5-397B-A17B
- LFM3-Audio-2B vs Qwen3.5-4B
- LFM3-Audio-2B vs Qwen3.5-9B
- LFM3-Audio-2B vs Qwen3.6-27B
- LFM3-Audio-2B vs Qwen3.6-35B-A3B
- LFM3-Audio-2B vs Qwen3.8-27B
- LFM3-Audio-2B vs Qwen3.8-Flash-Next
- LFM3-Audio-2B vs Qwen3-Coder-30B-A3B-Instruct
- LFM3-Audio-2B vs Qwen3-Coder-Next
- LFM3-Audio-2B vs Qwen3-Omni-30B-A3B-Instruct
- LFM3-Audio-2B vs Qwen3-VL-2B-Instruct
- LFM3-Audio-2B vs Qwen3-VL-30B-A3B-Instruct
- LFM3-Audio-2B vs Qwen3-VL-32B-Instruct
- LFM3-Audio-2B vs Qwen3-VL-4B-Instruct
- LFM3-Audio-2B vs Qwen3-VL-8B-Instruct
- LFM3-Audio-2B vs Qwopus3.8-27B-Flash-V2
- LFM3-Audio-2B vs Recursive Flint
- LFM3-Audio-2B vs Ripple-65B Preview
- LFM3-Audio-2B vs SmolLM3-3B
- LFM3-Audio-2B vs Spark-X2.6-4B
- LFM3-Audio-2B vs Swift 1.5 Qwen3.8-27B
- LFM3-Audio-2B vs Swift 1.5 Qwen3.8-Flash-Next
- LFM3-Audio-2B vs ThinkingCap (Qwen3.8 27B)
- LFM3-Omni-2B vs Baidu Unlimited-OCR-2
- LFM3-VL-2B vs Baidu Unlimited-OCR-2
- Ling-3.0-tiny vs Baidu Unlimited-OCR-2
- Ling-3.1-flash-1019 vs Baidu Unlimited-OCR-2
- MiMo-V2.6 Distill Qwen 9B vs Baidu Unlimited-OCR-2
- MiniCPM-o 4.5 vs Baidu Unlimited-OCR-2
- MiniCPM-V 4.7 1B vs Baidu Unlimited-OCR-2
- MiniCPM-V 4.7 35B-A3B vs Baidu Unlimited-OCR-2
- MiniCPM5-2B vs Baidu Unlimited-OCR-2
- MiniMax-M2.5 vs Baidu Unlimited-OCR-2
- MiniMax-M2.7 vs Baidu Unlimited-OCR-2
- MiniMax-M3.1-Flash vs Baidu Unlimited-OCR-2
- Mistral Large 4 vs Baidu Unlimited-OCR-2
- Muse Glimmer 30B vs Baidu Unlimited-OCR-2
- Nanbeige4.3-33B vs Baidu Unlimited-OCR-2
- NVIDIA Nemotron 3.5 Bolt E4B 4GB vs Baidu Unlimited-OCR-2
- Nemotron 3.5 Lightning 30B A3B vs Baidu Unlimited-OCR-2
- Nemotron 3 Nano 30B A3B vs Baidu Unlimited-OCR-2
- Nemotron 3 Nano 4B vs Baidu Unlimited-OCR-2
- Nemotron 3 Super 120B A12B vs Baidu Unlimited-OCR-2
- Nemotron 3 Ultra 550B A55B vs Baidu Unlimited-OCR-2
- occamy-1.0 vs Baidu Unlimited-OCR-2
- Olmo 3 7B Think vs Baidu Unlimited-OCR-2
- Ornith-1.5-122B vs Baidu Unlimited-OCR-2
- Ornith-1.5-35B-A3B vs Baidu Unlimited-OCR-2
- Ornith-1.5-397B vs Baidu Unlimited-OCR-2
- Ornith-1.5-9B vs Baidu Unlimited-OCR-2
- Qwen-AgentWorld-35B-A3B vs Baidu Unlimited-OCR-2
- Qwen3-30B-A3B-Instruct-2507 vs Baidu Unlimited-OCR-2
- Qwen3-4B-Instruct-2507 vs Baidu Unlimited-OCR-2
- Qwen3.5-0.8B vs Baidu Unlimited-OCR-2
- Qwen3.5-122B-A10B vs Baidu Unlimited-OCR-2
- Qwen3.5-2B vs Baidu Unlimited-OCR-2
- Qwen3.5-397B-A17B vs Baidu Unlimited-OCR-2
- Qwen3.5-4B vs Baidu Unlimited-OCR-2
- Qwen3.5-9B vs Baidu Unlimited-OCR-2
- Qwen3.6-27B vs Baidu Unlimited-OCR-2
- Qwen3.6-35B-A3B vs Baidu Unlimited-OCR-2
- Qwen3.8-27B vs Baidu Unlimited-OCR-2
- Qwen3.8-Flash-Next vs Baidu Unlimited-OCR-2
- Qwen3-Coder-30B-A3B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-Coder-Next vs Baidu Unlimited-OCR-2
- Qwen3-VL-2B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-VL-30B-A3B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-VL-32B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-VL-4B-Instruct vs Baidu Unlimited-OCR-2
- Qwen3-VL-8B-Instruct vs Baidu Unlimited-OCR-2
- Qwopus3.8-27B-Flash-V2 vs Baidu Unlimited-OCR-2
- Recursive Flint vs Baidu Unlimited-OCR-2
- Ripple-65B Preview vs Baidu Unlimited-OCR-2
- SmolLM3-3B vs Baidu Unlimited-OCR-2
- Spark-X2.6-4B vs Baidu Unlimited-OCR-2
- 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
- Baidu Unlimited-OCR-2 vs Xiaomi-OCR-0
Machine-readable
- This page as Markdown
/compare/lfm3-audio-2b-vs-unlimited-ocr-2.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/lfm3-audio-2b.json·/api/v1/tools/unlimited-ocr-2.json - From a terminal
anchor compare lfm3-audio-2b unlimited-ocr-2(the CLI) - Over MCP
compare_tools {"a": "lfm3-audio-2b", "b": "unlimited-ocr-2"}at/mcp, no key