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

Step 3.7 Flash vs WeVisOne-VL-2B

WeVisOne-VL-2B scores 61 (C) on agent readiness against Step 3.7 Flash's 59.8 (C), and leads in 2 of 4 scored categories. Step 3.7 Flash leads on 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

Which one, for what

Step 3.7 Flash C

Best for Teams with a GPU server or a provider account that want an open, long-context agent model with vision

Ahead on

  • Agent interface, 85 against 70

Watch for

About 131 GB to run at 4 bits with images, over a 128 GB machine's share

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 45
  • Documentation and upkeep, 48 against 39

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 Step 3.7 Flash +15

Step 3.7 Flash 85

Chat template 20, chat_template.jinja in the repository (5,723 characters). Tool-calling format 25, the card names the parser to use in two runtimes, step3p5 in vLLM (with auto tool choice) and in SGLang, and both ship Step parsers in a release. Trained tool calling 20, the card presents tool orchestration as a main use, with multi-turn results, and the template renders every call in a turn. Structured output 0, Nothing on the card about JSON or schema-constrained output for the weights. Reasoning control 10, the template has a reasoning_effort setting and keeps reasoning_content, and the card names the step3p5 reasoning parser for vLLM and SGLang, which returns the reasoning apart from the answer. Context 10, 256K tokens per the card, and 262,144 positions in config.json. 20 + 25 + 20 + 0 + 10 + 10 = 85.

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.

Risk WeVisOne-VL-2B +10

Step 3.7 Flash 45

File safety 15, safetensors and GGUF only, no .bin, .pt or .pth files (25). Provenance 15, the files sit in the stepfun-ai organisation, which the card's StepFun platform and model page belong to (10). Safety evaluation 0, no safety results on the card. Agent guidance 0, the card has no limitations section and gives no guidance on prompt injection, instruction priority, refusals or safeguards. Licence risk 15, Apache 2.0 has no use policy, threshold or change clause. Security programme 0, no way to report a flaw on the card, and our StepFun API listing found no security.txt, bug bounty or disclosure policy. 15 + 15 + 0 + 0 + 15 + 0 = 45.

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.

Documentation and upkeep WeVisOne-VL-2B +9

Step 3.7 Flash 39

Model card 14, Intended use, the architecture, the parameters, the context and the language (in the metadata) are on the card. Training data 0, Nothing on the card about the training data. Last change 10, the last commit, on 3 June 2026, fixed the modelling code, 160 days before this check and within 180. Responsiveness 0, none of the 11 most recent discussions that aren't pull requests (29 May to 24 June 2026) has a reply from a stepfun-ai member, counted on 10 November by author flags and dates with a script, text not read. Version policy 5, Step-3.5-Flash stays in its own repositories and 3.7 came out in new ones, with no dated note on the older cards that we read. File health 10, Config, template and card agree on the architecture and the context, and June commits fixed the modelling code. 14 + 0 + 10 + 0 + 5 + 10 = 39.

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.

Score by category

CategoryWeight this runStep 3.7 FlashWeVisOne-VL-2BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%257070even
Risk20%204555WeVisOne-VL-2B +10
Agent interface10%108570Step 3.7 Flash +15
Documentation and upkeep10%103948WeVisOne-VL-2B +9
Negative events≤1500
TotalC 59.8/100C 61/100

Facts side by side

FactStep 3.7 FlashWeVisOne-VL-2B
KindOpen-weight modelOpen-weight model
VendorStepFunTencent (WeChat Vision)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0 (metadata and card; no LICENSE file)Apache-2.0
Read-only variant documentednono
llms.txtnono
Last release2026-06-032026-10-28
Terms last updatedno document linkednot read yet
Privacy policy last updatedno document linkedno document linked

Verdicts

Step 3.7 Flash

A capable open agent model with a clean licence, every kind of build and four released runtimes. Two things hold it back: it's a little too big for a 128 GB machine at 4 bits, whatever the card says, and StepFun has gone quiet on the repository since June. No safety results, limitations or data description.

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

Step 3.7 Flash

  1. On a 128 GB machine the 4-bit GGUF won't fit with a working context. Use StepFun's API or a provider, or a server
  2. On vLLM or SGLang pass --tool-call-parser step3p5 --reasoning-parser step3p5
  3. The card's commands pass trust-remote-code. Released Transformers 5.22.2 has the model built in if you'd rather not run the repository's code
  4. For llama.cpp load the mmproj file from StepFun's GGUF repository for image input
  5. StepFun's API has two hosts. Use the one where your key was issued, api.stepfun.ai or api.stepfun.com
  6. The same model is on our StepFun API listing, with prices and terms

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, Step 3.7 Flash or WeVisOne-VL-2B?

WeVisOne-VL-2B scores 61 (C) on agent readiness against Step 3.7 Flash's 59.8 (C), and leads in 2 of 4 scored categories. Step 3.7 Flash leads on agent interface.

Other comparisons with Step 3.7 Flash 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.