diff --git a/qdrant-landing/content/community/community-features.md b/qdrant-landing/content/community/community-features.md
index 47d1d7fde..02f4c8f79 100644
--- a/qdrant-landing/content/community/community-features.md
+++ b/qdrant-landing/content/community/community-features.md
@@ -6,7 +6,7 @@ resources:
description: Qdrant Stars are our top contributors, organizers, and evangelists. Learn more about how you can become a Star.
link:
text: Learn More
- url: /blog/qdrant-stars-announcement/
+ url: /stars/
image:
src: /img/community-features/qdrant-stars.svg
alt: Avatar
diff --git a/qdrant-landing/content/documentation/advanced-tutorials/_index.md b/qdrant-landing/content/documentation/advanced-tutorials/_index.md
index 69887fd6d..b2b396291 100644
--- a/qdrant-landing/content/documentation/advanced-tutorials/_index.md
+++ b/qdrant-landing/content/documentation/advanced-tutorials/_index.md
@@ -15,4 +15,5 @@ partition: qdrant
|----------------------------------------------------------|
| [Use Collaborative Filtering to Build a Movie Recommendation System with Qdrant](/documentation/advanced-tutorials/collaborative-filtering/) |
| [Build a Text/Image Multimodal Search System with Qdrant and FastEmbed](/documentation/advanced-tutorials/multimodal-search-fastembed/) |
-| [Navigate Your Codebase with Semantic Search and Qdrant](/documentation/advanced-tutorials/code-search/) |
\ No newline at end of file
+| [Navigate Your Codebase with Semantic Search and Qdrant](/documentation/advanced-tutorials/code-search/) |
+| [Ensure optimal large-scale PDF Retrieval with Qdrant and ColPali/ColQwen](/documentation/advanced-tutorials/pdf-retrieval-at-scale/) |
\ No newline at end of file
diff --git a/qdrant-landing/content/documentation/advanced-tutorials/multimodal-search-fastembed.md b/qdrant-landing/content/documentation/advanced-tutorials/multimodal-search-fastembed.md
deleted file mode 100644
index b9006deb3..000000000
--- a/qdrant-landing/content/documentation/advanced-tutorials/multimodal-search-fastembed.md
+++ /dev/null
@@ -1,201 +0,0 @@
----
-title: Setup Text/Image Multimodal Search
-aliases:
- - /documentation/tutorials/multimodal-search-fastembed/
-weight: 1
----
-
-# Build a Multimodal Search System with Qdrant and FastEmbed
-
-| Time: 15 min | Level: Beginner |Output: [GitHub](https://github.com/qdrant/examples/blob/master/multimodal-search/Multimodal_Search_with_FastEmbed.ipynb)|[](https://githubtocolab.com/qdrant/examples/blob/master/multimodal-search/Multimodal_Search_with_FastEmbed.ipynb) |
-| --- | ----------- | ----------- | ----------- |
-
-In this tutorial, you will set up a simple Multimodal Image & Text Search with Qdrant & FastEmbed.
-
-## Overview
-
-We often understand and share information more effectively when combining different types of data. For example, the taste of comfort food can trigger childhood memories. We might describe a song with just “pam pam clap” sounds. Instead of writing paragraphs. Sometimes, we may use emojis and stickers to express how we feel or to share complex ideas.
-
-Modalities of data such as **text**, **images**, **video** and **audio** in various combinations form valuable use cases for Semantic Search applications.
-
-Vector databases, being **modality-agnostic**, are perfect for building these applications.
-
-In this simple tutorial, we are working with two simple modalities: **image** and **text** data. However, you can create a Semantic Search application with any combination of modalities if you choose the right embedding model to bridge the **semantic gap**.
-
-> The **semantic gap** refers to the difference between low-level features (aka brightness) and high-level concepts (aka cuteness).
-
-For example, the [ImageBind model](https://github.com/facebookresearch/ImageBind) from Meta AI is said to bind all 4 mentioned modalities in one shared space.
-
-## Prerequisites
-
-> **Note**: The code for this tutorial can be found [here](https://github.com/qdrant/examples/multimodal-search)
-
-To complete this tutorial, you will need either Docker to run a pre-built Docker image of Qdrant and Python version ≥ 3.8 or a Google Collab Notebook if you don't want to install anything locally.
-
-We showed how to run Qdrant in Docker in the ["Create a Simple Neural Search Service"](https://qdrant.tech/documentation/tutorials/neural-search/) Tutorial.
-
-## Setup
-
-First, install the required libraries `qdrant-client`, `fastembed` and `Pillow`.
-For example, with the `pip` package manager, it can be done in the following way.
-
-```bash
-python3 -m pip install --upgrade qdrant-client fastembed Pillow
-```
-
-
-
-## Dataset
-To make the demonstration simple, we created a tiny dataset of images and their captions for you.
-
-Images can be downloaded from [here](https://github.com/qdrant/examples/multimodal-search/images).
-It's **important** to place them in the same folder as your code/notebook, in the folder named `images`.
-
-You can check out how images look like in the following way:
-```python
-from PIL import Image
-
-Image.open('images/lizard.jpg')
-```
-## Vectorize data
-
-`FastEmbed` supports **Contrastive Language–Image Pre-training** ([CLIP](https://openai.com/index/clip/)) model, the old (2021) but gold classics of multimodal Image-Text Machine Learning.
-**CLIP** model was one of the first models of such kind with ZERO-SHOT capabilities.
-
-When using it for semantic search, it's important to remember that the textual encoder of CLIP is trained to process no more than **77 tokens**,
-so CLIP is good for short texts.
-
-Let's embed a very short selection of images and their captions in the **shared embedding space** with CLIP.
-
-```python
-from fastembed import TextEmbedding, ImageEmbedding
-
-documents = [{"caption": "A photo of a cute pig",
- "image": "images/piggy.jpg"},
- {"caption": "A picture with a coffee cup",
- "image": "images/coffee.jpg"},
- {"caption": "A photo of a colourful lizard",
- "image": "images/lizard.jpg"}
-]
-
-text_model_name = "Qdrant/clip-ViT-B-32-text" #CLIP text encoder
-text_model = TextEmbedding(model_name=text_model_name)
-text_embeddings_size = text_model._get_model_description(text_model_name)["dim"] #dimension of text embeddings, produced by CLIP text encoder (512)
-texts_embeded = list(text_model.embed([document["caption"] for document in documents])) #embedding captions with CLIP text encoder
-
-image_model_name = "Qdrant/clip-ViT-B-32-vision" #CLIP image encoder
-image_model = ImageEmbedding(model_name=image_model_name)
-image_embeddings_size = image_model._get_model_description(image_model_name)["dim"] #dimension of image embeddings, produced by CLIP image encoder (512)
-images_embeded = list(image_model.embed([document["image"] for document in documents])) #embedding images with CLIP image encoder
-```
-
-## Upload data to Qdrant
-
-1. **Create a client object for Qdrant**.
-
-```python
-from qdrant_client import QdrantClient, models
-
-client = QdrantClient("http://localhost:6333") #or QdrantClient(":memory:") if you're using Google Collab, this option is suitable only for simple prototypes/demos with Python client
-```
-
-2. **Create a new collection for your images with captions**.
-
-CLIP’s weights were trained to maximize the scaled **Cosine Similarity** of truly corresponding image/caption pairs,
-so that's the **Distance Metric** we will choose for our [Collection](https://qdrant.tech/documentation/concepts/collections/) of [Named Vectors](https://qdrant.tech/documentation/concepts/collections/#collection-with-multiple-vectors).
-
-Using **Named Vectors**, we can easily showcase both Text-to-Image and Image-to-Text (Image-to-Image and Text-to-Text) search.
-
-```python
-if not client.collection_exists("text_image"): #creating a Collection
- client.create_collection(
- collection_name ="text_image",
- vectors_config={ #Named Vectors
- "image": models.VectorParams(size=image_embeddings_size, distance=models.Distance.COSINE),
- "text": models.VectorParams(size=text_embeddings_size, distance=models.Distance.COSINE),
- }
- )
-```
-3. **Upload our images with captions to the Collection**.
-
-Each image with its caption will create a [Point](https://qdrant.tech/documentation/concepts/points/) in Qdrant.
-
-```python
-client.upload_points(
- collection_name="text_image",
- points=[
- models.PointStruct(
- id=idx, #unique id of a point, pre-defined by the user
- vector={
- "text": texts_embeded[idx], #embeded caption
- "image": images_embeded[idx] #embeded image
- },
- payload=doc #original image and its caption
- )
- for idx, doc in enumerate(documents)
- ]
-)
-```
-
-## Search
-
-
Text-to-Image
-
-Let's see what image we will get to the query "*What would make me energetic in the morning?*"
-
-```python
-from PIL import Image
-
-find_image = text_model.embed(["What would make me energetic in the morning?"]) #query, we embed it, so it also becomes a vector
-
-Image.open(client.search(
- collection_name="text_image", #searching in our collection
- query_vector=("image", list(find_image)[0]), #searching only among image vectors with our textual query
- with_payload=["image"], #user-readable information about search results, we are interested to see which image we will find
- limit=1 #top-1 similar to the query result
-)[0].payload['image'])
-```
-**Response:**
-
-
-
-### Image-to-Text
-Now, let's do a reverse search with an image:
-
-
-```python
-from PIL import Image
-
-Image.open('images/piglet.jpg')
-```
-
-
-Let's see what caption we will get, searching by this piglet image, which, as you can check, is not in our **Collection**.
-
-```python
-find_image = image_model.embed(['images/piglet.jpg']) #embedding our image query
-
-client.search(
- collection_name="text_image",
- query_vector=("text", list(find_image)[0]), #now we are searching only among text vectors with our image query
- with_payload=["caption"], #user-readable information about search results, we are interested to see which caption we will get
- limit=1
-)[0].payload['caption']
-```
-**Response:**
-```text
-'A photo of a cute pig'
-```
-
-## Next steps
-
-Use cases of even just Image & Text Multimodal Search are countless: E-Commerce, Media Management, Content Recommendation, Emotion Recognition Systems, Biomedical Image Retrieval, Spoken Sign Language Transcription, etc.
-
-Imagine a scenario: user wants to find a product similar to a picture they have, but they also have specific textual requirements, like "*in beige colour*".
-You can search using just texts or images and combine their embeddings in a **late fusion manner** (summing and weighting might work surprisingly well).
-
-Moreover, using [Discovery Search](https://qdrant.tech/articles/discovery-search/) with both modalities, you can provide users with information that is impossible to retrieve unimodally!
-
-Join our [Discord community](https://qdrant.to/discord), where we talk about vector search and similarity learning, experiment, and have fun!
\ No newline at end of file
diff --git a/qdrant-landing/content/documentation/advanced-tutorials/pdf-retrieval-at-scale.md b/qdrant-landing/content/documentation/advanced-tutorials/pdf-retrieval-at-scale.md
new file mode 100644
index 000000000..8494ec8e6
--- /dev/null
+++ b/qdrant-landing/content/documentation/advanced-tutorials/pdf-retrieval-at-scale.md
@@ -0,0 +1,343 @@
+---
+title: Scaling PDF Retrieval with Qdrant
+aliases:
+ - /documentation/tutorials/pdf-retrieval-at-scale/
+short_description: "Optimizing PDF retrieval at scale with Qdrant and Vision Large Language Models (VLLMs) such as ColPali and ColQwen."
+description: "Optimizing PDF retrieval at scale with Qdrant and Vision Large Language Models (VLLMs) such as ColPali and ColQwen. Two-stage retrieval with multivector representations mean pooling."
+weight: 4
+---
+
+# Scaling PDF Retrieval with Qdrant
+
+| Time: 30 min | Level: Intermediate |Output: [GitHub](https://github.com/qdrant/examples/blob/master/pdf-retrieval-at-scale/ColPali_ColQwen2_Tutorial.ipynb)|[](https://githubtocolab.com/qdrant/examples/blob/master/pdf-retrieval-at-scale/ColPali_ColQwen2_Tutorial.ipynb) |
+| --- | ----------- | ----------- | ----------- |
+
+Efficient PDF documents retrieval is a common requirement in tasks like **(agentic) retrieval-augmented generation (RAG)** and many other search-based applications. At the same time, setting up PDF documents retrieval is rarely possible without additional challenges.
+
+Many traditional PDF retrieval solutions rely on **optical character recognition (OCR)** together with use case-specific heuristics to handle visually complex elements like tables, images and charts. These algorithms are often non-transferable -- even within the same domain -- with their task-customized parsing and chunking strategies, labor-intensive, prone to errors, and difficult to scale.
+
+Recent advancements in **Vision Large Language Models (VLLMs)**, such as [**ColPali**](https://huggingface.co/blog/manu/colpali) and its successor [**ColQwen**](https://huggingface.co/vidore/colqwen2-v0.1), started the transformation of the PDF retrieval. These multimodal models work directly with PDF pages as inputs, no pre-processing required. Anything that can be converted into an **image** (think of PDFs as screenshots of document pages) can be effectively processed by these models. Being far simpler in use, VLLMs achieve state-of-the-art performance in PDF retrieval benchmarks like the [Visual Document Retrieval (ViDoRe) Benchmark](https://huggingface.co/spaces/vidore/vidore-leaderboard).
+
+## How VLLMs Work for PDF Retrieval
+
+VLLMs like **ColPali** and **ColQwen** generate **multivector representations** for each PDF page; the representations are stored and indexed in a vector database. During the retrieval process, models dynamically create multivector representations for (textual) user queries, and precise retrieval -- matching between PDF pages and queries -- is achieved through [late-interaction mechanism](/blog/qdrant-colpali/#how-colpali-works-under-the-hood).
+
+
+
+## Challenges of Scaling VLLMs
+
+The heavy multivector representations produced by VLLMs make PDF retrieval at scale computationally intensive. These models are inefficient for large-scale PDF retrieval tasks if used without optimization.
+
+### Math Behind the Scaling
+
+**ColPali** generates over **1,000 vectors per PDF page**, while its successor, **ColQwen**, generates slightly fewer — up to **768 vectors**, dynamically adjusted based on the image size. Typically, ColQwen produces **~700 vectors per page**.
+
+To understand the impact, consider the construction of an [**HNSW index**](/articles/what-is-a-vector-database/#1-indexing-hnsw-index-and-sending-data-to-qdrant), a common indexing algorithm for vector databases. Let's roughly estimate the number of comparisons needed to insert a new PDF page into the index.
+
+- **Vectors per page:** ~700 (ColQwen) or ~1,000 (ColPali)
+- **[ef_construct](/documentation/concepts/indexing/#vector-index):** 100 (default)
+
+The lower bound estimation for the number of vector comparisions comparisons would be:
+
+$$
+700 \times 700 \times 100 = 49 \ \text{millions}
+$$
+
+Now imagine how much it will take to build an index on **20,000 pages**!
+
+For ColPali, this number doubles. The result is **extremely slow index construction time**.
+
+### Our Solution
+
+We recommend reducing the number of vectors in a PDF page representation for the **first-stage retrieval**. After the first stage retrieval with a reduced amount of vectors, we propose to **rerank** retrieved subset with the original uncompressed representation.
+
+
+
+The reduction of vectors can be achieved by applying a **mean pooling operation** to the multivector VLLM-generated outputs. Mean pooling averages the values across all vectors within a selected subgroup, condensing multiple vectors into a single representative vector. If done right, it allows the preservation of important information from the original page while significantly reducing the number of vectors.
+
+VLLMs generate vectors corresponding to patches that represent different portions of a PDF page. These patches can be grouped in columns and rows of a PDF page.
+
+For example:
+- ColPali divides PDF page into **1,024 patches**.
+- Applying mean pooling by rows (or columns) of this patch matrix reduces the page representation to just **32 vectors**.
+
+
+
+We tested this approach with the ColPali model, mean pooling its multivectors by PDF page rows. The results showed:
+- **Indexing time faster by an order of magnitude**
+- **Retrieval quality comparable to the original model**
+
+For details of this experiment refer to our [gitHub repository](https://github.com/qdrant/demo-colpali-optimized), [ColPali optimization blog post](/blog/colpali-qdrant-optimization/) or [webinar "PDF Retrieval at Scale"](https://www.youtube.com/watch?v=_h6SN1WwnLs)
+
+## Goal of This Tutorial
+
+In this tutorial, we will demonstrate a scalable approach to PDF retrieval using **Qdrant** and **ColPali** & **ColQwen2** VLLMs.
+The presented approach is **highly recommended** to avoid the common pitfalls of long indexing times and slow retrieval speeds.
+
+In the following sections, we will demonstrate an optimized retrieval algorithm born out of our successful experimentation:
+
+**First-Stage Retrieval with Mean-Pooled Vectors:**
+ - Construct an HNSW index using **only mean-pooled vectors**.
+ - Use them for the first-stage retrieval.
+
+**Reranking with Original Model Multivectors:**
+ - Use the original multivectors from ColPali or ColQwen2 **to rerank** the results retrieved in the first stage.
+
+## Setup
+Install & import required libraries
+
+```python
+# pip install colpali_engine>=0.3.1
+from colpali_engine.models import ColPali, ColPaliProcessor
+# pip install qdrant-client>=1.12.0
+from qdrant_client import QdrantClient, models
+```
+
+To run these experiments, we’re using a **Qdrant cluster**. If you’re just getting started, you can set up a **free-tier cluster** for testing and exploration. Follow the instructions in the documentation ["How to Create a Free-Tier Qdrant Cluster"](/documentation/cloud/create-cluster/#free-clusters)
+
+```python
+client = QdrantClient(
+ url=,
+ api_key=
+)
+```
+
+Download **ColPali** model along with its input processors. Make sure to select the backend that suits your setup.
+
+```python
+colpali_model = ColPali.from_pretrained(
+ "vidore/colpali-v1.3",
+ torch_dtype=torch.bfloat16,
+ device_map="mps", # Use "cuda:0" for GPU, "cpu" for CPU, or "mps" for Apple Silicon
+ ).eval()
+
+colpali_processor = ColPaliProcessor.from_pretrained("vidore/colpali-v1.3")
+```
+
+
+ For ColQwen model
+
+```python
+from colpali_engine.models import ColQwen2, ColQwen2Processor
+
+colqwen_model = ColQwen2.from_pretrained(
+ "vidore/colqwen2-v0.1",
+ torch_dtype=torch.bfloat16,
+ device_map="mps", # Use "cuda:0" for GPU, "cpu" for CPU, or "mps" for Apple Silicon
+ ).eval()
+
+colqwen_processor = ColQwen2Processor.from_pretrained("vidore/colqwen2-v0.1")
+```
+
+
+
+
+## Create Qdrant Collections
+
+We can now create a collection in Qdrant to store the multivector representations of PDF pages generated by **ColPali** or **ColQwen**.
+
+Collection will include **mean pooled** by rows and columns representations of a PDF page, as well as the **original** multivector representation.
+
+
+
+```python
+client.create_collection(
+ collection_name=collection_name,
+ vectors_config={
+ "original":
+ models.VectorParams( #switch off HNSW
+ size=128,
+ distance=models.Distance.COSINE,
+ multivector_config=models.MultiVectorConfig(
+ comparator=models.MultiVectorComparator.MAX_SIM
+ ),
+ hnsw_config=models.HnswConfigDiff(
+ m=0 #switching off HNSW
+ )
+ ),
+ "mean_pooling_columns": models.VectorParams(
+ size=128,
+ distance=models.Distance.COSINE,
+ multivector_config=models.MultiVectorConfig(
+ comparator=models.MultiVectorComparator.MAX_SIM
+ )
+ ),
+ "mean_pooling_rows": models.VectorParams(
+ size=128,
+ distance=models.Distance.COSINE,
+ multivector_config=models.MultiVectorConfig(
+ comparator=models.MultiVectorComparator.MAX_SIM
+ )
+ )
+ }
+)
+```
+## Choose a dataset
+
+We’ll use the **UFO Dataset** by Daniel van Strien for this tutorial. It’s available on Hugging Face; you can download it directly from there.
+
+```python
+from datasets import load_dataset
+ufo_dataset = "davanstrien/ufo-ColPali"
+dataset = load_dataset(ufo_dataset, split="train")
+```
+
+## Embedding and Mean Pooling
+
+We'll use a function that generates multivector representations and their mean pooled versions of each PDF page (aka image) in batches.
+For complete understanding, it's important to consider the following specifics of **ColPali** and **ColQwen**:
+
+**ColPali:**
+In theory, ColPali is designed to generate 1,024 vectors per PDF page, but in practice, it produces 1,030 vectors. This discrepancy is due to ColPali's pre-processor, which appends the text `Describe the image.` to each input. This additional text generates an extra 6 multivectors.
+
+**ColQwen:**
+ColQwen dynamically determines the number of patches in "rows and columns" of a PDF page based on its size. Consequently, the number of multivectors can vary between inputs. ColQwen pre-processor prepends `<|im_start|>user<|vision_start|>` and appends `<|vision_end|>Describe the image.<|im_end|><|endoftext|>`.
+
+For example, that's how ColQwen multivector output is formed.
+
+
+
+The `get_patches` function is to get the number of `x_patches` (rows) and `y_patches` (columns) ColPali/ColQwen2 models will divide a PDF page into.
+For ColPali, the numbers will always be 32 by 32; ColQwen will define them dynamically based on the PDF page size.
+
+```python
+x_patches, y_patches = model_processor.get_n_patches(
+ image_size,
+ patch_size=model.patch_size
+)
+```
+
+
+ For ColQwen model
+
+```python
+model_processor.get_n_patches(
+ image_size,
+ patch_size=model.patch_size,
+ spatial_merge_size=model.spatial_merge_size
+)
+```
+
+
+
+We choose to **preserve prefix and postfix multivectors**. Our **pooling** operation compresses the multivectors representing **the image tokens** based on the number of rows and columns determined by the model (static 32x32 for ColPali, dynamic XxY for ColQwen). Function retains and integrates the additional multivectors produced by the model back to pooled representations.
+
+
+Simplified version of pooling for **ColPali** model:
+
+(see the full version -- also applicable for **ColQwen** -- in the [tutorial notebook](https://githubtocolab.com/qdrant/examples/blob/master/pdf-retrieval-at-scale/ColPali_ColQwen2_Tutorial.ipynb))
+
+```python
+
+processed_images = model_processor.process_images(image_batch)
+# Image embeddings of shape (batch_size, 1030, 128)
+image_embeddings = model(**processed_images)
+
+# (1030, 128)
+image_embedding = image_embeddings[0] # take the first element of the batch
+
+# Now we need to identify vectors that correspond to the image tokens
+# It can be done by selecting tokens corresponding to special `image_token_id`
+
+# (1030, ) - boolean mask (for the first element in the batch), True for image tokens
+mask = processed_images.input_ids[0] == model_processor.image_token_id
+
+# For convenience, we now select only image tokens
+# and reshape them to (x_patches, y_patches, dim)
+
+# (x_patches, y_patches, 128)
+image_tokens = image_embedding[mask].view(x_patches, y_patches, model.dim)
+
+# Now we can apply mean pooling by rows and columns
+
+# (x_patches, 128)
+pooled_by_rows = image_tokens.mean(dim=0)
+
+# (y_patches, 128)
+pooled_by_columns = image_tokens.mean(dim=1)
+
+# [Optionally] we can also concatenate special tokens to the pooled representations,
+# For ColPali, it's only postfix
+
+# (x_patches + 6, 128)
+pooled_by_rows = torch.cat([pooled_by_rows, image_embedding[~mask]])
+
+# (y_patches + 6, 128)
+pooled_by_columns = torch.cat([pooled_by_columns, image_embedding[~mask]])
+```
+
+
+
+## Upload to Qdrant
+
+The upload process is trivial; the only thing to pay attention to is the compute cost for ColPali and ColQwen2 models.
+In low-resource environments, it's recommended to use a smaller batch size for embedding and mean pooling.
+
+Full version of the upload code is available in the [tutorial notebook](https://githubtocolab.com/qdrant/examples/blob/master/pdf-retrieval-at-scale/ColPali_ColQwen2_Tutorial.ipynb)
+
+
+## Querying PDFs
+
+After indexing PDF documents, we can move on to querying them using our two-stage retrieval approach.
+
+```python
+query = "Lee Harvey Oswald's involvement in the JFK assassination"
+processed_queries = model_processor.process_queries([query]).to(model.device)
+
+# Resulting query embedding is a tensor of shape (22, 128)
+query_embedding = model(**processed_queries)[0]
+```
+
+Now let's design a function for the two-stage retrieval with multivectors produced by VLLMs:
+
+- **Step 1:** Prefetch results using a compressed multivector representation & HNSW index.
+- **Step 2:** Re-rank the prefetched results using the original multivector representation.
+
+Let's query our collections using combined mean pooled representations for the first stage of retrieval.
+
+```python
+# Final amount of results to return
+search_limit = 10
+# Amount of results to prefetch for reranking
+prefetch_limit = 100
+
+response = client.query_points(
+ collection_name=collection_name,
+ query=query_embedding,
+ prefetch=[
+ models.Prefetch(
+ query=query_embedding,
+ limit=prefetch_limit,
+ using="mean_pooling_columns"
+ ),
+ models.Prefetch(
+ query=query_embedding,
+ limit=prefetch_limit,
+ using="mean_pooling_rows"
+ ),
+ ],
+ limit=search_limit,
+ with_payload=True,
+ with_vector=False,
+ using="original"
+)
+```
+
+And check the top retrieved result to our query *"Lee Harvey Oswald's involvement in the JFK assassination"*.
+
+```python
+dataset[response.points[0].payload['index']]['image']
+```
+
+
+
+
+## Conclusion
+
+In this tutorial, we demonstrated an optimized approach using **Qdrant for PDF retrieval at scale** with VLLMs producing **heavy multivector representations** like **ColPali** and **ColQwen2**.
+
+Without such optimization, the performance of retrieval systems can degrade severely, both in terms of indexing time and query latency, especially as the dataset size grows.
+
+We **strongly recommend** implementing this approach in your workflows to ensure efficient and scalable PDF retrieval. Neglecting to optimize the retrieval process could result in unacceptably slow performance, hindering the usability of your system.
+
+Start scaling your PDF retrieval today!
diff --git a/qdrant-landing/content/documentation/agentic-rag-langgraph.md b/qdrant-landing/content/documentation/agentic-rag-langgraph.md
index afa6603e7..ff1a90672 100644
--- a/qdrant-landing/content/documentation/agentic-rag-langgraph.md
+++ b/qdrant-landing/content/documentation/agentic-rag-langgraph.md
@@ -50,6 +50,25 @@ Ready to start building this system from the ground up? Let’s get to it!
Before we dive into building our agent, let’s get everything set up.
+### Imports
+
+Here’s a list of key imports required:
+
+```python
+import os
+import json
+from typing import Annotated, TypedDict
+from dotenv import load_dotenv
+from langchain.embeddings import OpenAIEmbeddings
+from langgraph import StateGraph, tool, ToolNode, ToolMessage
+from langchain.document_loaders import HuggingFaceDatasetLoader
+from langchain.text_splitter import RecursiveCharacterTextSplitter
+from langchain.llms import ChatOpenAI
+from qdrant_client import QdrantClient
+from qdrant_client.http.models import VectorParams
+from brave_search import BraveSearch
+```
+
### Qdrant Vector Database Setup
We’ll use **Qdrant Cloud** as our vector store for document embeddings. Here’s how to set it up:
diff --git a/qdrant-landing/content/documentation/multimodal-search.md b/qdrant-landing/content/documentation/multimodal-search.md
new file mode 100644
index 000000000..cc61074b0
--- /dev/null
+++ b/qdrant-landing/content/documentation/multimodal-search.md
@@ -0,0 +1,193 @@
+---
+title: Multilingual & Multimodal RAG with LlamaIndex
+weight: 14
+partition: build
+social_preview_image: /documentation/examples/multimodal-search/social_preview.png
+aliases:
+ - /documentation/tutorials/multimodal-search-fastembed/
+ - /documentation/advanced-tutorials/multimodal-search-fastembed/
+---
+
+# Multilingual & Multimodal Search with LlamaIndex
+
+
+
+| Time: 15 min | Level: Beginner |Output: [GitHub](https://github.com/qdrant/examples/blob/master/multimodal-search/Multimodal_Search_with_LlamaIndex.ipynb)|[](https://githubtocolab.com/qdrant/examples/blob/master/multimodal-search/Multimodal_Search_with_LlamaIndex.ipynb) |
+| --- | ----------- | ----------- | ----------- |
+
+## Overview
+
+We often understand and share information more effectively when combining different types of data. For example, the taste of comfort food can trigger childhood memories. We might describe a song with just “pam pam clap” sounds. Instead of writing paragraphs. Sometimes, we may use emojis and stickers to express how we feel or to share complex ideas.
+
+Modalities of data such as **text**, **images**, **video** and **audio** in various combinations form valuable use cases for Semantic Search applications.
+
+Vector databases, being **modality-agnostic**, are perfect for building these applications.
+
+In this simple tutorial, we are working with two simple modalities: **image** and **text** data. However, you can create a Semantic Search application with any combination of modalities if you choose the right embedding model to bridge the **semantic gap**.
+
+> The **semantic gap** refers to the difference between low-level features (aka brightness) and high-level concepts (aka cuteness).
+
+For example, the [vdr-2b-multi-v1 model](https://huggingface.co/llamaindex/vdr-2b-multi-v1) from LlamaIndex is designed for multilingual embedding, particularly effective for visual document retrieval across multiple languages and domains. It allows for searching and querying visually rich multilingual documents without the need for OCR or other data extraction pipelines.
+
+## Setup
+
+First, install the required libraries `qdrant-client` and `llama-index-embeddings-huggingface`.
+
+```bash
+pip install qdrant-client llama-index-embeddings-huggingface
+```
+
+
+
+## Dataset
+
+To make the demonstration simple, we created a tiny dataset of images and their captions for you.
+
+Images can be downloaded from [here](https://github.com/qdrant/examples/tree/master/multimodal-search/images). It's **important** to place them in the same folder as your code/notebook, in the folder named `images`.
+
+## Vectorize data
+
+`LlamaIndex`'s `vdr-2b-multi-v1` model supports cross-lingual retrieval, allowing for effective searches across languages and domains. It encodes document page screenshots into dense single-vector representations, eliminating the need for OCR and other complex data extraction processes.
+
+Let's embed the images and their captions in the **shared embedding space**.
+
+```python
+from llama_index.embeddings.huggingface import HuggingFaceEmbedding
+
+model = HuggingFaceEmbedding(
+ model_name="llamaindex/vdr-2b-multi-v1",
+ device="cpu", # "mps" for mac, "cuda" for nvidia GPUs
+ trust_remote_code=True,
+)
+
+documents = [
+ {"caption": "An image about plane emergency safety.", "image": "images/image-1.png"},
+ {"caption": "An image about airplane components.", "image": "images/image-2.png"},
+ {"caption": "An image about COVID safety restrictions.", "image": "images/image-3.png"},
+ {"caption": "An confidential image about UFO sightings.", "image": "images/image-4.png"},
+ {"caption": "An image about unusual footprints on Aralar 2011.", "image": "images/image-5.png"},
+]
+
+text_embeddings = model.get_text_embedding_batch([doc["caption"] for doc in documents])
+image_embeddings = model.get_image_embedding_batch([doc["image"] for doc in documents])
+```
+
+## Upload data to Qdrant
+
+1. **Create a client object for Qdrant**.
+
+```python
+from qdrant_client import QdrantClient, models
+
+# docker run -p 6333:6333 qdrant/qdrant
+client = QdrantClient(url="http://localhost:6333/")
+```
+
+2. **Create a new collection for the images with captions**.
+
+```python
+COLLECTION_NAME = "llama-multi"
+
+if not client.collection_exists(COLLECTION_NAME):
+ client.create_collection(
+ collection_name=COLLECTION_NAME,
+ vectors_config={
+ "image": models.VectorParams(size=len(image_embeddings[0]), distance=models.Distance.COSINE),
+ "text": models.VectorParams(size=len(text_embeddings[0]), distance=models.Distance.COSINE),
+ }
+ )
+```
+
+3. **Upload our images with captions to the Collection**.
+
+```python
+client.upload_points(
+ collection_name=COLLECTION_NAME,
+ points=[
+ models.PointStruct(
+ id=idx,
+ vector={
+ "text": text_embeddings[idx],
+ "image": image_embeddings[idx],
+ },
+ payload=doc
+ )
+ for idx, doc in enumerate(documents)
+ ]
+)
+```
+
+## Search
+
+### Text-to-Image
+
+Let's see what image we will get to the query "*Adventures on snow hills*".
+
+```python
+from PIL import Image
+
+find_image = model.get_query_embedding("Adventures on snow hills")
+
+Image.open(client.query_points(
+ collection_name=COLLECTION_NAME,
+ query=find_image,
+ using="image",
+ with_payload=["image"],
+ limit=1
+).points[0].payload['image'])
+```
+
+Let's also run the same query in Italian and compare the results.
+
+### Multilingual Search
+
+Now, let's do a multilingual search using an Italian query:
+
+```python
+Image.open(client.query_points(
+ collection_name=COLLECTION_NAME,
+ query=model.get_query_embedding("Avventure sulle colline innevate"),
+ using="image",
+ with_payload=["image"],
+ limit=1
+).points[0].payload['image'])
+```
+
+**Response:**
+
+
+
+### Image-to-Text
+
+Now, let's do a reverse search with the following image:
+
+
+
+```python
+client.query_points(
+ collection_name=COLLECTION_NAME,
+ query=model.get_image_embedding("images/image-2.png"),
+ # Now we are searching only among text vectors with our image query
+ using="text",
+ with_payload=["caption"],
+ limit=1
+).points[0].payload['caption']
+```
+
+**Response:**
+
+```text
+'An image about plane emergency safety.'
+```
+
+## Next steps
+
+Use cases of even just Image & Text Multimodal Search are countless: E-Commerce, Media Management, Content Recommendation, Emotion Recognition Systems, Biomedical Image Retrieval, Spoken Sign Language Transcription, etc.
+
+Imagine a scenario: a user wants to find a product similar to a picture they have, but they also have specific textual requirements, like "*in beige colour*". You can search using just texts or images and combine their embeddings in a **late fusion manner** (summing and weighting might work surprisingly well).
+
+Moreover, using [Discovery Search](/articles/discovery-search/) with both modalities, you can provide users with information that is impossible to retrieve unimodally!
+
+Join our [Discord community](https://qdrant.to/discord), where we talk about vector search and similarity learning, experiment, and have fun!
diff --git a/qdrant-landing/content/headless/main/hero.md b/qdrant-landing/content/headless/main/hero.md
index cdef7c8df..2dae4bfe6 100644
--- a/qdrant-landing/content/headless/main/hero.md
+++ b/qdrant-landing/content/headless/main/hero.md
@@ -5,8 +5,8 @@ startFree:
text: Get Started
url: https://cloud.qdrant.io/
learnMore:
- text: Talk to Sales
- url: /contact-sales/
+ text: Learn More
+ url: /qdrant-vector-database/
heroImageSources:
- minWidth: 2881px
srcset: /img/hero-home-illustration-x3.webp
diff --git a/qdrant-landing/static/blog/are-you-vendor-locked/preview/preview.jpg b/qdrant-landing/static/blog/are-you-vendor-locked/preview/preview.jpg
index 66699942d..0d51feb51 100644
Binary files a/qdrant-landing/static/blog/are-you-vendor-locked/preview/preview.jpg and b/qdrant-landing/static/blog/are-you-vendor-locked/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/are-you-vendor-locked/preview/social_preview.jpg b/qdrant-landing/static/blog/are-you-vendor-locked/preview/social_preview.jpg
index b12660c15..cb6d44143 100644
Binary files a/qdrant-landing/static/blog/are-you-vendor-locked/preview/social_preview.jpg and b/qdrant-landing/static/blog/are-you-vendor-locked/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/are-you-vendor-locked/preview/title.jpg b/qdrant-landing/static/blog/are-you-vendor-locked/preview/title.jpg
index a93477634..9a79cf06c 100644
Binary files a/qdrant-landing/static/blog/are-you-vendor-locked/preview/title.jpg and b/qdrant-landing/static/blog/are-you-vendor-locked/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/azure-marketplace/preview/preview.jpg b/qdrant-landing/static/blog/azure-marketplace/preview/preview.jpg
index 6de13a0ce..8c09e9bb7 100644
Binary files a/qdrant-landing/static/blog/azure-marketplace/preview/preview.jpg and b/qdrant-landing/static/blog/azure-marketplace/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/azure-marketplace/preview/social_preview.jpg b/qdrant-landing/static/blog/azure-marketplace/preview/social_preview.jpg
index 3e542d169..32137a5e8 100644
Binary files a/qdrant-landing/static/blog/azure-marketplace/preview/social_preview.jpg and b/qdrant-landing/static/blog/azure-marketplace/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/azure-marketplace/preview/title.jpg b/qdrant-landing/static/blog/azure-marketplace/preview/title.jpg
index 8435885cb..808db89cb 100644
Binary files a/qdrant-landing/static/blog/azure-marketplace/preview/title.jpg and b/qdrant-landing/static/blog/azure-marketplace/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/binary-quantization/preview/preview.jpg b/qdrant-landing/static/blog/binary-quantization/preview/preview.jpg
index e7c45bbc3..065c8af09 100644
Binary files a/qdrant-landing/static/blog/binary-quantization/preview/preview.jpg and b/qdrant-landing/static/blog/binary-quantization/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/binary-quantization/preview/social_preview.jpg b/qdrant-landing/static/blog/binary-quantization/preview/social_preview.jpg
index cce3d5fb6..d64eab61f 100644
Binary files a/qdrant-landing/static/blog/binary-quantization/preview/social_preview.jpg and b/qdrant-landing/static/blog/binary-quantization/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/binary-quantization/preview/title.jpg b/qdrant-landing/static/blog/binary-quantization/preview/title.jpg
index 76cc705b5..35abaede5 100644
Binary files a/qdrant-landing/static/blog/binary-quantization/preview/title.jpg and b/qdrant-landing/static/blog/binary-quantization/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/preview.jpg b/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/preview.jpg
index cafde2fa1..cc272c04a 100644
Binary files a/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/preview.jpg and b/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/social_preview.jpg b/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/social_preview.jpg
index 5f3ff7d63..b022c2c31 100644
Binary files a/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/social_preview.jpg and b/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/title.jpg b/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/title.jpg
index d087b4c35..ea5918963 100644
Binary files a/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/title.jpg and b/qdrant-landing/static/blog/bitter-lesson-generative-language-model/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/building-search-rag-open-api/preview/preview.jpg b/qdrant-landing/static/blog/building-search-rag-open-api/preview/preview.jpg
index 61000a101..c7075de41 100644
Binary files a/qdrant-landing/static/blog/building-search-rag-open-api/preview/preview.jpg and b/qdrant-landing/static/blog/building-search-rag-open-api/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/building-search-rag-open-api/preview/social_preview.jpg b/qdrant-landing/static/blog/building-search-rag-open-api/preview/social_preview.jpg
index fc1da8b00..f2ec9695d 100644
Binary files a/qdrant-landing/static/blog/building-search-rag-open-api/preview/social_preview.jpg and b/qdrant-landing/static/blog/building-search-rag-open-api/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/building-search-rag-open-api/preview/title.jpg b/qdrant-landing/static/blog/building-search-rag-open-api/preview/title.jpg
index c0fef00ee..f9356fc73 100644
Binary files a/qdrant-landing/static/blog/building-search-rag-open-api/preview/title.jpg and b/qdrant-landing/static/blog/building-search-rag-open-api/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-dailymotion/preview/preview.jpg b/qdrant-landing/static/blog/case-study-dailymotion/preview/preview.jpg
index 97265e5c8..a5fd48b5d 100644
Binary files a/qdrant-landing/static/blog/case-study-dailymotion/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-dailymotion/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-dailymotion/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-dailymotion/preview/social_preview.jpg
index 8c0405d83..625fb624a 100644
Binary files a/qdrant-landing/static/blog/case-study-dailymotion/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-dailymotion/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-dailymotion/preview/title.jpg b/qdrant-landing/static/blog/case-study-dailymotion/preview/title.jpg
index a9470ec3c..66f95f385 100644
Binary files a/qdrant-landing/static/blog/case-study-dailymotion/preview/title.jpg and b/qdrant-landing/static/blog/case-study-dailymotion/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-kairoswealth/preview/preview.jpg b/qdrant-landing/static/blog/case-study-kairoswealth/preview/preview.jpg
index 88b7fafe7..a121b18aa 100644
Binary files a/qdrant-landing/static/blog/case-study-kairoswealth/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-kairoswealth/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-kairoswealth/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-kairoswealth/preview/social_preview.jpg
index cadaeed19..03a746037 100644
Binary files a/qdrant-landing/static/blog/case-study-kairoswealth/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-kairoswealth/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-kairoswealth/preview/title.jpg b/qdrant-landing/static/blog/case-study-kairoswealth/preview/title.jpg
index c035f7678..cac738c77 100644
Binary files a/qdrant-landing/static/blog/case-study-kairoswealth/preview/title.jpg and b/qdrant-landing/static/blog/case-study-kairoswealth/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-kern/preview/preview.jpg b/qdrant-landing/static/blog/case-study-kern/preview/preview.jpg
index 7b2c11d4f..15422d5ea 100644
Binary files a/qdrant-landing/static/blog/case-study-kern/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-kern/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-kern/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-kern/preview/social_preview.jpg
index e1075f7d2..3b97d289b 100644
Binary files a/qdrant-landing/static/blog/case-study-kern/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-kern/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-kern/preview/title.jpg b/qdrant-landing/static/blog/case-study-kern/preview/title.jpg
index a36191773..89bf73ab4 100644
Binary files a/qdrant-landing/static/blog/case-study-kern/preview/title.jpg and b/qdrant-landing/static/blog/case-study-kern/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-nyris/preview/preview.jpg b/qdrant-landing/static/blog/case-study-nyris/preview/preview.jpg
index b20b086ab..80f0438de 100644
Binary files a/qdrant-landing/static/blog/case-study-nyris/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-nyris/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-nyris/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-nyris/preview/social_preview.jpg
index 8a68d2f3e..776618d1e 100644
Binary files a/qdrant-landing/static/blog/case-study-nyris/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-nyris/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-nyris/preview/title.jpg b/qdrant-landing/static/blog/case-study-nyris/preview/title.jpg
index 7b6d6fcb2..166d7b1ae 100644
Binary files a/qdrant-landing/static/blog/case-study-nyris/preview/title.jpg and b/qdrant-landing/static/blog/case-study-nyris/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-pienso/preview/preview.jpg b/qdrant-landing/static/blog/case-study-pienso/preview/preview.jpg
index effe7d4c8..5d1d01e03 100644
Binary files a/qdrant-landing/static/blog/case-study-pienso/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-pienso/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-pienso/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-pienso/preview/social_preview.jpg
index 453b93579..e57a4b13d 100644
Binary files a/qdrant-landing/static/blog/case-study-pienso/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-pienso/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-pienso/preview/title.jpg b/qdrant-landing/static/blog/case-study-pienso/preview/title.jpg
index 3073d8b77..d0f58b930 100644
Binary files a/qdrant-landing/static/blog/case-study-pienso/preview/title.jpg and b/qdrant-landing/static/blog/case-study-pienso/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-qatech/preview/preview.jpg b/qdrant-landing/static/blog/case-study-qatech/preview/preview.jpg
index cbe6a9346..47531aa28 100644
Binary files a/qdrant-landing/static/blog/case-study-qatech/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-qatech/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-qatech/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-qatech/preview/social_preview.jpg
index 8abc6dca4..3534276ca 100644
Binary files a/qdrant-landing/static/blog/case-study-qatech/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-qatech/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-qatech/preview/title.jpg b/qdrant-landing/static/blog/case-study-qatech/preview/title.jpg
index 11d19d83e..c3df4cb37 100644
Binary files a/qdrant-landing/static/blog/case-study-qatech/preview/title.jpg and b/qdrant-landing/static/blog/case-study-qatech/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-shakudo/preview/preview.jpg b/qdrant-landing/static/blog/case-study-shakudo/preview/preview.jpg
index a9e56380a..e0ddda8f3 100644
Binary files a/qdrant-landing/static/blog/case-study-shakudo/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-shakudo/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-shakudo/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-shakudo/preview/social_preview.jpg
index bac6fcf94..0fcdd57e8 100644
Binary files a/qdrant-landing/static/blog/case-study-shakudo/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-shakudo/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-shakudo/preview/title.jpg b/qdrant-landing/static/blog/case-study-shakudo/preview/title.jpg
index 56613c34b..fa4462c37 100644
Binary files a/qdrant-landing/static/blog/case-study-shakudo/preview/title.jpg and b/qdrant-landing/static/blog/case-study-shakudo/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-visua/preview/preview.jpg b/qdrant-landing/static/blog/case-study-visua/preview/preview.jpg
index 18a7c9759..ec17d2aa9 100644
Binary files a/qdrant-landing/static/blog/case-study-visua/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-visua/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-visua/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-visua/preview/social_preview.jpg
index 7107eb656..cab759800 100644
Binary files a/qdrant-landing/static/blog/case-study-visua/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-visua/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-visua/preview/title.jpg b/qdrant-landing/static/blog/case-study-visua/preview/title.jpg
index 607c61d24..933fdaaaa 100644
Binary files a/qdrant-landing/static/blog/case-study-visua/preview/title.jpg and b/qdrant-landing/static/blog/case-study-visua/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-voiceflow/preview/preview.jpg b/qdrant-landing/static/blog/case-study-voiceflow/preview/preview.jpg
index dc42e692b..068f8a013 100644
Binary files a/qdrant-landing/static/blog/case-study-voiceflow/preview/preview.jpg and b/qdrant-landing/static/blog/case-study-voiceflow/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-voiceflow/preview/social_preview.jpg b/qdrant-landing/static/blog/case-study-voiceflow/preview/social_preview.jpg
index 682652c29..2fa5b6243 100644
Binary files a/qdrant-landing/static/blog/case-study-voiceflow/preview/social_preview.jpg and b/qdrant-landing/static/blog/case-study-voiceflow/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/case-study-voiceflow/preview/title.jpg b/qdrant-landing/static/blog/case-study-voiceflow/preview/title.jpg
index ffc0195c9..b48fa27cb 100644
Binary files a/qdrant-landing/static/blog/case-study-voiceflow/preview/title.jpg and b/qdrant-landing/static/blog/case-study-voiceflow/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/preview.jpg b/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/preview.jpg
index 15a06e43b..e9bfe149d 100644
Binary files a/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/preview.jpg and b/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/social_preview.jpg b/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/social_preview.jpg
index 27dfdf941..ba5cf1d93 100644
Binary files a/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/social_preview.jpg and b/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/title.jpg b/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/title.jpg
index a5e32cd54..e48d43159 100644
Binary files a/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/title.jpg and b/qdrant-landing/static/blog/colpali-qdrant-optimization/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/community-highlights-1/preview/preview.jpg b/qdrant-landing/static/blog/community-highlights-1/preview/preview.jpg
index 0be5118d0..6fd9df951 100644
Binary files a/qdrant-landing/static/blog/community-highlights-1/preview/preview.jpg and b/qdrant-landing/static/blog/community-highlights-1/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/community-highlights-1/preview/social_preview.jpg b/qdrant-landing/static/blog/community-highlights-1/preview/social_preview.jpg
index e98f9e5f1..80e7a92c4 100644
Binary files a/qdrant-landing/static/blog/community-highlights-1/preview/social_preview.jpg and b/qdrant-landing/static/blog/community-highlights-1/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/community-highlights-1/preview/title.jpg b/qdrant-landing/static/blog/community-highlights-1/preview/title.jpg
index 6460ca1d1..df410761c 100644
Binary files a/qdrant-landing/static/blog/community-highlights-1/preview/title.jpg and b/qdrant-landing/static/blog/community-highlights-1/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/preview.jpg b/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/preview.jpg
index f7c41892f..470dfc243 100644
Binary files a/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/preview.jpg and b/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/social_preview.jpg b/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/social_preview.jpg
index 10914cea9..87de53f77 100644
Binary files a/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/social_preview.jpg and b/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/title.jpg b/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/title.jpg
index 38be7e9e6..3327a110a 100644
Binary files a/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/title.jpg and b/qdrant-landing/static/blog/comparing-qdrant-vs-pinecone-vector-databases/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/cve-2024-2221-response/preview/preview.jpg b/qdrant-landing/static/blog/cve-2024-2221-response/preview/preview.jpg
index 1a1aba560..e808970a2 100644
Binary files a/qdrant-landing/static/blog/cve-2024-2221-response/preview/preview.jpg and b/qdrant-landing/static/blog/cve-2024-2221-response/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/cve-2024-2221-response/preview/social_preview.jpg b/qdrant-landing/static/blog/cve-2024-2221-response/preview/social_preview.jpg
index 2aec51575..01103c19e 100644
Binary files a/qdrant-landing/static/blog/cve-2024-2221-response/preview/social_preview.jpg and b/qdrant-landing/static/blog/cve-2024-2221-response/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/cve-2024-2221-response/preview/title.jpg b/qdrant-landing/static/blog/cve-2024-2221-response/preview/title.jpg
index 8889dcc08..85cf5fecd 100644
Binary files a/qdrant-landing/static/blog/cve-2024-2221-response/preview/title.jpg and b/qdrant-landing/static/blog/cve-2024-2221-response/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/dspy-vs-langchain/preview/preview.jpg b/qdrant-landing/static/blog/dspy-vs-langchain/preview/preview.jpg
index 3d15278bd..3bd2978d4 100644
Binary files a/qdrant-landing/static/blog/dspy-vs-langchain/preview/preview.jpg and b/qdrant-landing/static/blog/dspy-vs-langchain/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/dspy-vs-langchain/preview/social_preview.jpg b/qdrant-landing/static/blog/dspy-vs-langchain/preview/social_preview.jpg
index 3e6fb2869..9972bf8d1 100644
Binary files a/qdrant-landing/static/blog/dspy-vs-langchain/preview/social_preview.jpg and b/qdrant-landing/static/blog/dspy-vs-langchain/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/dspy-vs-langchain/preview/title.jpg b/qdrant-landing/static/blog/dspy-vs-langchain/preview/title.jpg
index 5945e3d5f..ef65d8390 100644
Binary files a/qdrant-landing/static/blog/dspy-vs-langchain/preview/title.jpg and b/qdrant-landing/static/blog/dspy-vs-langchain/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/dust-and-qdrant/preview/preview.jpg b/qdrant-landing/static/blog/dust-and-qdrant/preview/preview.jpg
index 7d0fb7ebb..ecb1201b6 100644
Binary files a/qdrant-landing/static/blog/dust-and-qdrant/preview/preview.jpg and b/qdrant-landing/static/blog/dust-and-qdrant/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/dust-and-qdrant/preview/social_preview.jpg b/qdrant-landing/static/blog/dust-and-qdrant/preview/social_preview.jpg
index e2c68f6b7..f9919bbbe 100644
Binary files a/qdrant-landing/static/blog/dust-and-qdrant/preview/social_preview.jpg and b/qdrant-landing/static/blog/dust-and-qdrant/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/dust-and-qdrant/preview/title.jpg b/qdrant-landing/static/blog/dust-and-qdrant/preview/title.jpg
index 54214202b..d2705390c 100644
Binary files a/qdrant-landing/static/blog/dust-and-qdrant/preview/title.jpg and b/qdrant-landing/static/blog/dust-and-qdrant/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/entity-matching-qdrant/preview/preview.jpg b/qdrant-landing/static/blog/entity-matching-qdrant/preview/preview.jpg
index 059514802..61b27f391 100644
Binary files a/qdrant-landing/static/blog/entity-matching-qdrant/preview/preview.jpg and b/qdrant-landing/static/blog/entity-matching-qdrant/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/entity-matching-qdrant/preview/social_preview.jpg b/qdrant-landing/static/blog/entity-matching-qdrant/preview/social_preview.jpg
index e2004ce59..a858a8143 100644
Binary files a/qdrant-landing/static/blog/entity-matching-qdrant/preview/social_preview.jpg and b/qdrant-landing/static/blog/entity-matching-qdrant/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/entity-matching-qdrant/preview/title.jpg b/qdrant-landing/static/blog/entity-matching-qdrant/preview/title.jpg
index 23c6914af..0edfc1ef6 100644
Binary files a/qdrant-landing/static/blog/entity-matching-qdrant/preview/title.jpg and b/qdrant-landing/static/blog/entity-matching-qdrant/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/facial-recognition/preview/preview.jpg b/qdrant-landing/static/blog/facial-recognition/preview/preview.jpg
index 8cfc3dee6..508a04345 100644
Binary files a/qdrant-landing/static/blog/facial-recognition/preview/preview.jpg and b/qdrant-landing/static/blog/facial-recognition/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/facial-recognition/preview/social_preview.jpg b/qdrant-landing/static/blog/facial-recognition/preview/social_preview.jpg
index b6e1ab6b6..b8c9de891 100644
Binary files a/qdrant-landing/static/blog/facial-recognition/preview/social_preview.jpg and b/qdrant-landing/static/blog/facial-recognition/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/facial-recognition/preview/title.jpg b/qdrant-landing/static/blog/facial-recognition/preview/title.jpg
index 6c6dd6750..b3d48b5df 100644
Binary files a/qdrant-landing/static/blog/facial-recognition/preview/title.jpg and b/qdrant-landing/static/blog/facial-recognition/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/fast-embed-models/preview/preview.jpg b/qdrant-landing/static/blog/fast-embed-models/preview/preview.jpg
index abec0466c..aca6d22e5 100644
Binary files a/qdrant-landing/static/blog/fast-embed-models/preview/preview.jpg and b/qdrant-landing/static/blog/fast-embed-models/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/fast-embed-models/preview/social_preview.jpg b/qdrant-landing/static/blog/fast-embed-models/preview/social_preview.jpg
index b9dff9649..deef54d13 100644
Binary files a/qdrant-landing/static/blog/fast-embed-models/preview/social_preview.jpg and b/qdrant-landing/static/blog/fast-embed-models/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/fast-embed-models/preview/title.jpg b/qdrant-landing/static/blog/fast-embed-models/preview/title.jpg
index 5beea8454..cf75eca9d 100644
Binary files a/qdrant-landing/static/blog/fast-embed-models/preview/title.jpg and b/qdrant-landing/static/blog/fast-embed-models/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/fastllm-announcement/preview/preview.jpg b/qdrant-landing/static/blog/fastllm-announcement/preview/preview.jpg
index a58b32f07..756adb5f9 100644
Binary files a/qdrant-landing/static/blog/fastllm-announcement/preview/preview.jpg and b/qdrant-landing/static/blog/fastllm-announcement/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/fastllm-announcement/preview/social_preview.jpg b/qdrant-landing/static/blog/fastllm-announcement/preview/social_preview.jpg
index 88c7c9846..6fcff406e 100644
Binary files a/qdrant-landing/static/blog/fastllm-announcement/preview/social_preview.jpg and b/qdrant-landing/static/blog/fastllm-announcement/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/fastllm-announcement/preview/title.jpg b/qdrant-landing/static/blog/fastllm-announcement/preview/title.jpg
index abcab59ee..37c6264ec 100644
Binary files a/qdrant-landing/static/blog/fastllm-announcement/preview/title.jpg and b/qdrant-landing/static/blog/fastllm-announcement/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/preview.jpg b/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/preview.jpg
index 8380a2fef..c88ed6edd 100644
Binary files a/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/preview.jpg and b/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/social_preview.jpg b/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/social_preview.jpg
index 19d9f44e8..dcff825cc 100644
Binary files a/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/social_preview.jpg and b/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/title.jpg b/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/title.jpg
index 0abe58f8e..a0456999c 100644
Binary files a/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/title.jpg and b/qdrant-landing/static/blog/gen-ai-and-vector-search/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/human-language-ai-models/preview/preview.jpg b/qdrant-landing/static/blog/human-language-ai-models/preview/preview.jpg
index 2a1d088a4..fa66142ea 100644
Binary files a/qdrant-landing/static/blog/human-language-ai-models/preview/preview.jpg and b/qdrant-landing/static/blog/human-language-ai-models/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/human-language-ai-models/preview/social_preview.jpg b/qdrant-landing/static/blog/human-language-ai-models/preview/social_preview.jpg
index baed94bac..b2fedd4a3 100644
Binary files a/qdrant-landing/static/blog/human-language-ai-models/preview/social_preview.jpg and b/qdrant-landing/static/blog/human-language-ai-models/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/human-language-ai-models/preview/title.jpg b/qdrant-landing/static/blog/human-language-ai-models/preview/title.jpg
index b9bac8c21..55bbda19c 100644
Binary files a/qdrant-landing/static/blog/human-language-ai-models/preview/title.jpg and b/qdrant-landing/static/blog/human-language-ai-models/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/preview.jpg
index 41073b44d..2d6aebd2d 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/social_preview.jpg
index 0cf23352d..b0768144e 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/title.jpg
index 7749cd83a..0f5313075 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-airbyte/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/preview.jpg
index 97453cf5d..3dedcd3b7 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/social_preview.jpg
index 88cee2571..675caba03 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/title.jpg
index f0260f28e..2d7fdc902 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-aleph-alpha/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/preview.jpg
index e6c625504..1743c2cb2 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/social_preview.jpg
index 18d244712..633f7103d 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/title.jpg
index d16652246..9bafac383 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-digitalocean/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/preview.jpg
index c80ce1a46..b8a1814e9 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/social_preview.jpg
index 0609fac62..3100a2449 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/title.jpg
index 297519324..804b63bdf 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-haystack/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/preview.jpg
index b7d1858e2..ed54af3b4 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/social_preview.jpg
index 20b7baa70..092f64aa5 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/title.jpg
index 1c467c1ab..30acf005b 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-jinaai/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/preview.jpg
index 8236fd656..8efc5edbb 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/social_preview.jpg
index 0350a708e..f21ddc9ae 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/title.jpg
index 30e886433..7e3519cd9 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-langchain/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/preview.jpg
index 512b0d6bf..1818faf39 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/social_preview.jpg
index 214aad843..7a83ebe7e 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/title.jpg
index d9a5566a0..4f4681bb1 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-launch-partners/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/preview.jpg
index 03e8954ef..0ea1a8810 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/social_preview.jpg
index 248f43338..cb82a1b6c 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/title.jpg
index c880585dc..d7bddb4e7 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-llamaindex/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/preview.jpg
index 7a222946a..d3186f497 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/social_preview.jpg
index 5847fbc01..8128f0116 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/title.jpg
index 62f520f5a..b8ade7f0f 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-ovhcloud/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/preview.jpg
index 3fdcba705..51217d744 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/social_preview.jpg
index ec64ca017..ee963ced7 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/title.jpg
index 41e521b86..5b5861b01 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-red-hat-openshift/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/preview.jpg
index f959a5299..b1f8f9469 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/social_preview.jpg
index fdc00be54..357710f40 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/title.jpg
index bac7bb788..1b4950ce5 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-scaleway/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/preview.jpg
index 4db8494ef..d45b7cbda 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/social_preview.jpg
index 258dd6826..a6459bb1b 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/title.jpg
index 1c43154cc..71ce1480b 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-stackit/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/preview.jpg
index 5e8f26691..cb8f227fa 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/social_preview.jpg
index 05e8cad56..3c525f2fd 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/title.jpg
index 68653ed68..c7448bae4 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud-vultr/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud/preview/preview.jpg b/qdrant-landing/static/blog/hybrid-cloud/preview/preview.jpg
index 4db9dad6d..1a607532d 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud/preview/preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud/preview/social_preview.jpg b/qdrant-landing/static/blog/hybrid-cloud/preview/social_preview.jpg
index 7ced5c765..effbfb0aa 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud/preview/social_preview.jpg and b/qdrant-landing/static/blog/hybrid-cloud/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/hybrid-cloud/preview/title.jpg b/qdrant-landing/static/blog/hybrid-cloud/preview/title.jpg
index d6aaaacb8..4db2e9287 100644
Binary files a/qdrant-landing/static/blog/hybrid-cloud/preview/title.jpg and b/qdrant-landing/static/blog/hybrid-cloud/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/preview.jpg b/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/preview.jpg
index 8557a6be7..e468ce24b 100644
Binary files a/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/preview.jpg and b/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/social_preview.jpg b/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/social_preview.jpg
index 6312baa18..8412dca1d 100644
Binary files a/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/social_preview.jpg and b/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/title.jpg b/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/title.jpg
index c882d7d27..96b81d836 100644
Binary files a/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/title.jpg and b/qdrant-landing/static/blog/indexify-content-extraction-engine/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/insight-generation-platform/preview/preview.jpg b/qdrant-landing/static/blog/insight-generation-platform/preview/preview.jpg
index f1f81409e..35d8b8329 100644
Binary files a/qdrant-landing/static/blog/insight-generation-platform/preview/preview.jpg and b/qdrant-landing/static/blog/insight-generation-platform/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/insight-generation-platform/preview/social_preview.jpg b/qdrant-landing/static/blog/insight-generation-platform/preview/social_preview.jpg
index 8577349c3..dd8d2ef49 100644
Binary files a/qdrant-landing/static/blog/insight-generation-platform/preview/social_preview.jpg and b/qdrant-landing/static/blog/insight-generation-platform/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/insight-generation-platform/preview/title.jpg b/qdrant-landing/static/blog/insight-generation-platform/preview/title.jpg
index 74099d692..965b4a333 100644
Binary files a/qdrant-landing/static/blog/insight-generation-platform/preview/title.jpg and b/qdrant-landing/static/blog/insight-generation-platform/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/llm-as-a-judge/preview/preview.jpg b/qdrant-landing/static/blog/llm-as-a-judge/preview/preview.jpg
index 50a2979f5..a5b9dc45f 100644
Binary files a/qdrant-landing/static/blog/llm-as-a-judge/preview/preview.jpg and b/qdrant-landing/static/blog/llm-as-a-judge/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/llm-as-a-judge/preview/social_preview.jpg b/qdrant-landing/static/blog/llm-as-a-judge/preview/social_preview.jpg
index bc283a1d4..2d7df61b1 100644
Binary files a/qdrant-landing/static/blog/llm-as-a-judge/preview/social_preview.jpg and b/qdrant-landing/static/blog/llm-as-a-judge/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/llm-as-a-judge/preview/title.jpg b/qdrant-landing/static/blog/llm-as-a-judge/preview/title.jpg
index a1f7bf117..774b7f6f5 100644
Binary files a/qdrant-landing/static/blog/llm-as-a-judge/preview/title.jpg and b/qdrant-landing/static/blog/llm-as-a-judge/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/llm-complex-search-copilot/preview/preview.jpg b/qdrant-landing/static/blog/llm-complex-search-copilot/preview/preview.jpg
index 96aa732bb..80559e310 100644
Binary files a/qdrant-landing/static/blog/llm-complex-search-copilot/preview/preview.jpg and b/qdrant-landing/static/blog/llm-complex-search-copilot/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/llm-complex-search-copilot/preview/social_preview.jpg b/qdrant-landing/static/blog/llm-complex-search-copilot/preview/social_preview.jpg
index 03695343c..4cc35e3bf 100644
Binary files a/qdrant-landing/static/blog/llm-complex-search-copilot/preview/social_preview.jpg and b/qdrant-landing/static/blog/llm-complex-search-copilot/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/llm-complex-search-copilot/preview/title.jpg b/qdrant-landing/static/blog/llm-complex-search-copilot/preview/title.jpg
index 3b1d1954f..0d8cf2699 100644
Binary files a/qdrant-landing/static/blog/llm-complex-search-copilot/preview/title.jpg and b/qdrant-landing/static/blog/llm-complex-search-copilot/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/preview.jpg b/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/preview.jpg
index f768dfa39..2b61642da 100644
Binary files a/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/preview.jpg and b/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/social_preview.jpg b/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/social_preview.jpg
index fd4f0c883..20e0e9de3 100644
Binary files a/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/social_preview.jpg and b/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/title.jpg b/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/title.jpg
index 00c4c4e3a..6a8a2a806 100644
Binary files a/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/title.jpg and b/qdrant-landing/static/blog/meow-with-cheshire-cat/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/navigating-challenges-innovations/preview/preview.jpg b/qdrant-landing/static/blog/navigating-challenges-innovations/preview/preview.jpg
index f7f121332..b52cf43ef 100644
Binary files a/qdrant-landing/static/blog/navigating-challenges-innovations/preview/preview.jpg and b/qdrant-landing/static/blog/navigating-challenges-innovations/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/navigating-challenges-innovations/preview/social_preview.jpg b/qdrant-landing/static/blog/navigating-challenges-innovations/preview/social_preview.jpg
index e29072ca2..f14da7ce2 100644
Binary files a/qdrant-landing/static/blog/navigating-challenges-innovations/preview/social_preview.jpg and b/qdrant-landing/static/blog/navigating-challenges-innovations/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/navigating-challenges-innovations/preview/title.jpg b/qdrant-landing/static/blog/navigating-challenges-innovations/preview/title.jpg
index 0325a55d7..3ec0f7564 100644
Binary files a/qdrant-landing/static/blog/navigating-challenges-innovations/preview/title.jpg and b/qdrant-landing/static/blog/navigating-challenges-innovations/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/preview.jpg b/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/preview.jpg
index e7c45bbc3..065c8af09 100644
Binary files a/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/preview.jpg and b/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/social_preview.jpg b/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/social_preview.jpg
index cce3d5fb6..d64eab61f 100644
Binary files a/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/social_preview.jpg and b/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/title.jpg b/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/title.jpg
index 76cc705b5..35abaede5 100644
Binary files a/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/title.jpg and b/qdrant-landing/static/blog/open-source-vector-search-engine-vector-database/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.10.x/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-1.10.x/preview/preview.jpg
index 535b0b17d..d8017509a 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.10.x/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-1.10.x/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.10.x/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-1.10.x/preview/social_preview.jpg
index c14095a52..3f54f9769 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.10.x/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-1.10.x/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.10.x/preview/title.jpg b/qdrant-landing/static/blog/qdrant-1.10.x/preview/title.jpg
index 906750367..332edc836 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.10.x/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-1.10.x/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.11.x/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-1.11.x/preview/preview.jpg
index 07924588e..60ae1d076 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.11.x/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-1.11.x/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.11.x/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-1.11.x/preview/social_preview.jpg
index 6f855f6b8..898150a15 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.11.x/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-1.11.x/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.11.x/preview/title.jpg b/qdrant-landing/static/blog/qdrant-1.11.x/preview/title.jpg
index 003a16bf6..29634c216 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.11.x/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-1.11.x/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.12.x/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-1.12.x/preview/preview.jpg
index aa3f5659b..e78d73b45 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.12.x/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-1.12.x/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.12.x/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-1.12.x/preview/social_preview.jpg
index 11106c9c2..1870117d3 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.12.x/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-1.12.x/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.12.x/preview/title.jpg b/qdrant-landing/static/blog/qdrant-1.12.x/preview/title.jpg
index 03fe00551..da8844ed2 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.12.x/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-1.12.x/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.9.x/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-1.9.x/preview/preview.jpg
index 7732edb8b..9fc2193d6 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.9.x/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-1.9.x/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.9.x/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-1.9.x/preview/social_preview.jpg
index e21a7b204..899a0ebf1 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.9.x/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-1.9.x/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-1.9.x/preview/title.jpg b/qdrant-landing/static/blog/qdrant-1.9.x/preview/title.jpg
index cdf347dbb..30beecec1 100644
Binary files a/qdrant-landing/static/blog/qdrant-1.9.x/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-1.9.x/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-colpali/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-colpali/preview/preview.jpg
index 6a558d099..c8b4e9c06 100644
Binary files a/qdrant-landing/static/blog/qdrant-colpali/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-colpali/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-colpali/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-colpali/preview/social_preview.jpg
index 618fc2e87..072e8ec22 100644
Binary files a/qdrant-landing/static/blog/qdrant-colpali/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-colpali/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-colpali/preview/title.jpg b/qdrant-landing/static/blog/qdrant-colpali/preview/title.jpg
index 17c0fa62f..d2743a95d 100644
Binary files a/qdrant-landing/static/blog/qdrant-colpali/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-colpali/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-relari/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-relari/preview/preview.jpg
index ceb1dd413..7b3578cb8 100644
Binary files a/qdrant-landing/static/blog/qdrant-relari/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-relari/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-relari/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-relari/preview/social_preview.jpg
index b346a2b7b..173f13ef8 100644
Binary files a/qdrant-landing/static/blog/qdrant-relari/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-relari/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-relari/preview/title.jpg b/qdrant-landing/static/blog/qdrant-relari/preview/title.jpg
index a5274dec7..118cb3029 100644
Binary files a/qdrant-landing/static/blog/qdrant-relari/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-relari/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/preview.jpg
index de18dd6f6..1d158d5fc 100644
Binary files a/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/social_preview.jpg
index d98c2fff5..87d912ce2 100644
Binary files a/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/title.jpg b/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/title.jpg
index c2991d600..4b947b83b 100644
Binary files a/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-soc2-type2-audit/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-stars-announcement/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-stars-announcement/preview/preview.jpg
index a3ff66eb6..a2c391562 100644
Binary files a/qdrant-landing/static/blog/qdrant-stars-announcement/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-stars-announcement/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-stars-announcement/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-stars-announcement/preview/social_preview.jpg
index 96c22cb00..effe6a1b7 100644
Binary files a/qdrant-landing/static/blog/qdrant-stars-announcement/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-stars-announcement/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-stars-announcement/preview/title.jpg b/qdrant-landing/static/blog/qdrant-stars-announcement/preview/title.jpg
index 503588c8e..8826c35e4 100644
Binary files a/qdrant-landing/static/blog/qdrant-stars-announcement/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-stars-announcement/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/preview.jpg
index ffbe8ae8e..7e756c6af 100644
Binary files a/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/social_preview.jpg
index cc54571de..80d057fa4 100644
Binary files a/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/title.jpg b/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/title.jpg
index e05a19219..75573d296 100644
Binary files a/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-summer-of-code-24/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/preview.jpg b/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/preview.jpg
index ffd350874..f5ea7965a 100644
Binary files a/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/preview.jpg and b/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/social_preview.jpg b/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/social_preview.jpg
index 9282f59e2..ec2c3bc13 100644
Binary files a/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/social_preview.jpg and b/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/title.jpg b/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/title.jpg
index c62854f84..35bd8b714 100644
Binary files a/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/title.jpg and b/qdrant-landing/static/blog/qdrant-x-dust-vector-search/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/rag-advancements-challenges/preview/preview.jpg b/qdrant-landing/static/blog/rag-advancements-challenges/preview/preview.jpg
index d825f00a2..a3d0110d6 100644
Binary files a/qdrant-landing/static/blog/rag-advancements-challenges/preview/preview.jpg and b/qdrant-landing/static/blog/rag-advancements-challenges/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/rag-advancements-challenges/preview/social_preview.jpg b/qdrant-landing/static/blog/rag-advancements-challenges/preview/social_preview.jpg
index 55cad3f4f..80a3634a2 100644
Binary files a/qdrant-landing/static/blog/rag-advancements-challenges/preview/social_preview.jpg and b/qdrant-landing/static/blog/rag-advancements-challenges/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/rag-advancements-challenges/preview/title.jpg b/qdrant-landing/static/blog/rag-advancements-challenges/preview/title.jpg
index 3c0d28efa..c57fc6bd5 100644
Binary files a/qdrant-landing/static/blog/rag-advancements-challenges/preview/title.jpg and b/qdrant-landing/static/blog/rag-advancements-challenges/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/rag-evaluation-guide/preview/preview.jpg b/qdrant-landing/static/blog/rag-evaluation-guide/preview/preview.jpg
index f77433c09..c98af225d 100644
Binary files a/qdrant-landing/static/blog/rag-evaluation-guide/preview/preview.jpg and b/qdrant-landing/static/blog/rag-evaluation-guide/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/rag-evaluation-guide/preview/social_preview.jpg b/qdrant-landing/static/blog/rag-evaluation-guide/preview/social_preview.jpg
index 93517710e..55c1fe561 100644
Binary files a/qdrant-landing/static/blog/rag-evaluation-guide/preview/social_preview.jpg and b/qdrant-landing/static/blog/rag-evaluation-guide/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/rag-evaluation-guide/preview/title.jpg b/qdrant-landing/static/blog/rag-evaluation-guide/preview/title.jpg
index 3891e0969..de29efbc6 100644
Binary files a/qdrant-landing/static/blog/rag-evaluation-guide/preview/title.jpg and b/qdrant-landing/static/blog/rag-evaluation-guide/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/preview.jpg b/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/preview.jpg
index be134c74d..4975def44 100644
Binary files a/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/preview.jpg and b/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/social_preview.jpg b/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/social_preview.jpg
index 20b5acb05..27e924728 100644
Binary files a/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/social_preview.jpg and b/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/title.jpg b/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/title.jpg
index 1910114b4..203dda8cb 100644
Binary files a/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/title.jpg and b/qdrant-landing/static/blog/real-time-news-distillation-rag/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/semantic-search-vector-database/preview/preview.jpg b/qdrant-landing/static/blog/semantic-search-vector-database/preview/preview.jpg
index dce4c83c2..b7e731cbc 100644
Binary files a/qdrant-landing/static/blog/semantic-search-vector-database/preview/preview.jpg and b/qdrant-landing/static/blog/semantic-search-vector-database/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/semantic-search-vector-database/preview/social_preview.jpg b/qdrant-landing/static/blog/semantic-search-vector-database/preview/social_preview.jpg
index 906a0b154..a93800c9e 100644
Binary files a/qdrant-landing/static/blog/semantic-search-vector-database/preview/social_preview.jpg and b/qdrant-landing/static/blog/semantic-search-vector-database/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/semantic-search-vector-database/preview/title.jpg b/qdrant-landing/static/blog/semantic-search-vector-database/preview/title.jpg
index 6851f8704..ca2b840b7 100644
Binary files a/qdrant-landing/static/blog/semantic-search-vector-database/preview/title.jpg and b/qdrant-landing/static/blog/semantic-search-vector-database/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/preview.jpg b/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/preview.jpg
index eca829c25..3f2543cc5 100644
Binary files a/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/preview.jpg and b/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/social_preview.jpg b/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/social_preview.jpg
index 5b0cac239..41168e0f5 100644
Binary files a/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/social_preview.jpg and b/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/title.jpg b/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/title.jpg
index 38e228e4f..e125fe036 100644
Binary files a/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/title.jpg and b/qdrant-landing/static/blog/teaching-vector-db-at-scale/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/preview.jpg b/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/preview.jpg
index 52c4d4eb8..0a8f7aa57 100644
Binary files a/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/preview.jpg and b/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/social_preview.jpg b/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/social_preview.jpg
index 61d78f2b3..0a727689b 100644
Binary files a/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/social_preview.jpg and b/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/title.jpg b/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/title.jpg
index 02aa0921a..62351a0f9 100644
Binary files a/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/title.jpg and b/qdrant-landing/static/blog/using-qdrant-and-langchain/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/vector-image-search-rag/preview/preview.jpg b/qdrant-landing/static/blog/vector-image-search-rag/preview/preview.jpg
index f7536017e..c10912c29 100644
Binary files a/qdrant-landing/static/blog/vector-image-search-rag/preview/preview.jpg and b/qdrant-landing/static/blog/vector-image-search-rag/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/vector-image-search-rag/preview/social_preview.jpg b/qdrant-landing/static/blog/vector-image-search-rag/preview/social_preview.jpg
index 2b73b6c72..efed800ca 100644
Binary files a/qdrant-landing/static/blog/vector-image-search-rag/preview/social_preview.jpg and b/qdrant-landing/static/blog/vector-image-search-rag/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/vector-image-search-rag/preview/title.jpg b/qdrant-landing/static/blog/vector-image-search-rag/preview/title.jpg
index 42ea6c848..d86f67963 100644
Binary files a/qdrant-landing/static/blog/vector-image-search-rag/preview/title.jpg and b/qdrant-landing/static/blog/vector-image-search-rag/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/preview.jpg b/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/preview.jpg
index 65005f86e..663f9dd37 100644
Binary files a/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/preview.jpg and b/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/social_preview.jpg b/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/social_preview.jpg
index bf4b6172a..893a2a29b 100644
Binary files a/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/social_preview.jpg and b/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/title.jpg b/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/title.jpg
index 4d3da6e5c..eab0c1ee2 100644
Binary files a/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/title.jpg and b/qdrant-landing/static/blog/vector-search-vector-recommendation/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/virtualbrain-best-rag/preview/preview.jpg b/qdrant-landing/static/blog/virtualbrain-best-rag/preview/preview.jpg
index d8100024e..934b7ed40 100644
Binary files a/qdrant-landing/static/blog/virtualbrain-best-rag/preview/preview.jpg and b/qdrant-landing/static/blog/virtualbrain-best-rag/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/virtualbrain-best-rag/preview/social_preview.jpg b/qdrant-landing/static/blog/virtualbrain-best-rag/preview/social_preview.jpg
index 835f90b52..489310ea4 100644
Binary files a/qdrant-landing/static/blog/virtualbrain-best-rag/preview/social_preview.jpg and b/qdrant-landing/static/blog/virtualbrain-best-rag/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/virtualbrain-best-rag/preview/title.jpg b/qdrant-landing/static/blog/virtualbrain-best-rag/preview/title.jpg
index c1e6d43e0..416d9c03c 100644
Binary files a/qdrant-landing/static/blog/virtualbrain-best-rag/preview/title.jpg and b/qdrant-landing/static/blog/virtualbrain-best-rag/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/what-is-vector-similarity/preview/preview.jpg b/qdrant-landing/static/blog/what-is-vector-similarity/preview/preview.jpg
index 40efd9e5d..89a5fd18c 100644
Binary files a/qdrant-landing/static/blog/what-is-vector-similarity/preview/preview.jpg and b/qdrant-landing/static/blog/what-is-vector-similarity/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/what-is-vector-similarity/preview/social_preview.jpg b/qdrant-landing/static/blog/what-is-vector-similarity/preview/social_preview.jpg
index e9ff261fb..cfee040ec 100644
Binary files a/qdrant-landing/static/blog/what-is-vector-similarity/preview/social_preview.jpg and b/qdrant-landing/static/blog/what-is-vector-similarity/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/what-is-vector-similarity/preview/title.jpg b/qdrant-landing/static/blog/what-is-vector-similarity/preview/title.jpg
index 488246e79..99d832bc1 100644
Binary files a/qdrant-landing/static/blog/what-is-vector-similarity/preview/title.jpg and b/qdrant-landing/static/blog/what-is-vector-similarity/preview/title.jpg differ
diff --git a/qdrant-landing/static/blog/youtube-without-paying-cent/preview/preview.jpg b/qdrant-landing/static/blog/youtube-without-paying-cent/preview/preview.jpg
index c75d24bfc..74b6c33b4 100644
Binary files a/qdrant-landing/static/blog/youtube-without-paying-cent/preview/preview.jpg and b/qdrant-landing/static/blog/youtube-without-paying-cent/preview/preview.jpg differ
diff --git a/qdrant-landing/static/blog/youtube-without-paying-cent/preview/social_preview.jpg b/qdrant-landing/static/blog/youtube-without-paying-cent/preview/social_preview.jpg
index f67bda919..a3f76bca5 100644
Binary files a/qdrant-landing/static/blog/youtube-without-paying-cent/preview/social_preview.jpg and b/qdrant-landing/static/blog/youtube-without-paying-cent/preview/social_preview.jpg differ
diff --git a/qdrant-landing/static/blog/youtube-without-paying-cent/preview/title.jpg b/qdrant-landing/static/blog/youtube-without-paying-cent/preview/title.jpg
index defbee571..621a75f82 100644
Binary files a/qdrant-landing/static/blog/youtube-without-paying-cent/preview/title.jpg and b/qdrant-landing/static/blog/youtube-without-paying-cent/preview/title.jpg differ
diff --git a/qdrant-landing/static/docs/coffee.jpg b/qdrant-landing/static/docs/coffee.jpg
deleted file mode 100644
index 00e8d04e6..000000000
Binary files a/qdrant-landing/static/docs/coffee.jpg and /dev/null differ
diff --git a/qdrant-landing/static/docs/piglet.jpg b/qdrant-landing/static/docs/piglet.jpg
deleted file mode 100644
index a6482e766..000000000
Binary files a/qdrant-landing/static/docs/piglet.jpg and /dev/null differ
diff --git a/qdrant-landing/static/documentation/advanced-tutorials/airplane.png b/qdrant-landing/static/documentation/advanced-tutorials/airplane.png
new file mode 100644
index 000000000..dacc99392
Binary files /dev/null and b/qdrant-landing/static/documentation/advanced-tutorials/airplane.png differ
diff --git a/qdrant-landing/static/documentation/advanced-tutorials/snow-prints.png b/qdrant-landing/static/documentation/advanced-tutorials/snow-prints.png
new file mode 100644
index 000000000..d2dc7e835
Binary files /dev/null and b/qdrant-landing/static/documentation/advanced-tutorials/snow-prints.png differ
diff --git a/qdrant-landing/static/documentation/examples/multimodal-search/image-1.png b/qdrant-landing/static/documentation/examples/multimodal-search/image-1.png
new file mode 100644
index 000000000..51d686f29
Binary files /dev/null and b/qdrant-landing/static/documentation/examples/multimodal-search/image-1.png differ
diff --git a/qdrant-landing/static/documentation/examples/multimodal-search/social_preview.png b/qdrant-landing/static/documentation/examples/multimodal-search/social_preview.png
new file mode 100644
index 000000000..25d96b5d2
Binary files /dev/null and b/qdrant-landing/static/documentation/examples/multimodal-search/social_preview.png differ
diff --git a/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/ColQwen-preprocessing.png b/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/ColQwen-preprocessing.png
new file mode 100644
index 000000000..72bb742f1
Binary files /dev/null and b/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/ColQwen-preprocessing.png differ
diff --git a/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/mean-pooling.png b/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/mean-pooling.png
new file mode 100644
index 000000000..d4571c7d7
Binary files /dev/null and b/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/mean-pooling.png differ
diff --git a/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/pooling-by-rows.png b/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/pooling-by-rows.png
new file mode 100644
index 000000000..95f64be47
Binary files /dev/null and b/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/pooling-by-rows.png differ
diff --git a/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/result-VLLMs.png b/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/result-VLLMs.png
new file mode 100644
index 000000000..9169be3c3
Binary files /dev/null and b/qdrant-landing/static/documentation/tutorials/pdf-retrieval-at-scale/result-VLLMs.png differ