Mindket

Image search index built from keywords and colors

Newversion 1 · updated

Overview

An n8n workflow that turns an image from Google Drive into searchable text. It reads the image’s color data, asks an OpenAI vision model for keywords and stores both as one document in a vector store.

Image search index built from keywords and colors is an n8n workflow in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with GraphicsMagick installed
  • Google Drive: the image comes from a Drive file, and any other image source works too
  • A real vector store: swap the in-memory nodes for another store to keep the index

Platform

Connects 2 apps

How it works

Trigger

Manual run

It starts when you press Test workflow, and there is no form:

  • An image file in Google Drive, picked by its file ID in the Google Drive node

Actions

  1. The image is downloaded from Google Drive
  2. Its format, background color and channel statistics are read
  3. The picture is shrunk to fit 512 by 512 pixels when it is bigger
  4. An OpenAI vision model lists keywords for the picture
  5. The keywords and the color data are joined into one text document with metadata
  6. The document is split into chunks, embedded and stored in an in-memory vector store
  7. A separate node searches the store with a text prompt and returns the closest document

Result

A vector store entry for the image, which a text prompt can find, with the file name kept in its metadata

Integrations

What you need before you start.

Google Drive

Image source

Downloads the image file whose ID you set.

NeedsGoogle Drive OAuth2 credential and a file ID

OpenAI

Vision model and embeddings

Lists keywords for the picture with gpt-4o, and turns the document and the search prompt into vectors.

NeedsOpenAI API key

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
8 steps, starting by hand
Not reached
2 nodes no run reaches: Embeddings OpenAI1 and Search for Image
AI
2 steps call an AI model: In-Memory Vector Store and Get Image Keywords
Sign-ins
Signs in to: Google Drive and OpenAI
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 7 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow makes a picture searchable by words. It downloads one image from Google Drive, reads its color data and asks an OpenAI vision model for keywords. The keywords and the colors become one text document. That document is cut into chunks, embedded and stored in an in-memory vector store. A second node then finds the stored picture from a plain text prompt. Thirteen nodes do the work, beside nine sticky notes.

Who it suits

Developers and makers who are learning to search images with a vector store, or who want a first version of a photo library search. Skip it if you need a search over thousands of pictures. The store lives in the n8n process, and a run handles one image.

Who uses it, and how
IndustryWho uses itHow they use itExample
Media and photographyPhoto editorsDescribe each picture in words so editors can find it by themeAn editor stores a beach photo and later finds it with the prompt “quiet morning by the sea”.
EcommerceCatalog teamsIndex product photos by color and lookA catalog team searches for “red leather bag on a white background” and gets the matching photo.
MarketingBrand teamsKeep a searchable set of campaign picturesA brand team looks up pictures with the prompt “people laughing outdoors”.
EducationTeachersCollect teaching pictures and find them by topicA teacher stores a diagram of a volcano and finds it again with the word “eruption”.

You need some n8n: import a file, add two credentials and run one extra node by hand.

Where to use it

Any n8n that can reach Google Drive and OpenAI will run it, as long as the Edit Image nodes can find GraphicsMagick.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with GraphicsMagick installed
  • Google Drive: the image comes from a Drive file, and any other image source works too
  • A real vector store: swap the in-memory nodes for another store to keep the index

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. You need an image in Google Drive and an OpenAI key.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key that can use gpt-4o and an embeddings model
Google DriveAn image file and an OAuth2 credential
GraphicsMagickUsed by the Edit Image nodes, and included in n8n’s own Docker image
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add a Google Drive OAuth2 credential and select it in Google Drive.
  3. In Google Drive, replace YOUR_FILE_ID with your image’s file ID, the part of its address between /d/ and /view.
  4. Add an OpenAI credential and select it in Get Image Keywords, Embeddings OpenAI and Embeddings OpenAI1.
  5. Press Test workflow. The image is described and stored.
  6. Open Search for Image, type a prompt that fits your picture and press Execute step.

How to use it

Run the workflow once for each image, after you change the file ID. Then run Search for Image with your own words. It returns the closest stored documents, and the file name sits in their metadata. The store lives in the n8n process, so search before you restart n8n.

What to change for a different result
To changeWhere
The keywords asked forThe text in Get Image Keywords
The picture sizeThe width and height in Resize Image
What is stored with the imageThe two fields in Document for Embedding
The search wordsThe prompt in Search for Image
The storeThe two in-memory nodes, swapped for another vector store

Example

A photo editor stores a picture of a child laughing in a school yard.

The vision model lists keywords such as the child, the yard, a bright mood and the light. The color data joins them in one document. Later the editor runs Search for Image with the sample prompt “student having fun”, and the stored picture comes back with its file name. Try a few searches before you rely on the index, because the keywords come from a model.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A vector store is a database that finds text by meaning. This workflow turns the picture into text first, so that the store can find it. Try one small picture first.

For experts. The picture becomes text from two sources, color statistics and model keywords, and the embedding is of that text, not of the pixels.

Where to look closer
NodeWhat it doesWhat to know
Get Image KeywordsAsks gpt-4o for keywords at high detailThe original node version sent a retired model, so this copy uses version 1.4
Combine Image AnalysisJoins the color data and the keywords by positionBoth branches carry one item
Document for EmbeddingWrites the data text and the metadataA stray backslash and the letter n sit in the text
In-Memory Vector StoreSplits, embeds and stores the documentClear Store is off, so a rerun adds the image again
Search for ImageFinds the closest documents for a promptIt has no incoming line and runs by itself

Good to know

One model was retired, the store is temporary and the search is a separate step.

  • Models: the original Get Image Keywords was node version 1.3, which always sends gpt-4-vision-preview. OpenAI’s deprecations page, read on 12 November 2026, lists that model for shutdown on 6 December 2024, with gpt-4o as the replacement. Mindket’s copy uses node version 1.4 and sets gpt-4o. The same page lists the dated gpt-4o versions for shutdown on 14 January 2027, with gpt-6-luna as the replacement, and does not list the bare name
  • Embeddings: neither embeddings node names a model, so n8n uses the default of its node version, text-embedding-ada-002, which is not on the deprecations page. Both nodes must use the same model, or a search compares unlike vectors
  • Temporary store: it lives in the n8n process, so a restart empties it. Clear Store is off, so each run adds the same image again
  • Stray text: the data field writes a backslash and the letter n at the end of the first two heading lines, and they end up in the embedded text. Remove them from the field for clean text
  • Loader: Default Data Loader keeps its default mode, which reads the whole item, so data and metadata both go in
  • Keyword length: the node’s default caps the reply at 300 tokens, so a long list is cut
  • One image: a run handles the image in Google Drive and nothing else
  • Medical images: do not use this for them, because the method is not made to find diagnostic features
  • Billing: OpenAI bills one vision call and one batch of embeddings for each run, and one more embedding for each search
  • Your data: the picture goes to OpenAI for its keywords, and the keywords and color data go to OpenAI for the embedding
  • Credentials: the JSON holds none

README and files

README

Image search index built from keywords and colors

An n8n workflow that makes an image searchable by text. It downloads one image from Google Drive, reads its color data
and asks an OpenAI vision model for keywords. Both go into one text document, which is embedded and stored in a vector
store. A second node then finds the stored image from a plain text prompt.

What is inside

  • workflow.json: the workflow as n8n exports it, 13 nodes and nine sticky notes. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • Get Image Keywords was node version 1.3. That version always sends the model gpt-4-vision-preview, which OpenAI
    shut down on 6 December 2024, and its deprecations page names gpt-4o as the replacement. The node is now version 1.4,
    where the model is a setting, and the setting is gpt-4o.
  • Google Drive pointed at its author's own image. It now holds YOUR_FILE_ID, and the saved file name and link are gone.
  • The nine sticky notes are rewritten and hold no outside links.
  • Every credential reference is removed, so you pick your own.

Before you start

  • An n8n instance, on n8n Cloud or your own server. The Edit Image nodes need GraphicsMagick. n8n's own Docker image
    includes it, and a server you set up yourself needs it added.
  • An OpenAI API key that can use gpt-4o and an embeddings model.
  • A Google account, an image in Google Drive and a Google Drive OAuth2 credential.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add a Google Drive OAuth2 credential and select it in Google Drive.
  3. In Google Drive, replace YOUR_FILE_ID with the ID of your image. In the file's web address it is the part between
    /d/ and /view.
  4. Add an OpenAI credential and select it in Get Image Keywords, Embeddings OpenAI and Embeddings OpenAI1.
  5. Press Test workflow. The image is described and stored.
  6. Open Search for Image, type a prompt that fits your picture and press Execute step. The closest stored document
    comes back.

How a run goes

  1. When clicking "Test workflow" starts the run and Google Drive downloads the image.
  2. Two branches run from there. Get Color Information reads the image's format, background color and channel
    statistics. Resize Image shrinks the picture to fit 512 by 512 pixels, and only when it is bigger.
  3. Get Image Keywords sends the smaller picture to gpt-4o at high detail and asks for every semantic keyword as a
    comma-separated list.
  4. Combine Image Analysis joins the colors and the keywords by position.
  5. Document for Embedding writes two fields. data holds the text, with a keywords part and a color part.
    metadata holds the format, the background color and the file name.
  6. In-Memory Vector Store is in insert mode. Default Data Loader takes the item and attaches the metadata,
    Recursive Character Text Splitter cuts the text into chunks, and Embeddings OpenAI turns each chunk into a
    vector. They are stored under the key image_embeddings.
  7. Search for Image has no incoming line, so a full run never reaches it. In load mode it embeds its prompt with
    Embeddings OpenAI1 and returns the closest documents from the same key.

Change the look

  • The keywords asked for: the text in Get Image Keywords.
  • The picture size: the width and height in Resize Image.
  • What is stored with the image: the two fields in Document for Embedding and the metadata in Default Data Loader.
  • The search words: the prompt in Search for Image. It starts as a sample.
  • The store: swap In-Memory Vector Store and Search for Image for another vector store node, and keep one embedding
    model for both.
  • Many images: put a Loop Over Items before the download and feed it a list of file IDs.

Good to know

  • OpenAI's deprecations page, read on 12 November 2026, lists the dated gpt-4o versions for shutdown on 14 January
    2027, with gpt-6-luna as the replacement. It does not list the bare name gpt-4o, which this copy uses.
  • Neither embeddings node names a model, so n8n uses the default of its node version, text-embedding-ada-002. That
    model is not on the deprecations page. Both nodes must use the same model, or a search compares unlike vectors.
  • The store lives in the n8n process, so a restart empties it. Clear Store is off, so each run adds the same image
    again.
  • The data field in Document for Embedding writes a backslash and the letter n at the end of the first two heading
    lines, so those two characters sit in the embedded text. Remove them from the field if you want clean text.
  • Default Data Loader keeps its default mode, which reads the whole item, so data and metadata both go in.
  • The keyword reply is capped by the node's default of 300 tokens, so a long list is cut.
  • One run handles one image, the one in Google Drive.
  • Do not use this for medical images. Image embedding like this is not made to find diagnostic features.
  • OpenAI bills one vision call and one batch of embeddings for each run, and one more embedding for each search.
  • Your data: the picture goes to OpenAI for the keywords, and the keywords and color data go to OpenAI for the embedding.
Files
NOTICE.md  634 B
README.md  5 KB
workflow.json  13 KB

3 files, 19 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Developer

See all in Developer

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

buzz

block · Kit

Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…

New37.3k

plannotator

backnotprop · Kit

Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.

New10.5k