NEWVectors or files. Pick a path.Start →
    Models/google/siglip2-so400m-patch14-384
    Apache 2.0

    siglip2-so400m-patch14-384

    by google

    SigLIP 2 SO400M (patch14, 384px): a top open image-text embedder for zero-shot visual search

    Identifiers
    Model ID
    google/siglip2-so400m-patch14-384
    Feature URI

    Overview

    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

    Embed an image library for text-to-image and image-to-image search
    Frame embeddings for video visual search and dedup
    Region/crop retrieval where dense features matter
    The visual half of a hybrid dense + BM25 retriever

    Specification

    Organizationgoogle
    Retriever-
    Parameters~400M
    LicenseApache 2.0
    Downloads/moN/A

    Research Paper

    SigLIP 2 SO400M (patch14-384)

    arxiv.org

    Build 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