Skip to content
R Rushie Sign in

Searching the catalogue

How Rushie expands a query, ranks results, and tells you when it has nothing good.

The endpoint

GET /api/bank/search?q=stressed+at+work&kind=image&limit=24

Parameters

NameValuesWhat it does
qfree textExpanded through the concept map, then ranked. Omit it to browse.
kindimage, videoNarrows to stills or clips.
categorya catalogue categorySee the category list.
orientationlandscape, portrait, squareShape of the frame.
colora colour familyMatched against the measured dominant colours.
min_megapixelsnumberFloor on resolution.
sortrelevance, newest, oldest, largest, bestRelevance is the default for a query, newest without one.
limit, offsetnumbersPaging. limit is capped at 100.

What comes back

{
  "assets": [{
    "id": "a_...", "kind": "image", "title": "...", "description": "...",
    "keywords": ["..."], "category": "Business/Finance",
    "width": 4864, "height": 3200, "megapixels": 15.6,
    "preview_url": "/api/bank/preview/a_...", "thumb_url": "/files/thumbs/a_....webp",
    "prices": {"standard": 9.0, "extended": 36.0},
    "generated_with_ai": true, "relevance": 0.61
  }],
  "total": 21, "limit": 24, "offset": 0,
  "query_expanded_to": ["boardroom", "colleagues", "conference", "meeting"]
}

The payload never contains the prompt, the seed or a path to the original. Those are the studio's, not the shop's.

Reading relevance

relevance is a cosine in 0 to 1. A direct subject match sits around 0.6; a query that only brushed a document through one common word lands near 0.2. The shop treats anything below about 0.34 as "found something, but not this" and offers to render the real thing instead. A query with no usable terms — a bare number, say — returns no relevance at all and leaves the catalogue in its own order, because having no opinion is not the same as finding nothing.