{"uid":"cap_Uk7Ap5zoKc6WIJOxa24i7","slug":"visionflow-match-feature-matching-4bd9e96d","name":"VisionFlow Match – Feature Matching","description":"Match local features between a pattern image and a larger image: detects ORB or SIFT keypoints in both, matches them with a brute-force matcher and Lowe's ratio test (OpenCV BFMatcher.knnMatch), and returns the good matches as point pairs sorted by distance. Use it to see which parts of a pattern are present and where, even when the pattern is scaled or rotated; for the pattern's outline use /v1/homography.","url":"https://visionflow-match.saastemly.com/v1/feature-match?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"image":{"type":"string","description":"Base64 of a PNG, JPEG, BMP or WebP file (a data: URI also works). At most 4 million pixels and about 2 MB. Alpha is dropped."},"ratio":{"type":"number","description":"Lowe's ratio test threshold, 0.5-0.95 (default 0.75): a match is kept when its distance is below ratio times the second-best distance"},"detector":{"enum":["orb","sift"],"type":"string","description":"Keypoint detector and descriptor: orb (default, fast, binary descriptors, Hamming distance) or sift (slower, better with scale changes, L2 distance)"},"template":{"type":"string","description":"Base64 of the pattern to find, same formats. At most 1 million pixels and about 1 MB."},"max_matches":{"type":"integer","description":"Most matches listed, 1-200 (default 50); goodMatches always counts all of them"},"max_features":{"type":"integer","description":"Most keypoints kept per image, 100-5000 (default 2000)"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_6X5cKjcep4rSQ3QzetVfw","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Detects ORB or SIFT keypoints in a template and a larger image, matches them with brute-force + Lowe's ratio test, and returns sorted point-pair matches showing where the pattern appears.","exampleAgentPrompt":"Use SIFT feature matching to find where this company logo (base64 attached) appears in this larger product photo (base64 attached) — use a ratio threshold of 0.7 and return up to 100 matches.","exampleUseCases":[{"title":"UI element presence detection","prompt":"I need to check if this 'Submit' button icon (base64 attached) appears anywhere in this full app screenshot (base64 attached) — use ORB detection with ratio 0.75 and show me up to 50 match pairs so I can see where it lands."},{"title":"Logo location in marketing image","prompt":"Can you find where this small brand logo (base64 attached) appears in this large banner image (base64 attached)? Use SIFT since the logo might be scaled differently, ratio threshold 0.8, and give me up to 80 matches."},{"title":"Rotated pattern matching in photo","prompt":"I have a cropped photo of a circuit board component (base64 attached) and a larger board image (base64 attached) — the component might be rotated. Use SIFT feature matching with ratio 0.7 and up to 200 features to find all matching point pairs."}],"resultDescription":"Returns a list of good matched point pairs sorted by match distance, each containing the coordinates in the template and in the scene image, along with the total count of good matches. Includes metadata about how many keypoints were detected in each image and the detector used.","failureModes":["Image exceeds size limit (4MP or 2MB) — returns 400 error","Template exceeds 1MP or 1MB limit — returns 400 error","Too few keypoints detected (featureless or blurry images) — returns zero or very few matches","Ratio value outside 0.5–0.95 range — returns validation error","Unsupported image format — returns 400 error","max_matches outside 1–200 range — returns validation error","No good matches found — returns empty match list with goodMatches=0"],"whenToPreferThis":"Choose this endpoint when you need to identify specific point-level correspondences between a template and scene image, especially when the pattern may be rotated or scaled. Use ORB for speed on binary-descriptor tasks; use SIFT for better scale/rotation invariance. Prefer this over homography (/v1/homography) when you want raw match pairs rather than an outline or bounding quad of the pattern in the scene.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T12:34:52.413Z","isFirstParty":false,"canonicalSlug":"visionflow-match-feature-matching-4bd9e96d"}