{"uid":"cap_j8oKdho37f6N1UUBz-mt7","slug":"visionflow-match-homography-03d65deb","name":"VisionFlow Match – Homography","description":"Locate a pattern image inside a larger image even when it is scaled, rotated or viewed at an angle: ORB or SIFT feature matching plus cv2.findHomography with RANSAC. Returns whether it was found, the 3x3 homography (pattern pixels to image pixels), the four projected corners, the bounding box, and the inlier count as confidence. Use it to find a UI element, logo or object in a screenshot or photo.","url":"https://visionflow-match.saastemly.com/v1/homography?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. Needs visible texture or corners; a flat-coloured pattern has no features."},"min_inliers":{"type":"integer","description":"Fewest RANSAC inliers for found to be true, 4-200 (default 10)"},"max_features":{"type":"integer","description":"Most keypoints kept per image, 100-5000 (default 2000)"},"reproj_threshold":{"type":"number","description":"RANSAC reprojection error in pixels below which a match is an inlier, 0.5-20 (default 3)"}}},"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_QQcs5NkHUqS-Q0euxuhlP","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":"Locate a pattern image inside a larger image using ORB or SIFT feature matching with RANSAC homography, returning match status, transformation matrix, corners, bounding box, and confidence.","exampleAgentPrompt":"Can you check if this 'Submit' button image appears somewhere in this full-page screenshot? Use SIFT for better accuracy and require at least 15 inlier matches to confirm it's found.","exampleUseCases":[{"title":"UI element detection for automation","prompt":"I have a screenshot of an app and a small image of the 'Login' button — can you find exactly where the button appears in the screenshot using SIFT matching with at least 12 inliers?"},{"title":"Logo presence verification in photo","prompt":"Check whether our company logo (I'll give you the logo image) is visible in this product photo — use ORB for speed and tell me the bounding box and how confident you are."},{"title":"Template matching for visual QA","prompt":"I'm doing visual QA on a webpage — can you locate this reference icon in the full-page screenshot using SIFT, with a ratio threshold of 0.7 and at least 20 inliers to make sure it's a solid match?"}],"resultDescription":"Returns a JSON object with: `found` (boolean indicating match success), `homography` (3x3 matrix mapping pattern pixels to scene pixels), `corners` (four projected corner points of the pattern in the scene), `bounding_box` (axis-aligned rectangle around the match), and `inliers` (count of RANSAC inliers used as confidence).","failureModes":["Pattern not found: `found` is false when fewer than `min_inliers` RANSAC inliers are obtained — can occur with flat-coloured/textureless patterns","Image too large: rejected if scene image exceeds ~4 million pixels or ~2 MB","Template too large: rejected if pattern exceeds ~1 million pixels or ~1 MB","Unsupported format: non-PNG/JPEG/BMP/WebP images cause an error","Degenerate homography: heavily repeated patterns or low-texture images may produce invalid or unstable homographies","Ratio too loose: a very high ratio threshold (close to 0.95) may introduce false matches"],"whenToPreferThis":"Choose this endpoint when you need to locate a specific pattern, logo, UI element, or cropped object within a larger image and need the precise geometric transform (homography/corners/bounding box), not just a bounding box from a deep-learning detector. It is especially useful for UI automation (finding buttons on screenshots), logo detection, and any task requiring scale/rotation/perspective-invariant template matching without training a custom model.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-22T00:35:20.608Z","isFirstParty":false,"canonicalSlug":"visionflow-match-homography-03d65deb"}