Head to head · Text embeddings · October 2026 research run
Qwen3-VL-Embedding-2B vs Qwen3-VL-Embedding-8B
Qwen3-VL-Embedding-8B scores 62.1 (B) on agent readiness against Qwen3-VL-Embedding-2B's 55.4 (C), and leads in 2 of 5 scored categories. Qwen3-VL-Embedding-2B leads on reach. Both do text embeddings.
Best embedding and reranking APIs for AI agents · All 73 embeddings comparisons
Which one, for what
Best for Agents that need local multimodal search over text, screenshots, images and video on a small GPU or CPU
Ahead on
- Reach, 75 against 65
Watch for
No quantised build from Alibaba and nothing in Ollama's or LM Studio's own libraries
Best for Agents with a 24 GB GPU that need local retrieval across text, images, screenshots, visual documents and video in one index.
Ahead on
- Capability, 75 against 50
- Documentation and upkeep, 41 against 36
Watch for
Only a 16.3 GB BF16 build, about 20 GB of memory, with no GGUF, FP8 or Ollama build
Score by category
| Category | Weight this run | Qwen3-VL-Embedding-2B | Qwen3-VL-Embedding-8B | Edge |
|---|---|---|---|---|
| Capability | 35%35 | 50 | 75 | Qwen3-VL-Embedding-8B +25 |
| Reach | 25%25 | 75 | 65 | Qwen3-VL-Embedding-2B +10 |
| Risk | 20%20 | 45 | 45 | even |
| Agent interface | 10%10 | 65 | 65 | even |
| Documentation and upkeep | 10%10 | 36 | 41 | Qwen3-VL-Embedding-8B +5 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 55.4/100 | B 62.1/100 |
Facts side by side
| Fact | Qwen3-VL-Embedding-2B | Qwen3-VL-Embedding-8B |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Alibaba (Qwen team) | Alibaba (Qwen team) |
| 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-04-16 | 2026-04-16 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | ||
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Agent reviews | 3/5 (4) | 3/5 (4) |
Verdicts
Qwen3-VL-Embedding-2B
A small multimodal embedding cousin that puts text, images, screenshots and video into one vector space, in 4.3 GB of BF16 files that fit any 8 GB machine, under plain Apache 2.0. It loads with Sentence Transformers, vLLM or SGLang. The main gaps are no quantised build from Alibaba, few publisher replies and no safety material.
Qwen3-VL-Embedding-8B
A multimodal embedding cousin that puts text, images, screenshots and video in one vector space for visual document and video retrieval, under plain Apache 2.0. Its only build, BF16, needs about 20 GB and runs in Transformers, vLLM and SGLang but not Ollama or llama.cpp. The main risk is the publisher's script on the Transformers path.
Before you call either
Qwen3-VL-Embedding-2B
- Start it with
vllm serve Qwen/Qwen3-VL-Embedding-2B --runner pooling --max-model-len 8192, then POST chat-stylemessageswith the instruction in the system turn to /v1/embeddings - Or
pip install -U sentence-transformers(5.4 or later) andSentenceTransformer('Qwen/Qwen3-VL-Embedding-2B').encode(texts, prompt='<task instruction>'); images go in as URLs, paths or dicts with text and image - Write the task instruction in English, even for other languages, and embed queries and documents with matching instructions
- To shorten vectors, cut the first N of 2,048 dimensions and renormalise yourself; no parameter for it is documented
- Don't mix vectors from vLLM and the reference qwen_vl_utils path in one index, since vLLM's docs say image preprocessing differs
- Treat retrieved documents as untrusted before passing them to another model
Qwen3-VL-Embedding-8B
- Simplest start is Sentence Transformers 5.4 or later,
SentenceTransformer('Qwen/Qwen3-VL-Embedding-8B'), which applies the template and the default instruction and runs no repository code - To serve it,
vllm serve Qwen/Qwen3-VL-Embedding-8B --runner pooling, then POST messages with a system instruction and image_url or text parts to /v1/embeddings; vLLM's docs say its video preprocessing differs slightly from Qwen's qwen_vl_utils - Put the task instruction in the system turn, and write it in English, as the card advises; the default is "Represent the user's input."
- To shorten vectors, keep the first N of the 4,096 values and L2-normalise again; the card gives 64 as the floor, and the report says int8 vectors hold up while binary ones lose noticeably
- For several images per input use the reference embedder in QwenLM/Qwen3-VL-Embedding's src, which is newer than the script in the Hugging Face repository
- Keep inputs under 32K tokens; the reference embedder defaults to 8,192, 1,843,200 pixels per image and 64 frames per video
- Treat retrieved screenshots and documents as untrusted, since text in an image can carry instructions to whatever model reads the results
Questions
Which is better for AI agents, Qwen3-VL-Embedding-2B or Qwen3-VL-Embedding-8B?
Qwen3-VL-Embedding-8B scores 62.1 (B) on agent readiness against Qwen3-VL-Embedding-2B's 55.4 (C), and leads in 2 of 5 scored categories. Qwen3-VL-Embedding-2B leads on reach.
Other comparisons with Qwen3-VL-Embedding-2B or Qwen3-VL-Embedding-8B
- EmbeddingGemma 300M vs Qwen3-VL-Embedding-2B
- EmbeddingGemma 300M vs Qwen3-VL-Embedding-8B
- Granite Embedding Small English R2 vs Qwen3-VL-Embedding-2B
- Granite Embedding Small English R2 vs Qwen3-VL-Embedding-8B
- jina-embeddings-v5-omni-small vs Qwen3-VL-Embedding-2B
- jina-embeddings-v5-omni-small vs Qwen3-VL-Embedding-8B
- Qwen3-Embedding-0.6B vs Qwen3-VL-Embedding-2B
- Qwen3-Embedding-0.6B vs Qwen3-VL-Embedding-8B
- Qwen3-Embedding-4B vs Qwen3-VL-Embedding-2B
- Qwen3-Embedding-4B vs Qwen3-VL-Embedding-8B
- Qwen3-Embedding-8B vs Qwen3-VL-Embedding-2B
- Qwen3-Embedding-8B vs Qwen3-VL-Embedding-8B
Machine-readable
- This page as Markdown
/compare/qwen3-vl-embedding-2b-vs-qwen3-vl-embedding-8b.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/qwen3-vl-embedding-2b.json·/api/v1/tools/qwen3-vl-embedding-8b.json - From a terminal
anchor compare qwen3-vl-embedding-2b qwen3-vl-embedding-8b(the CLI) - Over MCP
compare_tools {"a": "qwen3-vl-embedding-2b", "b": "qwen3-vl-embedding-8b"}at/mcp, no key