Overview

WeVisOne-VL (WeChat Vision All-in-One) is a vision-language foundation model from Tencent's WeChat Vision Team, released on 22 October 2026 with its technical report (arXiv 2610.31329), open weights in 2B and 4B sizes, an inference package, cookbooks and an evaluation pipeline. It aims at a gap the team sees in general vision-language models: they describe images well but are unreliable at fine-grained perception, such as drawing a tight box around every object or cutting a clean matte around hair.

One model covers two levels of perception. At the object level it does detection, dense detection, referring localization ('the player wearing a jersey with the number 21'), counting, pointing and OCR, all written as structured next-token prediction of boxes, points and text. At the pixel level it does referring and reasoning segmentation and promptable alpha matting. For those, the language model emits a special <OBJ> token that triggers a 9.6M-parameter pixel decoder, which reads multi-level Qwen3-VL ViT features to produce masks and then refines them into alpha mattes. The model is also trained to answer 'none' when a queried object is not in the image, instead of inventing a box.
Training runs a three-stage supervised fine-tuning curriculum followed by mixed-task reinforcement learning, and the team also open-sourced Mask2Alpha, the matting annotator used in its data engine. The authors report leading results across more than 30 benchmarks. In the README's detection table the 4B model reaches 55.3 F1 on LVIS and 71.3 on Dense200, against 50.7 and 58.7 for LocateAnything-3B, and on the WeRef-Bench rejection test it refuses 96.4% of absent-target queries against 73.0% for the best baseline. Weights are on Hugging Face under Apache-2.0, and the model can be run through the project's own Python package, Transformers, vLLM or SGLang.
| Released | 2026-10-22 |
|---|---|
| License | Apache-2.0 |
| Weights | Open weights |
| Parameters | Two sizes: WeVisOne-VL-2B and WeVisOne-VL-4B (the 4B checkpoint is listed at 5B parameters on Hugging Face), plus a 9.6M-parameter pixel decoder |
| Architecture | Qwen3-VL-based vision-language model with structured next-token prediction for boxes, points and text, and a lightweight pixel decoder triggered by an <OBJ> token that reads multi-level ViT features for masks and alpha mattes |
| Modalities | Image, Text |
| Status | Open-source release — technical report, 2B and 4B weights, inference package, cookbooks and evaluation pipeline published together |
Benchmarks
Object detection (F1 mean), WeVisOne-VL vs open detectors and VLMs, as published in the README
| Benchmark | WeVisOne-VL-4B | WeVisOne-VL-2B | LocateAnything-3B | Rex-Omni-3B | Qwen3.5-9B | Qwen3-VL-8B | GroundingDINO-T |
|---|---|---|---|---|---|---|---|
| COCO | 57.1 | 55.2 | 54.7 | 52.9 | 49.5 | 47.8 | 56.6 |
| LVIS | 55.3 | 53.3 | 50.7 | 46.9 | 43.7 | 42.9 | 38.8 |
| Dense200 | 71.3 | 61.4 | 58.7 | 58.3 | 18 | 13.8 | 33.1 |
| VisDrone | 44.7 | 40.4 | 39.9 | 35.8 | 31.3 | 29.5 | 38.5 |
This model's scores
- WeRef-Bench rejection rate96.4%
- PixMo-Count accuracy89.6%
- RefCOCOg test (F1 mean)81.8
- PointBench accuracy71.9%
- ReasonSeg val (gIoU)71.2
- TotalText OCR (F1 mean)52
Scores on a 0–100 scale (25-point gridlines); higher is better. Each benchmark links to its published source.
Strengths
- One open model for boxes, points, text, masks and alpha mattes, instead of a separate detector, segmenter and matting model
- Reliable rejection: returns 'none' for absent targets, with a 96.4% rejection rate on WeRef-Bench for the 4B model
- Small enough to self-host at 2B or 4B, with Apache-2.0 weights
- Pixel-level output from a 9.6M-parameter decoder rather than a large separate segmentation model
- Ships with an evaluation pipeline, cookbooks and the Mask2Alpha matting annotator
Best for
- Open-vocabulary and dense object detection, such as counting products on a production line or vehicles in drone footage
- Background removal and promptable matting for photos, including hair and fur edges
- Referring segmentation driven by a plain-language description or a reasoning question
- Grounding for agents and data pipelines that must not hallucinate objects that are not in the image
How to access
| Provider | Model ID |
|---|---|
| Hugging Face (self-hosted) ↗ | tencent/WeVisOne-VL-4B |
| Hugging Face (self-hosted, smaller) ↗ | tencent/WeVisOne-VL-2B |
FAQ
Is WeVisOne-VL free for commercial use?
Tencent publishes the WeVisOne-VL-2B and WeVisOne-VL-4B weights on Hugging Face under Apache-2.0, and the GitHub repository applies Apache-2.0 to Tencent-authored code. Third-party components in the repository keep their own licences, so check those before shipping a product.
Which WeVisOne-VL size should I use, 2B or 4B?
The 4B model scores higher on every row of the README's detection table, for example 71.3 vs 61.4 F1 on Dense200 and 55.3 vs 53.3 on LVIS. The 2B model is smaller and still beats the listed 3B to 9B baselines on LVIS, Dense200 and VisDrone, so it suits tighter hardware.
How does WeVisOne-VL handle objects that are not in the image?
WeVisOne-VL is trained to return 'none' for absent targets instead of drawing a box anyway. On the WeRef-Bench rejection test the 4B model refuses 96.4% of such queries, against 73.0% for the best baseline in the README, and on RefCOCOg it rejects 67.4% versus 22.5% for Qwen3-VL-8B.
How do I run WeVisOne-VL?
Clone github.com/Tencent/WeVisOne-VL, install the requirements and the package with pip install -v -e ., then load WeVisOneVL("tencent/WeVisOne-VL-4B") and call predict with a task such as detection or matting. The model cards also show a Transformers image-text-to-text pipeline and vLLM and SGLang serving, and demo/app.py starts a local Gradio demo.