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

Qwen3-Omni-30B-A3B-Instruct vs WeVisOne-VL-4B

WeVisOne-VL-4B scores 61 (C) on agent readiness against Qwen3-Omni-30B-A3B-Instruct's 41.8 (E), and leads in 3 of 4 scored categories. 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

Qwen3-Omni-30B-A3B-Instruct E

Best for Agents on a machine with about 96 GB to spare that need one local model to hear, see and answer by voice

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

Only a 70.5 GB BF16 build, about 85 GB to run, with no quantised build from Alibaba

WeVisOne-VL-4B 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

  • Reach, 70 against 55
  • Agent interface, 70 against 60
  • Documentation and upkeep, 48 against 26

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.

Documentation and upkeep WeVisOne-VL-4B +22

Qwen3-Omni-30B-A3B-Instruct 26

Model card 11, intended use, architecture, parameters and languages are there, limitations, context and a cut-off aren't. Training data 5, the report's description has no cut-off. Last change 0, nothing that runs the model has changed for over a year. Responsiveness 0, Qwen answered none of the 40 most recent discussions. Version policy 5, Qwen2.5-Omni kept without notes. File health 5, contradictory licence and language metadata and an unanswered report about long audio.

WeVisOne-VL-4B 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 27 October 2026, added links to the paper and project page, 14 days before this check. Responsiveness 0, Neither of the 2 discussions that aren't pull requests (23 and 26 October 2026) has a 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, 14 days old. 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.

Reach WeVisOne-VL-4B +15

Qwen3-Omni-30B-A3B-Instruct 55

Memory earns 10, because the only build is the 70.5 GB BF16 checkpoint, about 85 GB with a fifth added, which fits only the reference machine's band. Runtimes earn 20. Transformers runs the whole model, and released vLLM, SGLang and llama.cpp run its Thinker with text out, while Ollama and LM Studio have nothing. Builds score 0, with no FP8, 4-bit or GGUF build from Alibaba. Apache 2.0 with nothing added gives terms the full 15 and the ungated repository gives download the full 10. Hosted too scores 0, since no provider serves this checkpoint and Alibaba's API serves a different Flash model.

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.

Agent interface WeVisOne-VL-4B +10

Qwen3-Omni-30B-A3B-Instruct 60

Chat template 20, a Jinja file in the repository. Tool-calling format 10, the cookbook shows how tools are declared and calls come back and the card covers audio, image and video input and speech output, but no parser is named. Trained tool calling 20, two calls in one turn from speech in the cookbook. Structured output 5, speech in a chosen voice and text-only output are documented, with no JSON. Reasoning control 0, no thinking in this edition. Context 5, 65,536 tokens in the config and trained at 32,768.

WeVisOne-VL-4B 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.

Score by category

CategoryWeight this runQwen3-Omni-30B-A3B-InstructWeVisOne-VL-4BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%255570WeVisOne-VL-4B +15
Risk20%205555even
Agent interface10%106070WeVisOne-VL-4B +10
Documentation and upkeep10%102648WeVisOne-VL-4B +22
Negative events≤1500
TotalE 41.8/100C 61/100

Facts side by side

FactQwen3-Omni-30B-A3B-InstructWeVisOne-VL-4B
KindOpen-weight modelOpen-weight model
VendorAlibaba (Qwen team)Tencent (WeChat Vision)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0Apache-2.0
Read-only variant documentednono
llms.txtnono
Last release2025-09-222026-10-27
Terms last updatedno document linkednot read yet
Privacy policy last updatedno document linkedno document linked
Agent reviews2/5 (4)none

Verdicts

Qwen3-Omni-30B-A3B-Instruct

An omni-modal cousin that listens, watches and reads, then answers in text or one of three voices, with tool calls from spoken requests, under plain Apache 2.0. Its only build, BF16, needs about 85 GB, and speech out needs Transformers or vLLM-Omni. The main risk is no answers from Qwen and no safety work for speech-driven actions.

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

Qwen3-Omni-30B-A3B-Instruct

  1. For text answers, mkdir -p media && vllm serve Qwen/Qwen3-Omni-30B-A3B-Instruct --dtype bfloat16 --max-model-len 32768 --allowed-local-media-path "$(pwd)/media" with vLLM 0.11.1 or later serves the Thinker on an OpenAI-compatible API
  2. The card's command passes --allowed-local-media-path /, which lets anyone who can reach the server have it read any file on the machine through a file:// URL. Point it at a dedicated folder that holds only the media you mean to send, as above, and give vLLM an absolute path
  3. Send audio as audio_url and images as image_url content parts; vLLM serve doesn't take use_audio_in_video, so pass a video's audio separately
  4. For speech out, load Qwen3OmniMoeForConditionalGeneration in Transformers 4.57.0 or later with qwen-omni-utils, pick speaker Ethan, Chelsie or Aiden, and write the returned waveform at 24 kHz
  5. Call model.disable_talker() or pass return_audio=False when you only need text, which saves about 10 GB and time
  6. Parse tool calls as JSON inside <tool_call> tags yourself, since no parser is named, and confirm actions triggered by speech before running them
  7. Keep use_audio_in_video the same across every step of a conversation, the card warns results go wrong otherwise
  8. Budget memory for video, the card's table rises from 78.85 GB for 15 seconds to 144.81 GB for 120 seconds in BF16

WeVisOne-VL-4B

  1. Use Tencent's package: WeVisOneVL("tencent/WeVisOne-VL-4B", 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, Qwen3-Omni-30B-A3B-Instruct or WeVisOne-VL-4B?

WeVisOne-VL-4B scores 61 (C) on agent readiness against Qwen3-Omni-30B-A3B-Instruct's 41.8 (E), and leads in 3 of 4 scored categories.

Other comparisons with Qwen3-Omni-30B-A3B-Instruct or WeVisOne-VL-4B

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.