---
title: "Best vector databases for images and video (2027)"
description: "Ranked vector databases for images and video in 2027: Weaviate, Qdrant, LanceDB, pgvector, Pinecone, and others, with sources. Last reviewed Oct 2026."
url: "https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video"
updated: "2026-10-25"
vertical: "Retrieval"
doc: "https://docs.pixeltable.com/datastore/embedding-index"
---

# Best vector databases for images and video (2027)

A vector database stores embeddings and returns nearest neighbors. For images and video, those embeddings come from CLIP-family or natively multimodal models, and the media itself usually lives in object storage or another column. This list is ranked for image and video retrieval, not as an overall database comparison.

Updated: 2026-10-25
Part of [What is an embedding index?](https://www.pixeltable.com/learn/what-is-an-embedding-index).

## On this page

- [What a vector database does for images and video](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#what-it-is)
- [How this list is ranked](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#criteria)
- [What changed going into 2027](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#what-changed)
- [When you may not need a separate vector database](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#skip-separate-db)
- [The vector databases, in rank order](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#the-tools)
- [Last reviewed](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#review)
- [Comparison](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#comparison)
- [Where Pixeltable fits](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#where-pixeltable-fits)
- [Questions](https://www.pixeltable.com/learn/best-vector-databases-for-images-and-video#questions)

## What a vector database does for images and video {#what-it-is}

This guide is published by a database vendor whose product is not ranked here; criteria and sources are listed so you can check the ranking.
The product stores vectors and answers nearest-neighbor queries. For pictures and clips, you embed frames or whole files with a multimodal model, then search with text or with another image. The bytes of the media usually live in object storage. A dedicated ANN service wins when query SLA, namespaces, hybrid fusion, or cluster scale is the contract.

## How this list is ranked {#criteria}

The ranking is for image and video retrieval: multimodal embedders or blob storage the vendor documents, filters, open source, and a hosted option. It is not a latency bake-off. Last reviewed: October 2026.

- Documented path for image or video embeddings (native modules, blobs, or you bring vectors).
- Filters on metadata or payload next to the vector.
- Self-host and managed options the vendor publishes.
- Python clients the vendor documents.
- Whether the engine stores the media or only the vector.

## What changed going into 2027 {#what-changed}

The index is only as useful as the embedding model. These are model and engine notes, not a ranked model list. Checked 25 October 2026.
Gemini Embedding 2 (preview 10 March 2026, GA 22 April 2026) is a natively multimodal embedding model for text, images, video, audio, and PDF. Weaviate documents gemini-embedding-2 with near_media for image, video, and audio. Sources: https://ai.google.dev/gemini-api/docs/embeddings and https://docs.weaviate.io/weaviate/search/near-media
Amazon Nova Multimodal Embeddings encode text, documents, images, video, and audio into one vector space inside Bedrock Knowledge Bases (announced 20 January 2026). Source: https://aws.amazon.com/blogs/machine-learning/introducing-multimodal-retrieval-for-amazon-bedrock-knowledge-bases/
TwelveLabs Marengo Embed 3.0 is generally available as an embedding model in Amazon Bedrock Knowledge Bases (10 September 2026) for video, audio, and image search into a 512-dimensional space. Source: https://aws.amazon.com/blogs/machine-learning/video-and-image-search-in-amazon-bedrock-knowledge-base-using-marengo-3-0/
Open CLIP-family models remain the usual self-hosted image-text embedder. They are libraries, not databases.
Qdrant 1.16 (19 November 2025) added tiered multitenancy, ACORN filtered search, and inline HNSW storage. Qdrant 1.17 (20 February 2026) added relevance feedback queries and weighted reciprocal rank fusion. Sources: https://qdrant.tech/blog/qdrant-1.16.x/ and https://qdrant.tech/blog/qdrant-1.17.x/

## When you may not need a separate vector database {#skip-separate-db}

You need nearest-neighbor search. You need a second database when another system already owns the vectors, or when hosted ANN, hybrid fusion, or a query SLA is the product. If the table that stores the stills or frames can declare the index and recompute on insert, a dedicated vector database is optional. That alternative is an embedding index on the source table, not a vector database row in the ranking below.

## The vector databases, in rank order {#the-tools}

Each row is a vector database or a vector library. Official sources were checked on 25 October 2026.
Weaviate documents CLIP-based multi2vec embeddings, near_image, and near_media (image, video, audio, depending on the vectorizer). Local CLIP is for self-hosted deployments; Weaviate Cloud uses API-based modules. Docs: https://docs.weaviate.io/weaviate/model-providers/transformers/embeddings-multimodal
Qdrant stores dense and sparse vectors with payload filters. You embed images or frames yourself, then upsert. Docs: https://qdrant.tech/documentation/
LanceDB stores multimodal blobs and vectors on Lance and serves ANN, embedded or hosted. Docs: https://docs.lancedb.com/
Milvus / Zilliz Cloud is a distributed vector database; you bring embeddings for images and video. Milvus 3.0 (16 July 2026) can index vectors that remain in object storage. Docs: https://github.com/milvus-io/milvus/
pgvector is a PostgreSQL extension. Pinecone is a managed vector index. Chroma stores embeddings, documents, and metadata, and documents multi-modal retrieval. OpenSearch k-NN is a search-engine k-NN plugin. Vespa documents nearest-neighbor search. FAISS is a similarity-search library, not a server.

## Last reviewed {#review}

Vendor facts were checked on 25 October 2026. Hybrid parameters, cloud SKUs, and model names change; follow Related.

## Vector databases ranked for image and video retrieval (last reviewed: Oct 2026) {#comparison}

| Tool | Rank | What it is | Best for | License | Hosted option | Source |
| --- | --- | --- | --- | --- | --- | --- |
| Weaviate | 1 | Vector database with multi2vec modules, near_image, and near_media | Image or video search when the collection and hybrid search are the product | Open source; see the Weaviate repo | Yes: Weaviate Cloud (API vectorizers; local CLIP is self-hosted) | https://docs.weaviate.io/weaviate/search/near-media |
| Qdrant | 2 | Rust vector engine with payload filters; you bring image or frame embeddings | Self-hosted or cloud ANN with rich filters | Open source; see the Qdrant repo | Yes: Qdrant Cloud | https://qdrant.tech/documentation/ |
| LanceDB | 3 | Multimodal lake plus ANN on Lance; blobs can sit next to vectors | Lance layout, embedded process, or lake-scale vectors | Open source; Enterprise is commercial | Yes: LanceDB Enterprise | https://docs.lancedb.com/ |
| Milvus / Zilliz | 4 | Distributed vector database; embeddings for images and video are yours to produce | Scale-out ANN when the index is a dedicated cluster | Apache-2.0 | Yes: Zilliz Cloud | https://github.com/milvus-io/milvus/ |
| pgvector | 5 | Postgres extension for vector columns and ANN | SQL joins when Postgres already holds the row; files usually in object storage | PostgreSQL license (extension) | Any managed Postgres (Supabase, Neon, and others) | https://github.com/pgvector/pgvector |
| Pinecone | 6 | Managed vector index (dense, sparse, namespaces) | A hosted ANN SLA other services already call | Commercial | Yes: Pinecone | https://docs.pinecone.io/ |
| Chroma | 7 | Open-source retrieval: embeddings, documents, metadata; documents multi-modal retrieval | Local-first retrieval that can grow to Chroma Cloud | Apache-2.0 | Yes: Chroma Cloud | https://docs.trychroma.com/docs/overview/introduction |
| OpenSearch k-NN | 8 | k-NN plugin on a search engine; media lives elsewhere | Teams already running OpenSearch who need vector k-NN beside text search | Apache-2.0 (OpenSearch) | Yes: Amazon OpenSearch Service and self-host | https://docs.opensearch.org/latest/search-plugins/knn/knn-index/ |
| Vespa | 9 | Serving engine with nearest-neighbor search over tensors | When ranking, tensors, and serving already live in Vespa | Open source; see the Vespa repo | Yes: Vespa Cloud | https://docs.vespa.ai/en/nearest-neighbor-search.html |
| FAISS | 10 | Similarity-search library for dense vectors, not a network server | In-process indexes you embed in your own service | MIT | No (you host the process that links the library) | https://github.com/facebookresearch/faiss |

## Where Pixeltable fits {#where-pixeltable-fits}

This page is published by Pixeltable, which is not one of the tools ranked. Pixeltable is not a vector database and is not a row in the table. It is a multimodal database that can declare pxt.EmbeddingIndex on the image or frame column, so insert keeps the index current. Query with column.similarity(string=...) or similarity(image=...). That is enough for many image and video search apps (PyPI 0.7.20, Apache-2.0, Python 3.11+, TableModel, pxt CLI, FastAPIRouter, Pixeltable Cloud). Keep Weaviate, Qdrant, LanceDB, Milvus, pgvector, Pinecone, or Chroma when that engine is the serving contract. See Embedding index vs a vector database and Vector database alternatives for multimodal apps. How-tos: search a video library by text; serve image similarity search.

```python
import pixeltable as pxt
from pixeltable.functions.huggingface import clip
from pixeltable.serving import FastAPIRouter

TableModel = pxt.model_base()
clip_embed = clip.using(model_id='openai/clip-vit-base-patch32')

class Images(TableModel, name='images'):
    image: pxt.Image
    caption: pxt.String | None
    __indexes__ = [
        pxt.EmbeddingIndex(image, embedding=clip_embed),
    ]

@pxt.query
def search_by_text(query: str, limit: int = 5):
    sim = Images.image.similarity(string=query)
    return (
        Images.order_by(sim, asc=False)
        .limit(limit)
        .select(Images.image, Images.caption, sim)
    )

@pxt.query
def search_by_image(img: pxt.Image, limit: int = 5):
    sim = Images.image.similarity(image=img)
    return (
        Images.order_by(sim, asc=False)
        .limit(limit)
        .select(Images.image, Images.caption, sim)
    )

api = FastAPIRouter(name='image_search')
api.add_insert_route(
    Images,
    path='/images',
    inputs=[Images.caption],
    uploadfile_inputs=[Images.image],
)
api.add_query_route(path='/search', query=search_by_text)
api.add_query_route(
    path='/search-image',
    query=search_by_image,
    uploadfile_inputs=['img'],
)
```

## Questions {#questions}

### Can I skip the vector database? {#faq-1}

You can skip a separate vector database when the table that holds the stills or frames can declare the index. Pixeltable does that with EmbeddingIndex. You still need the ranking. Keep a dedicated engine when hosted ANN, hybrid fusion, or a query SLA is the product.

### Where do the image and video files live? {#faq-2}

Usually in object storage, with the vector database holding embeddings plus metadata. LanceDB can store blobs in the Lance table. Weaviate can store image blobs for multi2vec. FAISS holds only vectors in memory or on disk you manage.

### Which embedding model should I use? {#faq-3}

This page does not rank models. Gemini Embedding 2, Amazon Nova Multimodal Embeddings, TwelveLabs Marengo 3.0, and open CLIP-family models are documented options with sources in What changed. Use the same model at insert and at query.

### Is this list biased? {#faq-4}

The publisher of this page sells a multimodal database, not a vector database, and is not ranked in the table. The criteria are listed. Check the source URLs. A separate page covers when an embedding index on the source table is enough.

### Is FAISS a vector database? {#faq-5}

No. FAISS is a library for similarity search and clustering of dense vectors. You embed it in a process you run. It has no network protocol of its own.

## Related

- [Vector database alternatives for multimodal apps](https://www.pixeltable.com/learn/vector-database-alternatives-for-multimodal-apps)
- [Embedding index vs a vector database](https://www.pixeltable.com/learn/embedding-index-vs-vector-database)
- [Best multimodal AI databases for 2027](https://www.pixeltable.com/learn/best-multimodal-ai-databases)
- [How do I index a video library and search it by text in Python?](https://www.pixeltable.com/learn/how-to/search-a-video-library-by-text)
- [How do I store images with embeddings and serve similarity search?](https://www.pixeltable.com/learn/how-to/serve-image-similarity-search)
- [Pixeltable vs Weaviate](https://www.pixeltable.com/compare/pixeltable-vs-weaviate)
- [Pixeltable vs Pinecone](https://www.pixeltable.com/compare/pixeltable-vs-pinecone)
- [Pixeltable vs LanceDB](https://www.pixeltable.com/compare/pixeltable-vs-lancedb)
- [Best video intelligence APIs (2026)](https://www.pixeltable.com/blog/best-video-intelligence-apis-2026)
- [Embedding index docs](https://docs.pixeltable.com/datastore/embedding-index)
