---
title: "vision.product.match · OpenVibe.Services"
canonical: "https://openvibe.services/docs/capabilities/vision.product.match"
updated: null
---

# vision.product.match · OpenVibe.Services

HTML: [vision.product.match · OpenVibe.Services](https://openvibe.services/docs/capabilities/vision.product.match)

# `vision.product.match`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

Not grantable to apps (active, first-party).

Match a product photo to offers on OpenVibe.Vision: POST /api/v1/product describes the product only (never a person), embeds it with CLIP and returns candidate offers from OpenVibe.Deals and open.shoes with their score and URL. A candidate is not a verified price.

- Owner: vision (token audience `openvibe.vision`)
- Version: 1.0
- Status: active
- Visibility: first-party
- Resource constraints: none
- Quota class: vision-product
- Permissions: vision:product
- Input: [vision.product-request@1](/docs/contracts/vision.product-request)
- Output: vision.product-result@1
- Events: vision.result.ready
- Implemented by: - `POST /api/v1/product`

[These routes in the API explorer](/docs/api/vision#cap-vision.product.match)
