Image Semantic Filter avatar

Image Semantic Filter

Pricing

from $2.50 / 1,000 image classifieds

Go to Apify Store
Image Semantic Filter

Image Semantic Filter

Easily search a dataset of images with natural language queries. E.g. Searching a dataset of street view images for construction sites or social media images for products.

Pricing

from $2.50 / 1,000 image classifieds

Rating

0.0

(0)

Developer

Ben Farrington

Ben Farrington

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Image Semantic Filter — keep only the images that match your description

Filter any set of images by meaning. Give this actor a list of image URLs — or point it at another Actor's dataset — and a plain-English description. It scores every image on how well it matches, using CLIP AI vision, and returns only the ones you want, each with a match rating. No API key — you pay a small flat fee per image classified.

"a red sports car" → keep car photos that are actually red sports cars
"person wearing a hat" → filter a scraped photo set down to hatted people
"food on a plate" → pull the food shots out of a mixed image dump
"logo on a white background" → find clean product images among the noise

Why this actor?

  • No API key, no setup — nothing to configure, no third-party billing account, no quota
  • Simple pay-per-event pricing — a small flat fee per image classified, billed by Apify; no external per-image API charges, scoring runs on a local AI model
  • Chains off any scraper — feed it the dataset from an Instagram, e-commerce, or Google Images Actor and curate the output in one step
  • Semantic, not keyword — CLIP understands objects, colors, scenes and concepts ("something to sit on" finds chairs and benches)
  • Keeps your data — every original field of a source-dataset item is carried through to the results, plus a match rating

What can you use it for?

  • 🛒 Curate scraped product images — keep only photos matching a style, angle, or setting
  • 🧹 Clean image dumps — filter a mixed set down to the subject you care about
  • 🖼️ Moderate & sort — bucket a large image set by how well it matches a description
  • 🔎 Find needles — locate the few on-target images inside thousands of scraped URLs

How it works

  1. You provide a description plus images — a list of URLs, a source dataset ID, or both
  2. AI ranking — a CLIP vision model scores every image against your description (semantic matching, not keywords)
  3. You receive the matching images as dataset items, each with a match rating (match, ambiguous, or no_match). Set a minimum match level to drop the rest automatically

Input

FieldDefaultDescription
searchPromptWhat to look for, in plain English
imageUrls[]Direct image URLs to score
datasetIdApify dataset (e.g. a scraper's output) to read image URLs from
imageUrlFieldimageUrlField in each source item holding the URL (supports nested image.url)
minMatchanyKeep only images at this level or better (any / ambiguous / match)
maxImages1000Maximum images to download and score

Provide imageUrls, a datasetId, or both.

Output

One dataset item per kept image, streamed in as it's scored. When the image came from a source dataset, the original item's fields are included alongside the match rating.

{
"imageUrl": "https://example.com/photos/car-42.jpg",
"match": "match"
}

Export to JSON, CSV, or Excel. Sort or filter on the match field to get the strongest matches first.

FAQ

Where do the images come from? From you — either a list of URLs or another Apify Actor's dataset. This Actor doesn't scrape or store images; it reads the URLs you provide and returns the ones that match.

What do the match ratings mean? match means a confident visual match; ambiguous is borderline and worth a look; no_match probably doesn't contain what you described. Use minMatch to drop everything below a level, or keep all and filter the dataset yourself.

Can I filter another Actor's results? Yes — that's the main use. Run a scraper, then pass its dataset ID here with imageUrlField set to the field holding the image URL. Every original field is carried through, so the output is your scraped data minus the images that don't match.

Does it re-host the images? No. The output references your original image URLs, so make sure they stay reachable. Images behind expiring/signed links may not load later.

Can I search for multiple things? One description per run. Start parallel runs for multiple descriptions over the same images.

How am I charged? Pay-per-event: one flat charge per image classified. Every image that gets scored counts, including ones filtered out by minMatch — you're paying for the AI classification, not just the kept results. Cap a run's cost with maxImages.


semantic image search · CLIP visual filter · image dataset curation · filter scraped images by content · AI image classification by prompt