DINOv3 (dinov3)
dinov3 (DINOv3-B) turns one image into an L2-normalised embedding vector that describes how the image looks. Two images that look alike get vectors that point in similar directions, which supports similarity ranking, near-duplicate detection and nearest-neighbour retrieval over an image collection.
| Model ID | dinov3 |
| Model | DINOv3 ViT-B/16 (Meta) |
| Weights | Official release by Meta (facebook/dinov3-vitb16-pretrain-lvd1689m) |
| Use cases | Embeddings and search |
| Endpoints | POST /v1/embeddings |
| Pool | Public: available to every registered account, 100 calls per UTC day included |
| Billing units | image. Units and prices: Billing |
| Licence | DINOv3 License |
How it works
Section titled “How it works”A call is one forward pass of the image encoder. The image is resized straight to 224 × 224 pixels, normalised, and passed through DINOv3 ViT-B/16, a vision transformer (ViT) that splits the image into 16 × 16 pixel patches. The vector is the pooled output of the encoder (the class token after the final normalisation), scaled to length 1 (L2 normalisation) and returned as float32 values. dimensions was 768 in the recorded responses.
The encoder takes an image and nothing else, so the vector is purely visual: it describes how an image looks, and two images are compared by the dot product of their vectors, which equals their cosine similarity. There is no text input and no text space. A text cannot be compared with a dinov3 vector; siglip2 places images and texts in one space.
Each image costs one pass, so a call is billed as one image. The work does not depend on a cache, and the vector for the same image from a later call is computed again.
In each use case
Section titled “In each use case”Embeddings and search
Section titled “Embeddings and search”dinov3 serves POST /v1/embeddings with one image per call; texts is not accepted.
- The vector is purely visual and L2-normalised float32. Cosine similarity of two images equals the dot product of their vectors, and a higher value means more similar. Read
dimensionsfor the length (768 in the recorded responses) instead of hard-coding it. - Vectors of different models are not comparable: a collection indexed with
dinov3is queried withdinov3, and its vectors cannot be compared withsiglip2vectors. For a query that is a sentence or a set of labels, usesiglip2.
Use case guide and example call: Embeddings and search.
Limits and notes
Section titled “Limits and notes”- One image per call. Image limits: see Images.
- Latency: the recorded call had
timing.processingMsof 216 ms. The figure depends on the image, on queueing and on node load, and it is not a guarantee.
Attribution
Section titled “Attribution”Products that use dinov3 output should show the tag Built with DINOv3. The tag is not translated. The DINOv3 License governs the use of the output.