siglip2-so400m-patch14-384
by google
SigLIP 2 SO400M (patch14, 384px): a top open image-text embedder for zero-shot visual search
google/siglip2-so400m-patch14-384Overview
SigLIP 2 is Google's second-generation image-text encoder. It keeps SigLIP's sigmoid contrastive loss (which scales better than CLIP's softmax across large batches) and adds captioning-based pretraining, self-supervised objectives (self-distillation and masked prediction), and online data curation into one recipe. The result is stronger zero-shot retrieval, noticeably better localization, and denser features than the original SigLIP, with multilingual coverage. This SO400M checkpoint is the shape-optimized ~400M-parameter model at 14px patches and 384px input, a strong quality-per-FLOP point for production.
On Mixpeek, SigLIP 2 is a leading choice for the image and frame embedding stage: it maps pictures and text into one shared space so an agent can search a visual library by description or by example image. Its improved spatial/dense features also help downstream localization and region-level retrieval, not just whole-image matching.
Architecture
Vision-language dual encoder trained with a sigmoid (pairwise) contrastive loss instead of softmax, so it scales to very large batches without a global normalization term. SigLIP 2 augments that with a captioning decoder head, self-supervised self-distillation and masked-prediction losses, and online data curation. SO400M is a shape-optimized ~400M-parameter ViT; the patch14-384 variant uses 14px patches at 384px resolution for finer spatial detail.
Mixpeek SDK Integration
// No extractor parameter takes a Hugging Face model id (checked against
// GET /v1/discovery/extractors, which returns 13), so siglip2-so400m-patch14-384 runs
// on your side and the output is upserted through POST
// /v1/namespaces/{namespace_id}/documents/upsert. On Enterprise the other
// path is to upload the weights instead: POST /v1/namespaces/{id}/models
// accepts the huggingface format and a custom plugin loads them.
const res = await fetch(
"https://api.mixpeek.com/v1/namespaces/ns_your_namespace/documents/upsert",
{
method: "POST",
headers: {
Authorization: "Bearer API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
collection_id: "col_your_collection",
documents: [
{
document_id: "asset-00412",
// The vector name has to match a vector index on the collection.
vectors: { "image-embedding": yourVector },
payload: { source_key: "archive/2026/asset-00412" },
},
],
}),
},
);
// Managed alternative, if this exact model is not the requirement:
// image_extractor@v1 runs google/siglip-base-patch16-224
// (768-d) over a bucket, with no inference of your own.Capabilities
- Zero-shot image-text retrieval in a shared embedding space
- Improved localization and dense features vs SigLIP v1
- Multilingual text-image alignment
- Sigmoid loss scales to large-batch training
Use Cases on Mixpeek
Common Pipeline Companions
Specification
Research Paper
SigLIP 2 SO400M (patch14-384)
arxiv.orgBuild a pipeline with siglip2-so400m-patch14-384
Add this model to a processing pipeline alongside other extractors. Combine with retrieval stages for end-to-end search.
Run it on your own data, free