Tencent’s WeChat Vision team has released WeVisOne-VL, an open vision language model available in 2B and 4B parameter sizes. This single model handles detection, referring, counting, pointing, OCR, segmentation, and alpha matting. It outputs pixel data through a 9.6M-parameter decoder, removing the need for a separate SAM component. The system also returns “None” when a queried object is absent.
In this article
Specs and performance
The release includes a 2.44B parameter version and a 4.83B parameter version on Hugging Face. A 9.6M-parameter pixel decoder accompanies these weights. Training used up to 8,192 tokens of context, though deployment context length is not specified.
Deployment requires a single GPU using Transformers or vLLM in BF16. The package also lists NPU and CPU support. VRAM requirements are undisclosed. A community GGUF build ran object-level tasks on a 6 GB RTX 2060.
Tencent reports the model beats same-scale VLM baselines on most of 30+ benchmarks. The 4B model achieved a 71.3 F1 Mean on Dense200 dense detection, compared to 58.7 for LocateAnything-3B. However, the rejection rate on PR-Bench was 52.6%, meaning many queries for absent targets still receive a box.
Architecture and training
WeVisOne-VL, which stands for “WeChat Vision All-in-One”, builds on Qwen3-VL. It focuses on fine-grained localisation rather than open-ended chat. Users select output granularity: points, boxes, binary masks, or continuous alpha mattes.
Every task uses structured next-token prediction. The model adds coordinate tokens ranging from <0> to <1000> for normalized boxes and points. An absent target produces None instead of a guessed box.
For pixel tasks, the model emits an <OBJ> token after each predicted box. Its hidden state acts as a query for the pixel decoder. The decoder has three parts:
- Visual Feature Adapter: reuses multi-level Qwen3-VL ViT features instead of a second image encoder.
- Box-Guided Query Decoder: 6 deformable cross-attention blocks seeded by the
<OBJ>state and the box. - Dense Prediction Head: refines output at S/4, S/2 and S/1 into a full-resolution mask or matte.
A knowledge-graph-driven data engine annotated over 100M images with about 3.6B boxes. SAM3, Rex-Omni and an in-house detector proposed regions, and Qwen3-VL verified them.
Training used three SFT stages. Stage 1 aligned output formats on 90M examples. Stage 2 raised input to 1,960 visual tokens and up to 500 boxes per response. Stage 3 trained the pixel decoder, then specialised it for matting on 130M samples. A final GRPO stage used 178K uncertainty-filtered examples.
Benchmark results
All numbers below are self-reported, using greedy decoding and at most 1,960 visual tokens per image. Detection, referring and OCR use F1 averaged over IoU 0.5 to 0.95.
- Detection: 55.3 F1 on LVIS and 71.3 on Dense200 for the 4B model.
- Referring: 81.8 F1 on RefCOCOg test, versus 77.6 for LocateAnything-3B.
- Rejection: 96.4% on Tencent’s in-house WeRef-Bench (2,880 queries), versus 73.0%.
- Counting: 89.6% exact-match on PixMo-Count test, versus 82.8%.
- OCR: 52.0 F1 on TotalText, ahead of the PP-OCRv5 specialist at 25.7.
- Segmentation: 71.2 gIoU on ReasonSeg val, versus 65.0 for LISA-13B.
- Matting: 7.3 MAD on P3M-500-NP box prompts, versus 15.4 for SAM2-Matting (SAM3). Lower is better.
The 2B model trails the 4B model on most tasks. It still scores better box-prompted matting on P3M-500-NP, at 6.6 MAD.
Comparison table
| Feature | WeVisOne-VL-4B | Qwen3-VL-4B-Instruct | Rex-Omni | LocateAnything-3B |
|---|---|---|---|---|
| Developer | Tencent WeChat Vision | Alibaba Qwen | IDEA Research | NVIDIA |
| Size | 4.83B (HF listing) | 4B | 3B (card) | 3B (card) |
| Base model | Qwen3-VL | Not applicable | Qwen2.5-VL-3B-Instruct | Qwen2.5-3B-Instruct + MoonViT-SO-400M |
| License | Apache 2.0 | Apache 2.0 | IDEA License 1.0 | NVIDIA non-commercial |
| Native masks / mattes | Yes (9.6M decoder) | Not in model card | Not in model card | Not in model card |
| Context | Not disclosed (8,192 in training) | 256K native | Not disclosed | Not disclosed |
| LVIS F1 Mean | 55.3 | 44.0 | 46.9 | 50.7 |
| Dense200 F1 Mean | 71.3 | 15.2 | 58.3 | 58.7 |
| RefCOCOg test F1 Mean | 81.8 | 74.3 | 74.3 | 77.6 |
| RefCOCOg-Rej rejection | 67.4% | 18.8% | 0.5% | 0.6% |
| PointBench | 71.9 | 57.1 | 69.9 | 56.9 |
| TotalText F1 Mean | 52.0 | 33.0 | 40.6 | 43.3 |
Running the model
Weights for the 2B and 4B models are on Hugging Face. The wevisone_vl package wraps Transformers and vLLM backends. Tasks include detection, referring, point, count_box, ocr, segmentation and matting.
from wevisone_vl import WeVisOneVL
model = WeVisOneVL("tencent/WeVisOne-VL-4B", backend="transformers") # or "vllm"
result = model.predict(image, task="matting", query="person")
Hosted demos are live for the 2B and 4B versions. Tencent also open-sourced Mask2Alpha, the matting annotator from its data engine. Fine-tuning code is still on the TODO list. GGUF builds cannot produce masks, since the decoder needs native visual features.
What it means
Developers can swap a stack of separate tools for a single model call. The system handles detection, OCR, counting, pointing, segmentation and matting in one go. A 9.6M-parameter decoder replaces the need for a separate SAM model for masks and alpha mattes. Apache 2.0 licensing allows commercial use, unlike the non-commercial restriction on LocateAnything-3B.



