← 返回 Skills 市场
rosasalberto

Didit Face Match

作者 Didit · GitHub ↗ · v1.3.0
cross-platform ✓ 安全检测通过
778
总下载
0
收藏
1
当前安装
2
版本数
在 OpenClaw 中安装
/install didit-face-match
功能描述
Integrate Didit Face Match standalone API to compare two facial images. Use when the user wants to compare faces, verify face identity, implement biometric c...
使用说明 (SKILL.md)

Didit Face Match API

Overview

Compares two facial images to determine if they belong to the same person. Returns a similarity score (0-100).

Key constraints:

  • Supported formats: JPEG, PNG, WebP, TIFF
  • Maximum file size: 5MB per image
  • If multiple faces in an image, the largest face is used for comparison
  • Both user_image and ref_image are required

Capabilities: Similarity scoring, age estimation, gender detection, face bounding boxes, configurable decline threshold, optional image 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


Authentication

All requests require x-api-key header. Get your key from Didit Business Console → API & Webhooks, or via programmatic registration (see below).

Getting Started (No Account Yet?)

If you don't have a Didit API key, create one in 2 API calls:

  1. Register: POST https://apx.didit.me/auth/v2/programmatic/register/ with {"email": "[email protected]", "password": "MyStr0ng!Pass"}
  2. Check email for a 6-character OTP code
  3. Verify: POST https://apx.didit.me/auth/v2/programmatic/verify-email/ with {"email": "[email protected]", "code": "A3K9F2"} → response includes api_key

To add credits: GET /v3/billing/balance/ to check, POST /v3/billing/top-up/ with {"amount_in_dollars": 50} for a Stripe checkout link.

See the didit-verification-management skill for full platform management (workflows, sessions, users, billing).


Endpoint

POST https://verification.didit.me/v3/face-match/

Headers

Header Value Required
x-api-key Your API key Yes
Content-Type multipart/form-data Yes

Request Parameters (multipart/form-data)

Parameter Type Required Default Constraints Description
user_image file Yes JPEG/PNG/WebP/TIFF, max 5MB User's face image to verify
ref_image file Yes Same as above Reference image to compare against
face_match_score_decline_threshold integer No 30 0-100 Scores below this = Declined
rotate_image boolean No false Try 0/90/180/270 degree rotations to find upright face
save_api_request boolean No true Save in Business Console Manual Checks
vendor_data string No Your identifier for session tracking

Example

import requests

response = requests.post(
    "https://verification.didit.me/v3/face-match/",
    headers={"x-api-key": "YOUR_API_KEY"},
    files={
        "user_image": ("selfie.jpg", open("selfie.jpg", "rb"), "image/jpeg"),
        "ref_image": ("id_photo.jpg", open("id_photo.jpg", "rb"), "image/jpeg"),
    },
    data={"face_match_score_decline_threshold": "50"},
)
const formData = new FormData();
formData.append("user_image", selfieFile);
formData.append("ref_image", referenceFile);
formData.append("face_match_score_decline_threshold", "50");

const response = await fetch("https://verification.didit.me/v3/face-match/", {
  method: "POST",
  headers: { "x-api-key": "YOUR_API_KEY" },
  body: formData,
});

Response (200 OK)

{
  "request_id": "a1b2c3d4-...",
  "face_match": {
    "status": "Approved",
    "score": 80,
    "user_image": {
      "entities": [
        {"age": 27.63, "bbox": [40, 40, 100, 100], "confidence": 0.717, "gender": "male"}
      ],
      "best_angle": 0
    },
    "ref_image": {
      "entities": [
        {"age": 22.16, "bbox": [156, 234, 679, 898], "confidence": 0.717, "gender": "male"}
      ],
      "best_angle": 0
    },
    "warnings": []
  },
  "created_at": "2025-05-01T13:11:07.977806Z"
}

Status Values & Handling

Status Meaning Action
"Approved" Score >= threshold Faces match — proceed
"Declined" Score \x3C threshold or no face Check warnings for details. May need better image
"In Review" Needs manual review Wait for review or retrieve via session API

Error Responses

Code Meaning Action
400 Invalid request Check file format, size, parameters
401 Invalid API key Verify x-api-key header
403 Insufficient credits Top up at business.didit.me

Response Field Reference

Field Type Description
status string "Approved", "Declined", "In Review"
score integer 0-100 similarity score (higher = more similar). null if no face found
entities[].age float Estimated age
entities[].bbox array Face bounding box [x1, y1, x2, y2]
entities[].confidence float Face detection confidence (0-1)
entities[].gender string "male" or "female"
best_angle integer Best rotation angle for the face
warnings array {risk, log_type, short_description, long_description}

Warning Tags

Tag Description Auto-Decline
NO_REFERENCE_IMAGE Reference or face image missing Yes
NO_FACE_DETECTED No face detected in one or both images Yes
LOW_FACE_MATCH_SIMILARITY Score below threshold — potential identity mismatch Configurable

Security best practice: Only store the status and score. Minimize biometric image data on your servers. Image URLs (in workflow mode) expire after 60 minutes.


Score Interpretation

Score Range Interpretation Action
90-100 Very high confidence — same person Auto-approve
70-89 High confidence — likely same person Approve (default threshold 30)
50-69 Moderate — possible match Consider manual review
30-49 Low — likely different people Declined at default threshold
0-29 Very low — different people Declined

Utility Scripts

export DIDIT_API_KEY="your_api_key"

python scripts/match_faces.py selfie.jpg id_photo.jpg
python scripts/match_faces.py selfie.jpg id_photo.jpg --threshold 50 --rotate
安全使用建议
This skill appears to do what it says: it uploads two images to Didit's face-match API and returns a similarity score. Before installing, consider: (1) privacy and legal: photos are biometric data — verify you have consent to upload them and check Didit's data retention/privacy policy; (2) API key safety: DIDIT_API_KEY gives the skill the ability to use your credits and access your Didit account — store and rotate it like any secret; (3) the included helper script requires the Python 'requests' library but dependencies are not declared by the skill—ensure your runtime has it; (4) note SKILL.md defaults (e.g., save_api_request=true) may cause requests/images to be stored in Didit's Business Console—change parameters if you need to avoid retention; (5) verify the listed endpoints (verification.didit.me / apx.didit.me) match the vendor you expect and confirm billing/charges if you plan to run at scale. If any of these are unacceptable, do not install or provision the API key.
功能分析
Type: OpenClaw Skill Name: didit-face-match Version: 1.3.0 The skill bundle is benign. The `SKILL.md` provides clear documentation for integrating with the Didit Face Match API, including instructions for obtaining an API key (which are examples for a human user, not agent instructions). The `scripts/match_faces.py` script correctly implements the API interaction, reading image files from local paths, using an environment variable for the API key, and communicating only with the documented `https://verification.didit.me` endpoint. There is no evidence of prompt injection, data exfiltration, unauthorized execution, or other malicious intent.
能力评估
Purpose & Capability
The name/description match the actual behavior: SKILL.md and scripts/match_faces.py both call https://verification.didit.me/v3/face-match/ and only require DIDIT_API_KEY. No unrelated credentials, binaries, or system paths are requested.
Instruction Scope
Instructions and example code explicitly upload two images (user_image and ref_image) to Didit's face-match endpoint and expect results back. This is exactly the declared purpose. Important privacy/security note: the skill causes biometric images to be transmitted to a third-party API; SKILL.md also documents account creation (email/password) and default behavior to save API requests in the Business Console. Those are expected for this functionality but are sensitive side-effects that users should consider.
Install Mechanism
No install spec or downloaded code; the skill is instruction-only with a small helper script included. There are no remote downloads or archive extraction. The only operational dependency is the Python 'requests' library, which is used by the included script but not declared in metadata.
Credentials
Only DIDIT_API_KEY is required (declared as primaryEnv), which is proportionate to calling Didit's API. Minor issue: the included Python script uses the 'requests' package but the skill metadata does not declare runtime dependencies; users need to ensure 'requests' is available. Also be aware that providing the API key grants the skill the ability to submit images and consume account credits.
Persistence & Privilege
always is false and the skill does not request persistent system-level privileges or modify other skills. It does not write to system paths or attempt to enable itself automatically.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install didit-face-match
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /didit-face-match 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.3.0
Updated API reference URLs to docs.didit.me, added feature guide links
v1.2.0
Initial release
元数据
Slug didit-face-match
版本 1.3.0
许可证
累计安装 1
当前安装数 1
历史版本数 2
常见问题

Didit Face Match 是什么?

Integrate Didit Face Match standalone API to compare two facial images. Use when the user wants to compare faces, verify face identity, implement biometric c... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 778 次。

如何安装 Didit Face Match?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install didit-face-match」即可一键安装,无需额外配置。

Didit Face Match 是免费的吗?

是的,Didit Face Match 完全免费(开源免费),可自由下载、安装和使用。

Didit Face Match 支持哪些平台?

Didit Face Match 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Didit Face Match?

由 Didit(@rosasalberto)开发并维护,当前版本 v1.3.0。

💬 留言讨论