Nodes/Embeddr ComfyUI Extension/Embeddr Find Similar Artifacts (V2)
ComfyUI Node

Embeddr Find Similar Artifacts (V2)

Reverse-image-search your own library, from inside the graph

By embeddr-net·Created 9 months ago·Updated 5 months ago· 0
Embeddr Find Similar Artifacts (V2)
  • image
  • images
  • artifact_ids
limit5
model_namelotus

Find Similar Artifacts is the reverse-image-search node of the Embeddr pack. Give it an image, and it goes through your Embeddr library and pulls back the artifacts that look most like it - as actual image tensors you can pipe straight into an img2img chain, an IP-Adapter, or a quick visual compare.

This is one of those "your library becomes a training/reference set" nodes that makes a self-hosted asset store feel magical. You finish a generation you like, you want five more in that visual neighborhood, you feed the result back in. Or you drop a reference image you found elsewhere and let it round up everything you've ever made that's close to it.

How it works

The mechanism is honest about being a bridge. The node takes the first image of the input batch, converts it to a PNG, and POSTs it to your Embeddr server at /api/v1/plugins/embeddr-comfyui/find_similar, along with two parameters: limit (how many hits, 1–50, default 5) and model_name (the embedding model to search with, default "lotus").

Your Embeddr backend does the actual similarity search - this node doesn't run any embedding model locally. Then, for each hit, it fetches the artifact's image content back through the plugin route and decodes it into a tensor. Everything you get out of it has already been a round-trip through your server.

Two outputs, both lists:

  • images - the similar images as an IMAGE batch. Wire this into anything that takes images.
  • artifact_ids - the IDs of those same hits, in the same order. This is the quiet win: take the first ID and pass it to Find Similar To Artifact to chain searches, or keep the IDs for lineage.

The model_name knob

The default "lotus" is the name of an embedding model your Embeddr instance exposes for similarity. If your backend is configured with a different embedding model, change this to match - a wrong name typically means the search returns nothing (the node logs a failure and hands back an empty 64×64 image and an ID of "-1", so an all-black/no-op result is your signal, not a crash). Same empty-result shape appears when the library genuinely has no matches, so check your limit and your model_name before assuming the library is empty.

Install & setup

Shared pack install: run embeddr serve first (the README opens with a warning that this pack requires embeddr-cli), install the pack via ComfyUI Manager or by extracting a release into custom_nodes, restart ComfyUI. Only requests beyond the host environment.

Because the search runs on your server, this node's latency is "however fast your Embeddr index is," not your GPU's. It's a bridge node, so the classic security caveat for API-wrapper nodes is inverted here in a good way: your images go to your own server on localhost:8003, not some cloud - the same reason self-hosting this whole setup is the point.

CategoryEmbeddr

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
limitINT51–50
model_nameSTRINGlotus

Outputs (2)

NameTypeDescription
imagesIMAGE
artifact_idsSTRING