NEWVectors or files. Pick a path.Start →
    Models/google/siglip2-so400m-patch16-naflex
    transformersapache-2.0

    siglip2-so400m-patch16-naflex

    by google

    SigLIP 2 at native aspect ratio and variable resolution

    377Kdl/month
    82likes
    1.1Bparams
    Identifiers
    Model ID
    google/siglip2-so400m-patch16-naflex
    Feature URI

    Overview

    SigLIP 2 replaces CLIP's softmax contrastive loss with a pairwise sigmoid loss, which removes the need for a global normalization across the batch and trains stably at large scale. The NaFlex variant adds the property that matters most for real documents and photographs: it handles native aspect ratios and variable sequence lengths instead of forcing every input into a fixed square.

    Squashing a 16:9 video frame or a portrait page into a square distorts the spatial relationships a retrieval model is trying to encode. NaFlex avoids that, which is why it tends to do better on documents, screenshots and wide video frames than fixed-resolution encoders.

    At 1.14B parameters this is a large encoder, so it usually belongs in a reranking or high-precision stage rather than running over every frame.

    Architecture

    SigLIP 2 so400m (shape-optimized 400M-class vision tower) with 16x16 patches and NaFlex support for native aspect ratio and variable sequence length. Trained with a pairwise sigmoid contrastive loss. 1,135,670,962 parameters total per the model card.

    Mixpeek SDK Integration

    // No extractor parameter takes a Hugging Face model id (checked against
    // GET /v1/discovery/extractors, which returns 13), so siglip2-so400m-patch16-naflex 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

    • Native aspect ratio input, with no forced square resize
    • Variable sequence length, so resolution can scale with content
    • Sigmoid contrastive loss, stable at large batch scale
    • Zero-shot classification and cross-modal retrieval

    Use Cases on Mixpeek

    Document and screenshot retrieval where aspect ratio carries layout meaning
    Wide video frame embedding without distortion from square cropping
    High-precision reranking over candidates recalled by a smaller encoder
    Cross-modal search where fine visual detail decides relevance

    Specification

    Frameworktransformers
    Organizationgoogle
    Retriever-
    Parameters1.1B
    Licenseapache-2.0
    Downloads/mo377K
    Likes82

    Research Paper

    SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features

    arxiv.org

    Build a pipeline with siglip2-so400m-patch16-naflex

    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