alt.freeweights.embed / jina-clip-v1
From: jinaai <huggingface.co/jinaai>Newsgroups: alt.freeweights.embedSubject:

jina-clip-v1

Date: 2026-11-14Commit: ceb3e44Signed: 2DC28CC7B26A283B ✓

Feature extraction model with 223M parameters. Onnx and safetensors weights, 4.23 GB in all. Published by jinaai under Apache-2.0.

223M params4.23GBjina-clip-v1onnx safetensorspermissive
FactsParams223MSize4.23 GBFormatsonnx, safetensorsTaskfeature extractionLicenseApache-2.0From sourcepermissive
$ fw get jinaai/jina-clip-v1
# manifest sha256 4a69c5bf5415… · 4.23 GB · 27 files
$ fw verify ./jina-clip-v1 jinaai/jina-clip-v1
From sourceHosted (signed)jinaai/jina-clip-v1Last check: 2026-11-14 21:09 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Evaluate with

Overview

Size
4.23 GB
Weights
891 MB (safetensors)
Parameters
223M
Formats
onnx, safetensors
Task
feature extraction
License
Apache-2.0 (permissive)
Files
27, each with a sha256
Publisher
jinaai
Added
2026-11-14
Section
alt.freeweights.embed
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:09 UTCpassed

Model card

From the publisher at commit ceb3e44. Shown as plain text with links; images open at the publisher.

Image: Jina AI: Your Search Foundation, Supercharged!

The embedding set trained by Jina AI.

Jina CLIP: your CLIP model is also your text retriever!

Intended Usage & Model Info#

jina-clip-v1 is a state-of-the-art English multimodal (text-image) embedding model.

Traditional text embedding models, such as jina-embeddings-v2-base-en, excel in text-to-text retrieval but incapable of cross-modal tasks. Models like openai/clip-vit-base-patch32 effectively align image and text embeddings but are not optimized for text-to-text retrieval due to their training methodologies and context limitations.

jina-clip-v1 bridges this gap by offering robust performance in both domains. Its text component matches the retrieval efficiency of jina-embeddings-v2-base-en, while its overall architecture sets a new benchmark for cross-modal retrieval. This dual capability makes it an excellent tool for multimodal retrieval-augmented generation (MuRAG) applications, enabling seamless text-to-text and text-to-image searches within a single model.

Data & Parameters#

Check out our paper

Usage#

  1. The easiest way to starting using jina-clip-v1-en is to use Jina AI's Embeddings API.
  2. Alternatively, you can use Jina CLIP directly via transformers/sentence-transformers package.
!pip install transformers einops timm pillow
from transformers import AutoModel

# Initialize the model
model = AutoModel.from_pretrained('jinaai/jina-clip-v1', trust_remote_code=True)

# New meaningful sentences
sentences = ['A blue cat', 'A red cat']

# Public image URLs
image_urls = [
    'https://i.pinimg.com/600x315/21/48/7e/21487e8e0970dd366dafaed6ab25d8d8.jpg',
    'https://i.pinimg.com/736x/c9/f2/3e/c9f23e212529f13f19bad5602d84b78b.jpg'
]

# Encode text and images
text_embeddings = model.encode_text(sentences)
image_embeddings = model.encode_image(image_urls)  # also accepts PIL.image, local filenames, dataURI

# Compute similarities
print(text_embeddings[0] @ text_embeddings[1].T) # text embedding similarity
print(text_embeddings[0] @ image_embeddings[0].T) # text-image cross-modal similarity
print(text_embeddings[0] @ image_embeddings[1].T) # text-image cross-modal similarity
print(text_embeddings[1] @ image_embeddings[0].T) # text-image cross-modal similarity
print(text_embeddings[1] @ image_embeddings[1].T)# text-image cross-modal similarity

or sentence-transformers:

# !pip install -U sentence-transformers 
from sentence_transformers import SentenceTransformer

# Initialize the model
model = SentenceTransformer('jinaai/jina-clip-v1', trust_remote_code=True)

# New meaningful sentences
sentences = ['A blue cat', 'A red cat']

# Public image URLs
image_urls = [
    'https://i.pinimg.com/600x315/21/48/7e/21487e8e0970dd366dafaed6ab25d8d8.jpg',
    'https://i.pinimg.com/736x/c9/f2/3e/c9f23e212529f13f19bad5602d84b78b.jpg'
]

text_embeddings = model.encode(sentences)
image_embeddings = model.encode(image_urls)
  1. JavaScript developers can use Jina CLIP via the Transformers.js library. Note that to use this model, you need to install Transformers.js v3 from source using npm install xenova/transformers.js#v3.
import { AutoTokenizer, CLIPTextModelWithProjection, AutoProcessor, CLIPVisionModelWithProjection, RawImage, cos_sim } from '@xenova/transformers';

// Load tokenizer and text model
const tokenizer = await AutoTokenizer.from_pretrained('jinaai/jina-clip-v1');
const text_model = await CLIPTextModelWithProjection.from_pretrained('jinaai/jina-clip-v1');

// Load processor and vision model
const processor = await AutoProcessor.from_pretrained('Xenova/clip-vit-base-patch32');
const vision_model = await CLIPVisionModelWithProjection.from_pretrained('jinaai/jina-clip-v1');

// Run tokenization
const texts = ['A blue cat', 'A red cat'];
const text_inputs = tokenizer(texts, { padding: true, truncation: true });

// Compute text embeddings
const { text_embeds } = await text_model(text_inputs);

// Read images and run processor
const urls = [
    'https://i.pinimg.com/600x315/21/48/7e/21487e8e0970dd366dafaed6ab25d8d8.jpg',
    'https://i.pinimg.com/736x/c9/f2/3e/c9f23e212529f13f19bad5602d84b78b.jpg'
];
const image = await Promise.all(urls.map(url => RawImage.read(url)));
const image_inputs = await processor(image);

// Compute vision embeddings
const { image_embeds } = await vision_model(image_inputs);

//  Compute similarities
console.log(cos_sim(text_embeds[0].data, text_embeds[1].data)) // text embedding similarity
console.log(cos_sim(text_embeds[0].data, image_embeds[0].data)) // text-image cross-modal similarity
console.log(cos_sim(text_embeds[0].data, image_embeds[1].data)) // text-image cross-modal similarity
console.log(cos_sim(text_embeds[1].data, image_embeds[0].data)) // text-image cross-modal similarity
console.log(cos_sim(text_embeds[1].data, image_embeds[1].data)) // text-image cross-modal similarity

Performance#

Text-Image Retrieval#
NameFlickr Image Retr. R@1Flickr Image Retr. R@5Flickr Text Retr. R@1Flickr Text Retr. R@5
ViT-B-320.5970.83980.7810.938
ViT-B-160.62160.85720.8220.966
jina-clip0.67480.89020.8110.965
NameMSCOCO Image Retr. R@1MSCOCO Image Retr. R@5MSCOCO Text Retr. R@1MSCOCO Text Retr. R@5
ViT-B-320.3420.60010.52340.7634
ViT-B-160.33090.58420.52420.767
jina-clip0.41110.66440.55440.7904
Text-Text Retrieval#
NameSTS12STS15STS17STS13STS14STS16STS22STSBenchmarkSummEval
jina-embeddings-v20.74270.87550.88880.8330.79170.8360.63460.84040.3056
jina-clip0.73520.87460.89760.83230.78680.83770.65830.84930.3048
NameArguAnaFiQA2018NFCorpusQuoraSCIDOCSSciFactTRECCOVID
jina-embeddings-v20.44180.41580.32450.8820.19860.66680.6591
jina-clip0.49330.38270.33520.87890.20240.67340.7161

Contact#

Join our Discord community and chat with other community members about ideas.

Citation#

If you find jina-clip-v1 useful in your research, please cite the following paper:

@misc{2405.20204,
    Author = {Andreas Koukounas and Georgios Mastrapas and Michael Günther and Bo Wang and Scott Martens and Isabelle Mohr and Saba Sturua and Mohammad Kalim Akram and Joan Fontanals Martínez and Saahil Ognawala and Susana Guzman and Maximilian Werk and Nan Wang and Han Xiao},
    Title = {Jina CLIP: Your CLIP Model Is Also Your Text Retriever},
    Year = {2024},
    Eprint = {arXiv:2405.20204},
}

FAQ#

I encounter this problem, what should I do?#
ValueError: The model class you are passing has a `config_class` attribute that is not consistent with the config class you passed (model has <class 'transformers_modules.jinaai.jina-clip-implementation.7f069e2d54d609ef1ad2eb578c7bf07b5a51de41.configuration_clip.JinaCLIPConfig'> and you passed <class 'transformers_modules.jinaai.jina-clip-implementation.7f069e2d54d609ef1ad2eb578c7bf07b5a51de41.configuration_cli.JinaCLIPConfig'>. Fix one of those so they match!

There was a bug in Transformers library between 4.40.x to 4.41.1. You can update transformers to >4.41.2 or <=4.40.0

Given one query, how can I merge its text-text and text-image cosine similarity?#

Our emperical study shows that text-text cosine similarity is normally larger than text-image cosine similarity! If you want to merge two scores, we recommended 2 ways:

  1. weighted average of text-text sim and text-image sim:
combined_scores = sim(text, text) + lambda * sim(text, image)  # optimal lambda depends on your dataset, but in general lambda=2 can be a good choice.
  1. apply z-score normalization before merging scores:
# pseudo code
query_document_mean = np.mean(cos_sim_text_texts)
query_document_std = np.std(cos_sim_text_texts)
text_image_mean = np.mean(cos_sim_text_images)
text_image_std = np.std(cos_sim_text_images)

query_document_sim_normalized = (cos_sim_query_documents - query_document_mean) / query_document_std
text_image_sim_normalized = (cos_sim_text_images - text_image_mean) / text_image_std

Files

27 files · 4.23 GBWeights 891 MB (safetensors). Sizes and sha256 from the signed manifest.
Show all 27 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md10.0 KB6aecf08616d79ba5d2c9e0f4a20d2291d41a878d6f159ce5403e608fbd2f9f3e
config.json1.93 KB8f4bf3e79d6ecbebee3cfb84ff7121d5c78b1c3c41b7e54c2ac6c9abf643f741
config_sentence_transformers.json205 B1a47d7e21639786479e03e22ef14b7a288f1774291e55e38488445f6003252ac
custom_st.py7.81 KB5a06796f22729622315e0164c938e45e4cbe7455e82647358680d09c8f7fa12b
model.safetensors891 MB5140d6df851d217296a10b3961ece2850d22b35bff37af948f2d9db33ae4aec2
modules.json246 Bc5f113152d92e16bd63234f10698fce415b20d8b9cc9f6db54171895f1452dc8
onnx/text_model.onnx548 MBd7b2e732e685dcaf5ca2a36e7f5d9169906859f4590766689dbf7b00b20da01b
onnx/text_model_bnb4.onnx158 MB634a688535dc0a739cfca1cf892c74bb7d9b0d30e43a271594e7cc3ea914fd61
onnx/text_model_fp16.onnx274 MB745253a923bf58fc5d8df680c114a68651eaf9aba84e54e86d3963296e6d7735
onnx/text_model_int8.onnx138 MBbfc6462cbd3ebf12a802d3ee659e18814dc9de433a1b8b3784828bced2d519e2
onnx/text_model_q4.onnx165 MBd62fd04701f799f8973318d9f54a4edf01d4f1faba6a64dcc89cb2b6ef63cca2
onnx/text_model_quantized.onnx138 MBbfc6462cbd3ebf12a802d3ee659e18814dc9de433a1b8b3784828bced2d519e2
onnx/text_model_uint8.onnx138 MB75a6a3b35fbfe79e4e0a3d83d245932afa6312f5aa71c6de7c24b9fe1026addf
onnx/vision_model.onnx344 MB3032bf5f20bc39e23e9d2fff51ed1406341f1490bade128ffdcc6307af63c246
onnx/vision_model_bnb4.onnx51.9 MBdb2c86c4f3fbd57f88a9cf8bc31e396fc9543fa806a70a12cf67634e40e02bef
onnx/vision_model_fp16.onnx172 MB588446f8029156236e5bde68df444bb0b798eedb31259902b1d9cd4541cf7aec
onnx/vision_model_int8.onnx87.9 MB8e2367a33811c9a77d67a1e78c642c5f87a2c5507252b34a5bd9d25d9af13570
onnx/vision_model_q4.onnx57.2 MB2072e2c47e5e48a6918c815fe6f43780108874495ee88ba15ee64c21d68bed80
onnx/vision_model_quantized.onnx87.9 MBd81e0329d7b9285017d99d68e66002bc35c8c5dd0d61d6b6bb119cc910159657
onnx/vision_model_uint8.onnx87.9 MBd81e0329d7b9285017d99d68e66002bc35c8c5dd0d61d6b6bb119cc910159657
preprocessor_config.json527 B96111755d7d85492e502e0667f52961a71f9f1397769c11a3139a2a3a5498ff5
pytorch_model.bin891 MBcc0a69757ff58c708bc773bd911d99a6d1e25be2b0eb4fb2e06640848dbb44a9
special_tokens_map.json695 B5d5b662e421ea9fac075174bb0688ee0d9431699900b90662acd44b2a350503a
tokenizer.json712 KBb36ee0ed6d20d181de65ce729dea6169658a9cfa4dede6717ba9fa2e4fbd3bc7
tokenizer_config.json1.24 KB95ba08ef8e1932981fd3bf0720e576e87200613db15d9ab1c7e77f1312c99007
vocab.txt232 KB109753d618dbb576a35112f9c20ef35cf3517d46106175bcf010c986a4bef1df
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
ceb3e44ca4 pinned now manifest updated, same commit2026-11-14 21:09 UTC27 files · 4.23 GB
ceb3e44ca42026-11-14 21:09 UTC27 files · 4.23 GB

Use it

$ fw get jinaai/jina-clip-v1
# manifest sha256 4a69c5bf5415… · 4.23 GB · 27 files
$ fw verify ./jina-clip-v1 jinaai/jina-clip-v1
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/jinaai/jina-clip-v1.json --dir ./jina-clip-v1 $ python3 fw.py verify ./jina-clip-v1 ./jinaai__jina-clip-v1.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download jinaai/jina-clip-v1 --revision ceb3e44ca4d6eceaa4f3fb58b1c1a5748b3f29b6 --local-dir ./jina-clip-v1
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModel, AutoTokenizer tok = AutoTokenizer.from_pretrained("jinaai/jina-clip-v1", revision="ceb3e44ca4d6eceaa4f3fb58b1c1a5748b3f29b6") model = AutoModel.from_pretrained("jinaai/jina-clip-v1", revision="ceb3e44ca4d6eceaa4f3fb58b1c1a5748b3f29b6", device_map="auto")
sentence-transformersEmbed text with sentence-transformers.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from sentence_transformers import SentenceTransformer model = SentenceTransformer("jinaai/jina-clip-v1", revision="ceb3e44ca4d6eceaa4f3fb58b1c1a5748b3f29b6") vectors = model.encode(["Hello"])

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
6aecf08616d79ba5d2c9e0f4a20d2291d41a878d6f159ce5403e608fbd2f9f3e
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: jinaai <huggingface.co/jinaai>Newsgroups: alt.freeweights.embedSubject: jina-clip-v1Date: 2026-11-14Commit: ceb3e44Signed: 2DC28CC7B26A283B ✓
Upstream
jinaai/jina-clip-v1
Pinned commit
ceb3e44ca4d6eceaa4f3fb58b1c1a5748b3f29b6
Manifest
jina-clip-v1.json · .minisig
Manifest sha256
4a69c5bf5415eba1f9c5adc5e327839df9b56806bad58d00a8fe7b78e130068f
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:09 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/jinaai/jina-clip-v1.json $ curl -O https://freeweights.allternit.com/manifests/jinaai/jina-clip-v1.json.minisig $ minisign -Vm jina-clip-v1.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download jinaai/jina-clip-v1
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. jina-clip-v1.json. Provenance. Takedown history: none.
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-MiniLM-L6-v1
From: unsloth <huggingface.co/unsloth>Subject: all-MiniLM-L6-v2
From: mlx-community <huggingface.co/mlx-community>Subject: all-MiniLM-L6-v2-4bit
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-mpnet-base-v1
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: allenai-specter
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: bert-base-nli-max-tokens