Head to head · Open-weight models you run yourself · October 2026 research run
Spark-X2.6-4B vs WeVisOne-VL-4B
Spark-X2.6-4B and WeVisOne-VL-4B score within a point of each other on agent readiness, 61 (C) and 61 (C). WeVisOne-VL-4B leads on risk. 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
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 70
Watch for
No safety results and no agent or prompt-injection guidance
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 50
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.
Reach Spark-X2.6-4B +15
Spark-X2.6-4B 85
Memory 30, SparkLLM's Q4_K_M GGUF is 3.19 GB, about 3.8 GB with a fifth added, which fits 8 GB. Runtimes 15 of 25, released llama.cpp, SGLang (to v0.5.23) and Ollama run the spark2_5 architecture X2.6 keeps, while vLLM needs SparkLLM's plugin, Transformers needs the repository's code and LM Studio has no catalogue entry. Builds 15, SparkLLM publishes FP8, INT8, INT4 and GGUF builds. Terms 15, Apache 2.0 with nothing added, on its own base. Download 10, nothing is gated. Hosted 0, no provider or SparkLLM API serves it.
WeVisOne-VL-4B 70
Memory 30, the only build from Tencent is the BF16 safetensors file with its decoder, 9.7 GB, and 9.7 GB × 1.2 = 11.6 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.
Risk WeVisOne-VL-4B +5
Spark-X2.6-4B 50
File safety 15 of 25, safetensors and GGUF only, but the card's Transformers and vLLM routes run the repository's Python. Provenance 15, the files are in SparkLLM's own Hub organisation, which its GitHub docs name, and every file has a checksum, though neither organisation is verified and no company site was found. Safety evaluation 0 and agent guidance 0, none published. Licence risk 15, plain Apache 2.0 that hasn't changed. Security programme 5 of 10, a private reporting route and email in SparkLLM's community repository, with no public advisories.
WeVisOne-VL-4B 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
| Category | Weight this run | Spark-X2.6-4B | WeVisOne-VL-4B | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 85 | 70 | Spark-X2.6-4B +15 |
| Risk | 20%20 | 50 | 55 | WeVisOne-VL-4B +5 |
| Agent interface | 10%10 | 70 | 70 | even |
| Documentation and upkeep | 10%10 | 51 | 48 | Spark-X2.6-4B +3 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 61/100 | C 61/100 |
Facts side by side
| Fact | Spark-X2.6-4B | WeVisOne-VL-4B |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | SparkLLM (XHToken) | Tencent (WeChat Vision) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-20 | 2026-10-27 |
| Terms last updated | no document linked | not read yet |
| Privacy policy last updated | no document linked | no document linked |
| Agent reviews | 3/5 (4) | none |
How the scores have moved
WeVisOne-VL-4B
No score change since it was listed.
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 card with no training data.
WeVisOne-VL-4B
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
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
WeVisOne-VL-4B
- Use Tencent's package:
WeVisOneVL("tencent/WeVisOne-VL-4B", backend="vllm")thenmodel.predict(image, task=..., query=...) - Tasks are detection, referring, point, count_box, count_point, ocr, ocr_grounding, segmentation and matting
- A None answer means the target isn't in the image. Treat it as a result, not an error
- mask_decoder.pt is a pickle. Load it only from the tencent repository, and check its SHA-256 against the Hub's
- Send one image a turn. Video grids are rejected by the decoder
- The card says it isn't for identifying individuals or for high-impact decisions on its own
Questions
Which is better for AI agents, Spark-X2.6-4B or WeVisOne-VL-4B?
Spark-X2.6-4B and WeVisOne-VL-4B score within a point of each other on agent readiness, 61 (C) and 61 (C). WeVisOne-VL-4B leads on risk.
Other comparisons with Spark-X2.6-4B or WeVisOne-VL-4B
- Agents-A1-4B vs Spark-X2.6-4B
- Agents-A1-4B vs WeVisOne-VL-4B
- Apertus v1.5 8B vs Spark-X2.6-4B
- Apertus v1.5 8B vs WeVisOne-VL-4B
- Apodex-1.1-mini vs Spark-X2.6-4B
- Apodex-1.1-mini vs WeVisOne-VL-4B
- Arete-27B vs Spark-X2.6-4B
- Arete-27B vs WeVisOne-VL-4B
- BigBang-v1 vs Spark-X2.6-4B
- BigBang-v1 vs WeVisOne-VL-4B
- Carbon-X vs Spark-X2.6-4B
- Carbon-X vs WeVisOne-VL-4B
- Cola2 vs Spark-X2.6-4B
- Cola2 vs WeVisOne-VL-4B
- Cosmos-Reason2-2B vs Spark-X2.6-4B
- Cosmos-Reason2-2B vs WeVisOne-VL-4B
- Darwin-36B-Opus vs Spark-X2.6-4B
- Darwin-36B-Opus vs WeVisOne-VL-4B
- DeepSeek-V3.2 vs Spark-X2.6-4B
- DeepSeek-V3.2 vs WeVisOne-VL-4B
- DeepSeek V4.1 Flash vs Spark-X2.6-4B
- DeepSeek V4.1 Flash vs WeVisOne-VL-4B
- DeepSeek-V4-Flash-0731 vs Spark-X2.6-4B
- DeepSeek-V4-Flash-0731 vs WeVisOne-VL-4B
- Devstral Small 2 vs Spark-X2.6-4B
- Devstral Small 2 vs WeVisOne-VL-4B
- DiffusionGemma 26B A4B IT vs Spark-X2.6-4B
- DiffusionGemma 26B A4B IT vs WeVisOne-VL-4B
- EXAONE 4.5 33B vs Spark-X2.6-4B
- EXAONE 4.5 33B vs WeVisOne-VL-4B
- Gemma 4 12B IT vs Spark-X2.6-4B
- Gemma 4 12B IT vs WeVisOne-VL-4B
- Gemma 4 26B A4B IT vs Spark-X2.6-4B
- Gemma 4 26B A4B IT vs WeVisOne-VL-4B
- Gemma 4 31B IT vs Spark-X2.6-4B
- Gemma 4 31B IT vs WeVisOne-VL-4B
- Gemma 4 E2B IT vs Spark-X2.6-4B
- Gemma 4 E2B IT vs WeVisOne-VL-4B
- Gemma 4 E4B IT vs Spark-X2.6-4B
- Gemma 4 E4B IT vs WeVisOne-VL-4B
- GLM-4.5-Air vs Spark-X2.6-4B
- GLM-4.5-Air vs WeVisOne-VL-4B
- GLM-4.7-Flash vs Spark-X2.6-4B
- GLM-4.7-Flash vs WeVisOne-VL-4B
- GLM-5.3-Flash vs Spark-X2.6-4B
- GLM-5.3-Flash vs WeVisOne-VL-4B
- GLM-5.3 vs Spark-X2.6-4B
- GLM-5.3 vs WeVisOne-VL-4B
- gpt-oss-120b vs Spark-X2.6-4B
- gpt-oss-120b vs WeVisOne-VL-4B
- gpt-oss-20b vs Spark-X2.6-4B
- gpt-oss-20b vs WeVisOne-VL-4B
- Granite 4.2 30B vs Spark-X2.6-4B
- Granite 4.2 30B vs WeVisOne-VL-4B
- Granite 4.2 3B vs Spark-X2.6-4B
- Granite 4.2 3B vs WeVisOne-VL-4B
- Granite 4.2 8B vs Spark-X2.6-4B
- Granite 4.2 8B vs WeVisOne-VL-4B
- Hy-Memory-30B-A3B vs Spark-X2.6-4B
- Hy-Memory-30B-A3B vs WeVisOne-VL-4B
- Hy3 vs Spark-X2.6-4B
- Hy3 vs WeVisOne-VL-4B
- Inkling-Small vs Spark-X2.6-4B
- Inkling-Small vs WeVisOne-VL-4B
- Inkling vs Spark-X2.6-4B
- Inkling vs WeVisOne-VL-4B
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs Spark-X2.6-4B
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs WeVisOne-VL-4B
- Kimi K3.1 Pro vs Spark-X2.6-4B
- Kimi K3.1 Pro vs WeVisOne-VL-4B
- Kimi K3 vs Spark-X2.6-4B
- Kimi K3 vs WeVisOne-VL-4B
- Kolibri-1 vs Spark-X2.6-4B
- Kolibri-1 vs WeVisOne-VL-4B
- Kronos vs Spark-X2.6-4B
- Kronos vs WeVisOne-VL-4B
- Laguna M.1 vs Spark-X2.6-4B
- Laguna M.1 vs WeVisOne-VL-4B
- Laguna S 2.1 vs Spark-X2.6-4B
- Laguna S 2.1 vs WeVisOne-VL-4B
- Laguna XS 2.1 vs Spark-X2.6-4B
- Laguna XS 2.1 vs WeVisOne-VL-4B
- LBS-27B vs Spark-X2.6-4B
- LBS-27B vs WeVisOne-VL-4B
- LFM2.5-2.6B vs Spark-X2.6-4B
- LFM2.5-2.6B vs WeVisOne-VL-4B
- LFM3-1.7B vs Spark-X2.6-4B
- LFM3-1.7B vs WeVisOne-VL-4B
- LFM3-Audio-2B vs Spark-X2.6-4B
- LFM3-Audio-2B vs WeVisOne-VL-4B
- LFM3-Omni-2B vs Spark-X2.6-4B
- LFM3-Omni-2B vs WeVisOne-VL-4B
- LFM3-VL-2B vs Spark-X2.6-4B
- LFM3-VL-2B vs WeVisOne-VL-4B
- Ling-3.0-tiny vs Spark-X2.6-4B
- Ling-3.0-tiny vs WeVisOne-VL-4B
- Ling-3.1-flash-1019 vs Spark-X2.6-4B
- Ling-3.1-flash-1019 vs WeVisOne-VL-4B
- LongCat-2.5 vs Spark-X2.6-4B
- LongCat-2.5 vs WeVisOne-VL-4B
- MiMo-V2.6 Distill Qwen 9B vs Spark-X2.6-4B
- MiMo-V2.6 Distill Qwen 9B vs WeVisOne-VL-4B
- MiMo-V2.6-Flash-RL vs Spark-X2.6-4B
- MiMo-V2.6-Flash-RL vs WeVisOne-VL-4B
- MiniCPM-o 4.5 vs Spark-X2.6-4B
- MiniCPM-o 4.5 vs WeVisOne-VL-4B
- MiniCPM-V 4.7 1B vs Spark-X2.6-4B
- MiniCPM-V 4.7 1B vs WeVisOne-VL-4B
- MiniCPM-V 4.7 35B-A3B vs Spark-X2.6-4B
- MiniCPM-V 4.7 35B-A3B vs WeVisOne-VL-4B
- MiniCPM5-2B vs Spark-X2.6-4B
- MiniCPM5-2B vs WeVisOne-VL-4B
- MiniMax-M2.5 vs Spark-X2.6-4B
- MiniMax-M2.5 vs WeVisOne-VL-4B
- MiniMax-M2.7 vs Spark-X2.6-4B
- MiniMax-M2.7 vs WeVisOne-VL-4B
- MiniMax-M3.1-Flash vs Spark-X2.6-4B
- MiniMax-M3.1-Flash vs WeVisOne-VL-4B
- Mistral Large 4 vs Spark-X2.6-4B
- Mistral Large 4 vs WeVisOne-VL-4B
- Muse Glimmer 30B vs Spark-X2.6-4B
- Muse Glimmer 30B vs WeVisOne-VL-4B
- Nanbeige4.2-3B vs Spark-X2.6-4B
- Nanbeige4.2-3B vs WeVisOne-VL-4B
- Nanbeige4.3-33B vs Spark-X2.6-4B
- Nanbeige4.3-33B vs WeVisOne-VL-4B
- NVIDIA Nemotron 3.5 Bolt E4B 4GB vs Spark-X2.6-4B
- NVIDIA Nemotron 3.5 Bolt E4B 4GB vs WeVisOne-VL-4B
- Nemotron 3.5 Lightning 30B A3B vs Spark-X2.6-4B
- Nemotron 3.5 Lightning 30B A3B vs WeVisOne-VL-4B
- Nemotron 3 Nano 30B A3B vs Spark-X2.6-4B
- Nemotron 3 Nano 30B A3B vs WeVisOne-VL-4B
- Nemotron 3 Nano 4B vs Spark-X2.6-4B
- Nemotron 3 Nano 4B vs WeVisOne-VL-4B
- Nemotron 3 Nano Omni 30B A3B Reasoning vs Spark-X2.6-4B
- Nemotron 3 Nano Omni 30B A3B Reasoning vs WeVisOne-VL-4B
- Nemotron 3 Super 120B A12B vs Spark-X2.6-4B
- Nemotron 3 Super 120B A12B vs WeVisOne-VL-4B
- Nemotron 3 Ultra 550B A55B vs Spark-X2.6-4B
- Nemotron 3 Ultra 550B A55B vs WeVisOne-VL-4B
- North Mini Code 1.0 vs Spark-X2.6-4B
- North Mini Code 1.0 vs WeVisOne-VL-4B
- occamy-1.0 vs Spark-X2.6-4B
- occamy-1.0 vs WeVisOne-VL-4B
- Olmo 3 7B Think vs Spark-X2.6-4B
- Olmo 3 7B Think vs WeVisOne-VL-4B
- Ornith-1.5-122B vs Spark-X2.6-4B
- Ornith-1.5-122B vs WeVisOne-VL-4B
- Ornith-1.5-35B-A3B vs Spark-X2.6-4B
- Ornith-1.5-35B-A3B vs WeVisOne-VL-4B
- Ornith-1.5-397B vs Spark-X2.6-4B
- Ornith-1.5-397B vs WeVisOne-VL-4B
- Ornith-1.5-9B vs Spark-X2.6-4B
- Ornith-1.5-9B vs WeVisOne-VL-4B
- OTel-2.0-LLM-31B-IT vs Spark-X2.6-4B
- OTel-2.0-LLM-31B-IT vs WeVisOne-VL-4B
- Qwen-AgentWorld-35B-A3B vs Spark-X2.6-4B
- Qwen-AgentWorld-35B-A3B vs WeVisOne-VL-4B
- Qwen3-30B-A3B-Instruct-2507 vs Spark-X2.6-4B
- Qwen3-30B-A3B-Instruct-2507 vs WeVisOne-VL-4B
- Qwen3-4B-Instruct-2507 vs Spark-X2.6-4B
- Qwen3-4B-Instruct-2507 vs WeVisOne-VL-4B
- Qwen3.5-0.8B vs Spark-X2.6-4B
- Qwen3.5-0.8B vs WeVisOne-VL-4B
- Qwen3.5-122B-A10B vs Spark-X2.6-4B
- Qwen3.5-122B-A10B vs WeVisOne-VL-4B
- Qwen3.5-2B vs Spark-X2.6-4B
- Qwen3.5-2B vs WeVisOne-VL-4B
- Qwen3.5-397B-A17B vs Spark-X2.6-4B
- Qwen3.5-397B-A17B vs WeVisOne-VL-4B
- Qwen3.5-4B vs Spark-X2.6-4B
- Qwen3.5-4B vs WeVisOne-VL-4B
- Qwen3.5-9B vs Spark-X2.6-4B
- Qwen3.5-9B vs WeVisOne-VL-4B
- Qwen3.6-27B vs Spark-X2.6-4B
- Qwen3.6-27B vs WeVisOne-VL-4B
- Qwen3.6-35B-A3B vs Spark-X2.6-4B
- Qwen3.6-35B-A3B vs WeVisOne-VL-4B
- Qwen3.8-27B vs Spark-X2.6-4B
- Qwen3.8-27B vs WeVisOne-VL-4B
- Qwen3.8-Flash-Next vs Spark-X2.6-4B
- Qwen3.8-Flash-Next vs WeVisOne-VL-4B
- Qwen3-Coder-30B-A3B-Instruct vs Spark-X2.6-4B
- Qwen3-Coder-30B-A3B-Instruct vs WeVisOne-VL-4B
- Qwen3-Coder-Next vs Spark-X2.6-4B
- Qwen3-Coder-Next vs WeVisOne-VL-4B
- Qwen3-Omni-30B-A3B-Instruct vs Spark-X2.6-4B
- Qwen3-Omni-30B-A3B-Instruct vs WeVisOne-VL-4B
- Qwen3-VL-2B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-2B-Instruct vs WeVisOne-VL-4B
- Qwen3-VL-30B-A3B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-30B-A3B-Instruct vs WeVisOne-VL-4B
- Qwen3-VL-32B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-32B-Instruct vs WeVisOne-VL-4B
- Qwen3-VL-4B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-4B-Instruct vs WeVisOne-VL-4B
- Qwen3-VL-8B-Instruct vs Spark-X2.6-4B
- Qwen3-VL-8B-Instruct vs WeVisOne-VL-4B
- Qwopus3.8-27B-Flash-V2 vs Spark-X2.6-4B
- Qwopus3.8-27B-Flash-V2 vs WeVisOne-VL-4B
- Recursive Flint vs Spark-X2.6-4B
- Recursive Flint vs WeVisOne-VL-4B
- Ripple-65B Preview vs Spark-X2.6-4B
- Ripple-65B Preview vs WeVisOne-VL-4B
- SenseNova-Loop-9B-Preview vs Spark-X2.6-4B
- SenseNova-Loop-9B-Preview vs WeVisOne-VL-4B
- SmolLM3-3B vs Spark-X2.6-4B
- SmolLM3-3B vs WeVisOne-VL-4B
- Spark-X2.6-4B vs Step 3.7 Flash
- 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)
- Spark-X2.6-4B vs Baidu Unlimited-OCR-2
- Spark-X2.6-4B vs WeVisOne-VL-2B
- Spark-X2.6-4B vs ZAYA1-8B
- Step 3.7 Flash vs WeVisOne-VL-4B
- Swift 1.5 Qwen3.8-27B vs WeVisOne-VL-4B
- Swift 1.5 Qwen3.8-Flash-Next vs WeVisOne-VL-4B
- ThinkingCap (Qwen3.8 27B) vs WeVisOne-VL-4B
- WeVisOne-VL-2B vs WeVisOne-VL-4B
- WeVisOne-VL-4B vs ZAYA1-8B
- Baidu Unlimited-OCR-2 vs WeVisOne-VL-4B
Machine-readable
- This page as Markdown
/compare/spark-x2-6-4b-vs-wevisone-vl-4b.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/wevisone-vl-4b.json - From a terminal
anchor compare spark-x2-6-4b wevisone-vl-4b(the CLI) - Over MCP
compare_tools {"a": "spark-x2-6-4b", "b": "wevisone-vl-4b"}at/mcp, no key