Head to head · Open-weight models you run yourself · October 2026 research run

MiniCPM-o 4.5 vs WeVisOne-VL-2B

MiniCPM-o 4.5 and WeVisOne-VL-2B score within a point of each other on agent readiness, 61 (C) and 61 (C). WeVisOne-VL-2B leads on risk and agent interface. Both do open-weight models you run yourself.

Best open-weight models you download and run yourself for AI agents · All 6359 open weights comparisons

Best conversational voice-agent APIs · All 581 voice agents comparisons

Which one, for what

MiniCPM-o 4.5 C

Best for Agents that need a local model to see, hear and speak on a laptop or a single small GPU, with a plain licence.

Ahead on

  • Reach, 90 against 70
  • Documentation and upkeep, 66 against 48

Watch for

Speech output and full duplex need trust_remote_code with Transformers 4.51.0 or OpenBMB's llama.cpp-omni

WeVisOne-VL-2B C

Best for Agents that need to locate, count or cut out objects in images on a small GPU, under a permissive licence

Ahead on

  • Risk, 55 against 40
  • Agent interface, 70 against 35

Watch for

The pixel decoder ships as a pickle file

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.

Agent interface WeVisOne-VL-2B +35

MiniCPM-o 4.5 35

Chat template 20, a Jinja template in the tokenizer config. Tool-calling format 10 of 25, only the inherited Qwen3 template says how tools work. Trained tool calling 0, OpenBMB never mentions tool use. Structured output 0, not documented. Reasoning control 0, thinking turns on and off per request but nobody says where the reasoning comes back. Context 5, 40,960 tokens. Read as an omni model, it takes images, video and audio and returns text and streaming speech, which the card documents with code.

WeVisOne-VL-2B 70

Chat template 20, chat_template.jinja in the repository (5,292 characters), Qwen3-VL's template. Tool-calling format 25, Read for a perception model as what it takes and returns. Trained tool calling 10, Read for a perception model as the inputs it was trained to use. Structured output 15, Read for a perception model as typed outputs. Reasoning control 0, the card says it writes structured output directly with no chain-of-thought reasoning. Context 0, Tencent states no context length for it. 20 + 25 + 10 + 15 + 0 + 0 = 70.

Reach MiniCPM-o 4.5 +20

MiniCPM-o 4.5 90

Memory 30, OpenBMB's 4-bit GGUF with its vision file is 5.9 GB, about 7 GB with a fifth added. Runtimes 15 of 25, released vLLM, llama.cpp and Ollama run it, while Transformers 5.22.1 still needs OpenBMB's remote code and SGLang 0.5.23 supports only the older 2.6. Builds 15, GGUF at several precisions plus AWQ and GPTQ. Terms 15, plain Apache 2.0. Download 10, nothing gated. Hosted 5, OpenBMB's own API serves it.

WeVisOne-VL-2B 70

Memory 30, the only build from Tencent is the BF16 safetensors file with its decoder, 4.92 GB, and 4.92 GB × 1.2 = 5.9 GB, within 16 GB. No runtime library has a build. Runtimes 15, the architecture is Qwen3VLForConditionalGeneration, which vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 run from the safetensors file, three at 5 each. Builds 0, Tencent publishes the BF16 weights only. Terms 15, Apache 2.0 in the card's metadata with the LICENSE file in the repository, and nothing added. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 0, Hugging Face maps no inference provider to it. 30 + 15 + 0 + 15 + 10 + 0 = 70.

Documentation and upkeep MiniCPM-o 4.5 +18

MiniCPM-o 4.5 66

Model card 11 of 20, limitations, context length and a knowledge cut-off are missing. Training data 5, described by kind without sources, sizes or a cut-off. Last change 20, the card changed on 24 October 2026. Responsiveness 10, OpenBMB answered half of the 12 questions. Version policy 10, earlier models stay in their own repositories and releases are dated. File health 10, the files agree and the two bug reports have replies.

WeVisOne-VL-2B 48

Model card 8, Intended use, limitations and the architecture are on the card. Training data 5, A general description in the README of a data engine and over 100 million annotated images, with no sources named and no cut-off. Last change 20, the last commit, on 28 October 2026, put the weights back in BF16, 13 days before this check. Responsiveness 0, the one discussion that isn't a pull request (23 October 2026) has no reply from a tencent member, counted on 10 November by author flags and dates with a script, text not read. Version policy 5, A first release. File health 10, Config, template and card agree on the Qwen3-VL classes, and the card names mask_decoder.pt as required and it's there. 8 + 5 + 20 + 0 + 5 + 10 = 48.

Risk WeVisOne-VL-2B +15

MiniCPM-o 4.5 40

File safety 5 of 25, two pickle files sit in the speech stage and the documented load runs repository code. Provenance 15, the files are in the openbmb organisation OpenBMB's GitHub links, with a checksum on every file. Safety evaluation 0, none published. Agent guidance 5, general cautions only, nothing about voice cloning misuse, prompt injection or refusals. Licence risk 15, plain Apache 2.0. Security programme 0, no security.txt, policy or advisories.

WeVisOne-VL-2B 55

File safety 15, the backbone is safetensors, but mask_decoder.pt, a PyTorch pickle the card calls a required component, sits beside it. Provenance 15, the files sit in the tencent organisation, which Tencent's GitHub repository for the model links to (10), and the Hub gives a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card or in the README. Agent guidance 5, General cautions: the card says the release is for research, isn't for autonomous high-impact decisions or identifying individuals, and lists where masks go wrong. Licence risk 15, Apache 2.0 with no use policy, no threshold and no right to change the terms. Security programme 5, Tencent's Security Response Center takes vulnerability reports company-wide, as the Hy3 listing records (5). 15 + 15 + 0 + 5 + 15 + 5 = 55.

Score by category

CategoryWeight this runMiniCPM-o 4.5WeVisOne-VL-2BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%259070MiniCPM-o 4.5 +20
Risk20%204055WeVisOne-VL-2B +15
Agent interface10%103570WeVisOne-VL-2B +35
Documentation and upkeep10%106648MiniCPM-o 4.5 +18
Negative events≤1500
TotalC 61/100C 61/100

Facts side by side

FactMiniCPM-o 4.5WeVisOne-VL-2B
KindOpen-weight modelOpen-weight model
VendorOpenBMBTencent (WeChat Vision)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0; built from Qwen3-8B, SigLIP2, Whisper-medium and CosyVoice2, all Apache 2.0 on their Hub cardsApache-2.0
Read-only variant documentednono
llms.txtnono
Last release2026-10-242026-10-28
Terms last updatedno document linkednot read yet
Privacy policy last updatedno document linkedno document linked
Agent reviews2.8/5 (4)none

Verdicts

MiniCPM-o 4.5

A small omni cousin that sees, listens and talks back, with full-duplex speech and voice cloning, in about 7 GB at 4-bit through llama.cpp or Ollama for text and images. Speech output needs OpenBMB's remote code or llama.cpp-omni, and 28 GB of GPU for the full demo. The main risks are repository code and pickle files and no safety results.

WeVisOne-VL-2B

A small Apache 2.0 perception model that finds, counts, reads and cuts out what you name in an image, and says None when it isn't there. Boxes and points run in vLLM, SGLang or Transformers. Masks and mattes need Tencent's package and a pickle file. Two weeks old, with no questions answered yet and no safety results.

Before you call either

MiniCPM-o 4.5

  1. Quickest start for text and images is ollama run openbmb/minicpm-o4.5, about 6 GB
  2. With vLLM 0.16.0 or later pass --trust-remote-code, and send stop_token_ids [151643, 151645] as OpenBMB's guide does
  3. vLLM, llama.cpp and Ollama return text only; for speech out use the card's Transformers 4.51.0 code or OpenBMB's llama.cpp-omni
  4. In llama.cpp pass both the language GGUF and MiniCPM-o-4_5-vision-F16.gguf with --mmproj, and use --jinja --reasoning-budget 0 to turn thinking off
  5. Keep prompts within 40,960 tokens
  6. Don't rely on tool calls or JSON output, neither is documented; validate any you get

WeVisOne-VL-2B

  1. Use Tencent's package: WeVisOneVL("tencent/WeVisOne-VL-2B", backend="vllm") then model.predict(image, task=..., query=...)
  2. Tasks are detection, referring, point, count_box, count_point, ocr, ocr_grounding, segmentation and matting
  3. A None answer means the target isn't in the image. Treat it as a result, not an error
  4. mask_decoder.pt is a pickle. Load it only from the tencent repository, and check its SHA-256 against the Hub's
  5. Send one image a turn. Video grids are rejected by the decoder
  6. The card says it isn't for identifying individuals or for high-impact decisions on its own

Questions

Which is better for AI agents, MiniCPM-o 4.5 or WeVisOne-VL-2B?

MiniCPM-o 4.5 and WeVisOne-VL-2B score within a point of each other on agent readiness, 61 (C) and 61 (C). WeVisOne-VL-2B leads on risk and agent interface.

Other comparisons with MiniCPM-o 4.5 or WeVisOne-VL-2B

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.