Model reference · open weights

jina-embeddings-omni-nano-classification

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

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

  • jina-embeddings-omni-nano-classification is a multilingual feature-extraction model by jinaai that generates 768-dimensional embeddings from text, images, video, and audio.
  • It has approximately 0.95 billion parameters, supports a maximum sequence length of 8192 tokens, and is distributed under the cc-by-nc-4.0 license.
  • The model is available in GGUF format for llama.cpp and supports Matryoshka dimensions ranging from 32 to 768.

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

What it is

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

What it runs on

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

157 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-nano-classification-GGUF (above) ↗
14 builds: IQ1_S 99 MB … F16 431 MB
—GGUF 157 MBRTX 3060 12 GB
jina-embeddings-v5-omni-nano-classification-mlx ↗ 948MMLX 1.9 GBRTX 3060 12 GB

From the model card

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

Read the model card

jina-embeddings-v5-omni-nano-classification-GGUF: Classification-Targeted Omni Embedding (Nano) — 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-nano-classification for llama.cpp. Accepts text, images, video, and audio and produces 768-dim embeddings in the same vector space as the torch reference and as jinaai/jina-embeddings-v5-text-nano-classification at the same task — index with text and query with any modality, no reindexing. For higher performance at a larger size, see jinaai/jina-embeddings-v5-omni-small-classification-GGUF.

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

FeatureValue
Parameters~0.95B (text + vision + audio towers)
Embedding Dimension768
Supported Tasksclassification
Max Sequence Length8192
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
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-nano inference endpoint
GET /_inference/embedding/.jina-embeddings-v5-omni-nano

# Generate an embedding for a single piece of text using the predefined endpoint
POST _inference/embedding/.jina-embeddings-v5-omni-nano
{
  "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-nano
{
  "input": [
    {
      "content": [
        { "type": "text",  "value": "A small blue square" },
        { "type": "image", "format": "base64", "value": "" }
      ]
    }
  ]
}

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

See the Elastic Inference Service documentation for setup details.

Files in this repo

FilePurpose
jina-embeddings-v5-omni-nano-classification-F16.gguf (and 13 *-Q*.gguf quants)text-tower GGUF (with vocab + tokenizer)
jina-embeddings-v5-omni-nano-classification-vision-mmproj-F16.ggufvision multimodal projector (Qwen3-VL ViT + merger)
jina-embeddings-v5-omni-nano-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-nano-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. Q5_K_M is the recommended default for nano; 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 text pair go in unprefixed.

No custom pooling or padd

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