Install any skill in seconds. Free to start, no credit card required.
Get Started Free →didit-protocol/didit-face-match
Integrate Didit Face Match standalone API to compare two facial images.
Passed 20 of 23 test cases with the skill, and 7 of 23 without it.
and 15 more in the full report
13 fixed7 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/14/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
When a face match score falls below the configured decline threshold, what warning tag tag is returned in the `warnings` array?
| Checked | Without skill | With skill |
|---|---|---|
| The response identifies LOW_FACE_MATCH_SIMILARITY as the warning tag | Missed | Passed |
The instructions your model reads when the skill loads.
Compares two facial images to determine whether they show the same person. Returns a similarity score (0-100) and an Approved / Declined status.
Key constraints:
user_image and ref_image are requiredPricing: $0.05 (per successful call; standalone calls have no free tier). These are the list prices until 1 November 2026, when Didit pricing changes and the 500 free checks a month become $10 of free credit a month. Check didit.me/pricing for current prices.
Decision: Approved only when the score is strictly above face_match_score_decline_threshold (default 30). A score at or below it returns Declined with LOW_FACE_MATCH_SIMILARITY. If no face pair can be scored, the call still returns HTTP 200 with Declined and NO_REFERENCE_IMAGE. There is no In Review on this endpoint; only the threshold is configurable.
Face search index: this endpoint never enrolls faces and never runs blocklist or duplicate screening. Use POST /v3/passive-liveness/ (didit-liveness-detection) or POST /v3/face-search/ (didit-face-search) for those.
Saving (save_api_request, default true): the call is saved as an API session (Business Console, GET /v3/session/{request_id}/decision/, status.updated webhook) and both images are stored as the session's face-match source and target images. With false nothing is stored and request_id cannot be looked up.
Sandbox: sandbox API keys return a static Approved payload after request validation; nothing is saved or billed.
Capabilities: similarity scoring, configurable decline threshold, face bounding boxes with model-estimated age and gender per face (informational), optional rotation for non-upright faces.
API Reference: https://docs.didit.me/standalone-apis/face-match Feature Guide: https://docs.didit.me/core-technology/face-match/overview
Every request needs the x-api-key header. Use your application's API key from the Didit Business Console under Developers > API keys, or create an account and key programmatically (see Getting Started). Named keys with custom access need Sessions write to run standalone checks; a key limited to some workflows or to approved sessions cannot run them.
If you don't have a Didit API key, create one in 2 API calls:
POST https://apx.didit.me/auth/v2/programmatic/register/ with {"email": "[email protected]", "password": "MyStr0ng!Pass"}POST https://apx.didit.me/auth/v2/programmatic/verify-email/ with {"email": "[email protected]", "code": "A3K9F2"}. The key is in the response at application.api_key.test cases passed, vs 7 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.