Head to head · Text embeddings · October 2026 research run
Granite Embedding Small English R2 vs jina-embeddings-v5-omni-small
jina-embeddings-v5-omni-small scores 50.2 (D) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in 3 of 5 scored categories. Granite Embedding Small English R2 leads on reach and risk. Both do text embeddings.
Best embedding and reranking APIs for AI agents · All 73 embeddings comparisons
Which one, for what
Granite Embedding Small English R2 E
Best for Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing
Ahead on
- Reach, 70 against 65
- Risk, 55 against 45
Watch for
English only, one vector size and no task prompts
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
Ahead on
- Capability, 33 against 10
- Agent interface, 65 against 60
- Documentation and upkeep, 69 against 37
Watch for
CC BY-NC 4.0, so commercial use needs a separate licence from Jina
Score by category
| Category | Weight this run | Granite Embedding Small English R2 | jina-embeddings-v5-omni-small | Edge |
|---|---|---|---|---|
| Capability | 35%35 | 10 | 33 | jina-embeddings-v5-omni-small +23 |
| Reach | 25%25 | 70 | 65 | Granite Embedding Small English R2 +5 |
| Risk | 20%20 | 55 | 45 | Granite Embedding Small English R2 +10 |
| Agent interface | 10%10 | 60 | 65 | jina-embeddings-v5-omni-small +5 |
| Documentation and upkeep | 10%10 | 37 | 69 | jina-embeddings-v5-omni-small +32 |
| Negative events | ≤15 | 0 | 0 | |
| Total | E 41.7/100 | D 50.2/100 |
Facts side by side
| Fact | Granite Embedding Small English R2 | jina-embeddings-v5-omni-small |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | IBM | 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 | no | no |
| Last release | 2026-01-21 | 2026-10-11 |
| Terms last updated | 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) | 2.8/5 (4) |
Verdicts
Granite Embedding Small English R2
A tiny English embedding cousin for retrieval over long documents and code, 47M parameters with 384-dimension vectors and an 8,192-token input, under Apache 2.0 with a permissive data story. It runs on any hardware through Sentence Transformers, vLLM or llama.cpp. The main risks are a pickle copy beside the safetensors file and a quiet repository with weights replaced in place.
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
Granite Embedding Small English R2
- Load it with
SentenceTransformer("ibm-granite/granite-embedding-small-english-r2"), or serve it withvllm serve ibm-granite/granite-embedding-small-english-r2 --runner poolingand call /v1/embeddings - Pass
normalize_embeddings=Truewhen you need unit vectors; Sentence Transformers returns them unnormalised - In raw Transformers, take the CLS token (
model_output[0][:, 0]) and normalise it yourself - Don't add query or passage prefixes; the model takes plain text
- Load the safetensors file and ignore pytorch_model.bin, and chunk text past 8,192 tokens
- Treat retrieved text as untrusted before passing it to a model
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, Granite Embedding Small English R2 or jina-embeddings-v5-omni-small?
jina-embeddings-v5-omni-small scores 50.2 (D) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in 3 of 5 scored categories. Granite Embedding Small English R2 leads on reach and risk.
Other comparisons with Granite Embedding Small English R2 or jina-embeddings-v5-omni-small
- EmbeddingGemma 300M vs Granite Embedding Small English R2
- EmbeddingGemma 300M vs jina-embeddings-v5-omni-small
- Granite Embedding Small English R2 vs Qwen3-Embedding-0.6B
- Granite Embedding Small English R2 vs Qwen3-Embedding-4B
- Granite Embedding Small English R2 vs Qwen3-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-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/granite-embedding-small-english-r2-vs-jina-embeddings-v5-omni-small.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/granite-embedding-small-english-r2.json·/api/v1/tools/jina-embeddings-v5-omni-small.json - From a terminal
anchor compare granite-embedding-small-english-r2 jina-embeddings-v5-omni-small(the CLI) - Over MCP
compare_tools {"a": "granite-embedding-small-english-r2", "b": "jina-embeddings-v5-omni-small"}at/mcp, no key