NEWVectors or files. Pick a path.Start →
    Models/facebook/dinov2-base
    Apache-2.0

    dinov2-base

    by facebook

    Self-supervised visual features with no text tower, and the model behind Mixpeek's visual-similarity index

    Identifiers
    Model ID
    facebook/dinov2-base
    Feature URI

    Overview

    DINOv2 learns from images alone. There is no caption, no text encoder, and no shared space with language, which is precisely why it is worth running next to a CLIP-family model rather than instead of one. SigLIP answers "which image matches this description". DINOv2 answers "which image looks like this image", and it is better at the second question because nothing in its training pushed it toward what a caption would have said.

    Mixpeek runs both. web_scraper@v1 creates two image indexes on the same crawled pages: SigLIP for semantic visual content and DINOv2 for fine-grained visual structure. A near-duplicate, a crop, a re-encode or a slightly recoloured variant is a DINOv2 question.

    At 2.89 million monthly downloads it remains the default choice for dense visual features, and the base size is 86.6M parameters, small enough to run over a large archive.

    Architecture

    Vision Transformer, base size, 86,580,480 parameters, trained with the DINOv2 self-supervised objective on LVD-142M. No fine-tuned head ships with it: the output is the last hidden state, and the CLS token is the usual image-level representation. Mixpeek indexes it at 768 dimensions with cosine distance.

    Mixpeek SDK Integration

    import { Mixpeek } from "mixpeek";
    
    const mx = new Mixpeek({ apiKey: "API_KEY" });
    
    // Managed, and real: web_scraper@v1 builds a DINOv2 visual-similarity index
    // (facebook__dinov2_base, 768-d) beside a SigLIP semantic index on the same
    // pages, so both questions are answerable from one crawl.
    const collection = await mx.collections.create({
      namespace_id: "my-namespace",
      collection_name: "crawled-pages",
      source: { type: "bucket", bucket_ids: ["bkt_your_bucket"] },
      feature_extractor: {
        feature_extractor_name: "web_scraper",
        version: "v1",
      },
    });

    Capabilities

    • 768-dimensional dense visual features with no language supervision
    • Patch-level features as well as an image-level CLS token
    • Strong on near-duplicate, crop and re-encode matching
    • No text tower, so it cannot answer a text query on its own

    Use Cases on Mixpeek

    Near-duplicate detection across an image or frame archive
    Visual structure matching where a caption would collapse the distinction
    The second image index beside a CLIP-family semantic index
    Reverse image lookup from a reference crop

    Performance

    Input Size224x224 px
    Embedding Dim768 as indexed by Mixpeek
    GPU LatencyInput dependent
    GPU ThroughputBatch dependent
    GPU MemoryModel dependent

    Meta publishes no latency figures for the base checkpoint and Mixpeek has not published its own, so none are quoted. The 86.6M parameter count is read from the safetensors index.

    Frequently Asked Questions

    Can I search DINOv2 with a text query?

    No. It has no text encoder and no shared image-text space, so there is nothing to encode a sentence into. Text queries against visual content go through a contrastive model such as SigLIP, which Mixpeek runs alongside it for exactly that reason. Query DINOv2 with an image.

    When does DINOv2 beat SigLIP or CLIP?

    When the distinction you care about is one a caption would erase. Two photographs of the same product in different lighting, an image and its crop, an original and a re-encode: a contrastive model trained on captions maps those close together because the caption is the same, which is correct for search-by-description and wrong for near-duplicate work. DINOv2 saw no captions, so it kept the differences.

    Should I use DINOv2 or DINOv3?

    DINOv3 is newer and Mixpeek has pages for several of its sizes. DINOv2 base is what web_scraper@v1 runs today, so it is the one you get without configuring anything. If you are running inference yourself and the choice is open, benchmark on your own images; the published gains are on dense prediction tasks that may not be what your retrieval depends on.

    Does Mixpeek run DINOv2 anywhere other than web_scraper?

    Not as of 2026-09-01. GET /v1/discovery/extractors lists facebook__dinov2_base only under web_scraper@v1, as the visual-similarity index. Other image paths (image_extractor@v1) run SigLIP. To get DINOv2 features over a bucket of your own files rather than a crawl, run the model yourself and upsert the vectors.

    What dimension are the vectors?

    768 as Mixpeek indexes them, cosine distance, float32. That is 3 KB per image before quantization, so a million images is about 3 GB in the raw index. The model's own hidden size is 768 for the base checkpoint; the large and giant checkpoints are wider, and swapping to one means a new index because dimensions are fixed at namespace creation.

    Specification

    Organizationfacebook
    Retriever-
    Parameters86.6M
    LicenseApache-2.0
    Downloads/moN/A

    Research Paper

    DINOv2: Learning Robust Visual Features without Supervision

    arxiv.org

    Build a pipeline with dinov2-base

    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