Find the SKU from any image.
Upload, crop or screenshot — Idukki returns matching products from your catalogue, scored 0–100, rendered inside the same drawer your widgets already use. One API, every surface.
- Catalogue-grounded — no generic web index
- Image-as-base64 upload + product-id lookup
- Similarity score per result, ranked top-N
- Plugs into every Idukki widget surface
87
82
76
64
Identified
Linen blazer · Sand
Search anything on this page with Visual Search.
The cropped region is sent to Idukki.
- +18%PDP conversion
- 24%reach more SKUs
- < 400msp95 result
Six things to know before you wire it in.
Image upload
Shopper uploads a photo from their gallery — outfit-of-the-day, an Instagram screenshot, a reference image they saved.
In-gallery crop
Inside any Idukki widget, tap-to-crop a hero, a story frame or a UGC post to search just that region.
Catalogue-grounded
Matches against your own product catalogue — title, price, category and image — not a generic web index.
Similarity scored 0–100
Every result returns a similarity score so the widget can hide weak matches or expose a "fuzzy match" badge.
Ranked, not just retrieved
Composite ranking mixes image features with your business signals — currently a deterministic perceptual hash, embedding model swappable.
Widget-native
Plugs into every Idukki widget. Same overlay drawer, same product-card style, same analytics events.
From upload to add-to-cart, in four steps.
No separate index to maintain. The visual-search API reads your existing catalogue and ranks results inline — the embedding model is hot-swappable so you can graduate from perceptual hash to CLIP without re-indexing.
Step 1
Shopper triggers a search
From a "search by image" button on PDP, a long-press inside a UGC gallery, or a crop tool inside a video frame.
Step 2
Crop and confirm
Optional client-side crop. Only the cropped region is base64-encoded and sent — no full-page screenshots.
No biometric data leaves the pageStep 3
Ranked against your catalogue
API fetches up to 100 catalogue products and scores them. Returns top-N with similarity, title, price, image and URL.
Step 4
Inline shoppable result
Results render in the same product-drawer pattern as the rest of your widgets. One tap to add to cart.
One API. Every surface.
Product page
Shoppers who don't see exactly what they want can search "more like this" from the PDP hero.
UGC gallery
Crop a creator post — find the product, even if no hotspot was placed by your team.
Video player
Pause + crop a shoppable video frame to find the SKU shown in that moment.
Email + SMS
Drop a cropped reference into an outbound: links straight to a visual-search result page.
We ship the wiring first. Models are pluggable.
Today the ranker uses a stable perceptual-hash composite seeded per image — fast, deterministic, good enough for "find this SKU" demos and small catalogues. The endpoint shape is stable, so when you graduate to a real embedding model (CLIP, Cohere, your own) the widgets don’t change.
- Endpoint stable: POST /api/visual-search/search
- Swap the ranker without touching the widget
- Top-N + similarity score in the response shape today
POST /api/visual-search/search
{
"businessId": "biz_…",
"imageData": "data:image/jpeg;base64,…",
"maxResults": 24
}
200 OK
{
"query": "image",
"total": 24,
"products": [
{
"id": "prod_…",
"title": "Linen blazer",
"price": "£148",
"imageUrl": "…",
"productUrl": "…",
"similarity": 87
}
]
}Stop renting six tools. Ship one.
Spin up your first widget in 4 minutes. Migrate from Bazaarvoice, EmbedSocial, Tolstoy or Videowise in a day. Your CFO will love us. Your CRO already does.
- No credit card
- Cancel anytime
- SOC 2 + GDPR