Model reference · open weights

jina-embeddings-omni-small-classification

Embeddings jinaai Embeddings 2 builds Non-commercial 319 dl/mo

jina-embeddings-omni-small-classification is an open-weight embedding model from jinaai. jina-embeddings-v5-omni-small-classification-GGUF (GGUF) weighs 396 MB; the smallest configuration that runs it is RTX 3060 12 GB.

  • jina-embeddings-omni-small-classification is a multilingual feature-extraction model developed by jinaai that generates 1024-dimensional embeddings from text, images, video, and audio.
  • It is designed for classification tasks and supports a maximum sequence length of 32768 tokens.
  • The model contains approximately 1.56 billion parameters and is distributed under the cc-by-nc-4.0 license.

Summary of the jinaai/jina-embeddings-v5-omni-small-classification-GGUF model card, 2026-10-01

What it is

Released byjinaai
Released2026-05-03
VRAM396 MB for the weights

What it runs on

Memory and cards for jina-embeddings-v5-omni-small-classification-GGUF (GGUF)

396 MBweights, file size
1.1 GBruntime overhead
CardRunsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
jina-embeddings-v5-omni-small-classification-GGUF (above) ↗
14 builds: IQ1_S 208 MB … F16 1.2 GB
—GGUF 396 MBRTX 3060 12 GB
jina-embeddings-v5-omni-small-classification-mlx ↗ 1.6BMLX 3.1 GBRTX 3060 12 GB

From the model card

What jinaai says about jina-embeddings-omni-small-classification

Read the model card

jina-embeddings-v5-omni-small-classification-GGUF: Classification-Targeted Omni Embedding (Small) — GGUF

ArXiv | Blog

Average score vs. parameter count across image (MIEB-Lite), video (MMEB-V), and audio (MAEB) benchmarks — jina-v5-omni-nano and jina-v5-omni-small define the open-weight frontier (Table 1 in the ArXiv report).

Model Overview

GGUF + multimodal-projector build of jinaai/jina-embeddings-v5-omni-small-classification for llama.cpp. Accepts text, images, video, and audio and produces 1024-dim embeddings in the same vector space as the torch reference and as jinaai/jina-embeddings-v5-text-small-classification at the same task — index with text and query with any modality, no reindexing. For a more compact alternative, see jinaai/jina-embeddings-v5-omni-nano-classification-GGUF.

This is the classification-targeted variant of the jina-embeddings-v5-omni-small GGUF family. The umbrella with all GGUF variants and cross-repo benchmarks is jina-ai/jina-embeddings-v5-omni-gguf.

FeatureValue
Parameters~1.56B (text + vision + audio towers)
Embedding Dimension1024
Supported Tasksclassification
Max Sequence Length32768
Pooling StrategyLast-token
Supported Inputstext, image, video, audio
Supported File Typesimages: .jpg, .jpeg, .png, .gif, .webp, .bmp, .tif, .tiff, .avif, .heic, .svg; video: .mp4, .avi, .mov, .mkv, .webm, .flv, .wmv; audio: .wav, .mp3, .flac, .ogg, .m4a, .opus; documents: .pdf
Matryoshka Dimensions32, 64, 128, 256, 512, 768, 1024
Quantizationtext: F16 + 13 imatrix-calibrated int-quant levels; mmprojs: F16

Cross-repo docs: benchmarks (NDCG@5 on NanoBEIR, tokens/sec, peak VRAM, file size), the full per-variant numerical-parity tables, and runtime caveats live in the v5-omni-gguf umbrella.

Via Elastic Inference Service

The fastest way to use v5-omni in production. Elastic Inference Service (EIS) provides managed embedding inference with built-in scaling, so you can generate embeddings directly within your Elastic deployment.

# Retrieve the configuration of the preconfigured omni-small inference endpoint
GET /_inference/embedding/.jina-embeddings-v5-omni-small

# Generate an embedding for a single piece of text using the predefined endpoint
POST _inference/embedding/.jina-embeddings-v5-omni-small
{
  "input": [
    "This is a test"
  ]
}

# Fuse a text description and an image into a single embedding via a multimodal content block
POST _inference/embedding/.jina-embeddings-v5-omni-small
{
  "input": [
    {
      "content": [
        { "type": "text",  "value": "A small blue square" },
        { "type": "image", "format": "base64", "value": "" }
      ]
    }
  ]
}

# Create a custom endpoint that truncates omni-small embeddings to 32 dimensions
PUT _inference/embedding/jina-omni-small-32d
{
  "service": "elastic",
  "service_settings": {
    "model_id": "jina-embeddings-v5-omni-small",
    "dimensions": 32
  }
}

See the Elastic Inference Service documentation for setup details.

Files in this repo

FilePurpose
jina-embeddings-v5-omni-small-classification-F16.gguf (and 13 *-Q*.gguf quants)text-tower GGUF (with vocab + tokenizer)
jina-embeddings-v5-omni-small-classification-vision-mmproj-F16.ggufvision multimodal projector (Qwen3-VL ViT + merger)
jina-embeddings-v5-omni-small-classification-audio-mmproj-F16.ggufaudio multimodal projector (Qwen2.5-Omni audio encoder + Linear)

llama.cpp loads --mmproj to enable image / video / audio inputs on top of the text GGUF. The two mmprojs are independent — load whichever modality you need, or pass --mmproj twice to serve both from one process (see "Selective modality loading" below).

Install llama.cpp (with multimodal patches)

This model relies on the Jina v5 omni patches (audio chunked attention, qwen3vl video temporal-pair, encoder combined-decode, etc.) — they are not yet upstream. Build from the feat-v5-omni fork:

git clone https://github.com/jina-ai/llama.cpp.git
cd llama.cpp
git checkout feat-v5-omni
cmake -B build && cmake --build build --config Release -j

For CUDA: pass -DGGML_CUDA=ON to the configure step.

H100 / Hopper note. On Hopper GPUs (H100, H200), set GGML_CUDA_DISABLE_GRAPHS=1 before launching llama-server. Without it, the CUDA-graph capture/replay path crashes with cudaMemcpyAsync … illegal instruction during embedding extraction. CPU, Metal, Vulkan, and pre-Hopper CUDA (e.g. L4, A100) are unaffected.

Quickstart — text via llama-embedding

./build/bin/llama-embedding \
    -hf jinaai/jina-embeddings-v5-omni-small-classification-GGUF:Q4_K_M \
    --pooling last --embd-normalize 2 \
    -p "A cute cat sitting on a mat."

The -hf shortcut downloads + caches the requested quant from this repo on first use. Q4_K_M is the recommended CPU default; Q8_0 for highest fidelity; IQ2_*/IQ1_* for very tight memory budgets.

No prefix convention. Classification text is embedded verbatim — no Query: / Document: prefixes are needed (unlike the retrieval variant). Both sides of any pair go in unprefixed.

No custom pooling o

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

How it works

How embedding models work

Your textsentence / documentEncodermaps meaningVectorlist of numbersAn embedding model turns text into a vector, so similar meanings sit close together, which is the basis of search and RAG.
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms