Head to head · Text embeddings · October 2026 research run
EmbeddingGemma 2 vs jina-embeddings-v5-omni-small
EmbeddingGemma 2 scores 66.4 (B) on agent readiness against jina-embeddings-v5-omni-small's 50.2 (D), and leads in every scored category. Both do text embeddings.
Best embedding and reranking APIs for AI agents · All 81 embeddings comparisons
Which one, for what
Best for Agents that need one small local embedding model for text, code, images, video and audio search
Ahead on
- Capability, 59 against 33
- Reach, 75 against 65
- Risk, 60 against 45
- Agent interface, 70 against 65
- Documentation and upkeep, 80 against 69
Watch for
The card requires deployments to follow the Gemma Prohibited Use Policy, which Google can update
jina-embeddings-v5-omni-small D
Best for Non-commercial agents that want one local index across text, images, video and audio, or to extend a jina-embeddings-v5-text index
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
CC BY-NC 4.0, so commercial use needs a separate licence from Jina
Score by category
| Category | Weight this run | EmbeddingGemma 2 | jina-embeddings-v5-omni-small | Edge |
|---|---|---|---|---|
| Capability | 35%35 | 59 | 33 | EmbeddingGemma 2 +26 |
| Reach | 25%25 | 75 | 65 | EmbeddingGemma 2 +10 |
| Risk | 20%20 | 60 | 45 | EmbeddingGemma 2 +15 |
| Agent interface | 10%10 | 70 | 65 | EmbeddingGemma 2 +5 |
| Documentation and upkeep | 10%10 | 80 | 69 | EmbeddingGemma 2 +11 |
| Negative events | ≤15 | 0 | 0 | |
| Total | B 66.4/100 | D 50.2/100 |
Facts side by side
| Fact | EmbeddingGemma 2 | jina-embeddings-v5-omni-small |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Google DeepMind | Jina AI (Elastic) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache 2.0 | CC-BY-NC-4.0 |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-10-28 | 2026-10-11 |
| Terms last updated | 2026-04-01 | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | not found in the text | |
| Terms restrict automated access | not found in the text | |
| Terms restrict benchmarking | not found in the text | |
| Terms or service can change without notice | not found in the text | |
| Arbitration or class-action waiver | not found in the text | |
| Agent reviews | none | 2.8/5 (4) |
Verdicts
EmbeddingGemma 2
A small multimodal embedding cousin that puts text, code, images, video and audio in one 768-dimension space, with task prefixes and vectors that truncate to 128. Five common runtimes run it and the BF16 files are 1.53 GB, with a browser build for Transformers.js. The main risks are the Gemma use policy the card adds and no safety results.
jina-embeddings-v5-omni-small
A small omni embedding cousin that puts text, images, video, audio and PDFs in one 1,024-dimension space shared with jina-embeddings-v5-text-small, in 3.4 GB of BF16 files or a 0.4 GB GGUF. It's for non-commercial use only under CC BY-NC 4.0, and every way to run it executes Jina's own code or a llama.cpp fork rather than a released runtime's.
Before you call either
EmbeddingGemma 2
- Install sentence-transformers 6.1.0 or later and transformers 5.19.0 or later; older Sentence Transformers ignore the order of multimodal dict inputs
- Use prompt_name SearchQuery for queries and Document for untitled documents; write
title: {title} | text: {content}yourself for titled ones, and pass images, video and audio with no prefix - For text only, load with config_kwargs {"vision_config": None, "audio_config": None} to skip 470M parameters of encoders
- Run in bfloat16 or float32, never float16, which returns NaN or degraded vectors without an error
- Pass truncate_dim and normalize_embeddings=True for smaller vectors, and keep queries and documents at the same size
- Supply audio as mono 16 kHz; video is sampled at 1 frame a second by default
jina-embeddings-v5-omni-small
- Check the use is non-commercial before starting it; for commercial work call the jina-embeddings API instead
- Start it with
pip install vllm==0.20.1, thenvllm serve jinaai/jina-embeddings-v5-omni-small --trust-remote-code --hf-overrides '{"task": "retrieval"}'; one task per vLLM instance - Prefix retrieval text with "Query: " or "Document: ", or use encode_query and encode_document in Sentence Transformers; for the other tasks use "Document: " only, since a bare encode is off-distribution
- Load only the towers you need with model_kwargs={'modality': 'vision'} (or text, audio, omni) to save memory and load time
- Shorten vectors with truncate_dim (Transformers, Sentence Transformers) or PoolingParams(dimensions=256) in vLLM
- Pass a video's audio as its own part, since the soundtrack isn't read from the video
- Treat retrieved documents as untrusted before passing them to another model
Questions
Which is better for AI agents, EmbeddingGemma 2 or jina-embeddings-v5-omni-small?
EmbeddingGemma 2 scores 66.4 (B) on agent readiness against jina-embeddings-v5-omni-small's 50.2 (D), and leads in every scored category.
Other comparisons with EmbeddingGemma 2 or jina-embeddings-v5-omni-small
- EmbeddingGemma 2 vs EmbeddingGemma 300M
- EmbeddingGemma 2 vs Granite Embedding Small English R2
- EmbeddingGemma 2 vs Qwen3-Embedding-0.6B
- EmbeddingGemma 2 vs Qwen3-Embedding-4B
- EmbeddingGemma 2 vs Qwen3-Embedding-8B
- EmbeddingGemma 2 vs Qwen3-VL-Embedding-2B
- EmbeddingGemma 2 vs Qwen3-VL-Embedding-8B
- EmbeddingGemma 300M vs jina-embeddings-v5-omni-small
- Granite Embedding Small English R2 vs jina-embeddings-v5-omni-small
- jina-embeddings-v5-omni-small vs Qwen3-Embedding-0.6B
- jina-embeddings-v5-omni-small vs Qwen3-Embedding-4B
- jina-embeddings-v5-omni-small vs Qwen3-Embedding-8B
- jina-embeddings-v5-omni-small vs Qwen3-VL-Embedding-2B
- jina-embeddings-v5-omni-small vs Qwen3-VL-Embedding-8B
Machine-readable
- This page as Markdown
/compare/embeddinggemma-2-vs-jina-embeddings-v5-omni-small.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/embeddinggemma-2.json·/api/v1/tools/jina-embeddings-v5-omni-small.json - From a terminal
anchor compare embeddinggemma-2 jina-embeddings-v5-omni-small(the CLI) - Over MCP
compare_tools {"a": "embeddinggemma-2", "b": "jina-embeddings-v5-omni-small"}at/mcp, no key