didit-passive-liveness
Integrate Didit Passive Liveness standalone API to verify a user is physically present. Use when the user wants to check liveness, detect spoofing attempts, verify real person presence, implement anti-spoofing, or perform passive liveness detection using Didit. Analyzes a single image without user interaction. Returns liveness score, face quality, and luminance metrics. Detects presentation attacks and duplicate faces.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/rosasalberto/didit-passive-livenessDidit Passive Liveness API
Overview
Verifies that a user is physically present by analyzing a single captured image — no explicit movement or interaction required.
Key constraints:
- Supported formats: JPEG, PNG, WebP, TIFF
- Maximum file size: 5MB
- Image must contain exactly one clearly visible face
- Original real-time photo only (no screenshots or printed photos)
Accuracy: 99.9% liveness detection accuracy, <0.1% false acceptance rate (FAR).
Capabilities: Liveness scoring, face quality assessment, luminance analysis, age/gender estimation, spoof detection (screen captures, printed copies, masks, deepfakes), duplicate face detection across sessions, blocklist matching.
Liveness methods: This standalone endpoint uses PASSIVE method (single-frame CNN). Workflow mode also supports ACTIVE_3D (action + flash, highest security) and FLASHING (3D flash, high security).
API Reference: https://docs.didit.me/reference/passive-liveness-api
Authentication
All requests require x-api-key header. Get your key from Didit Business Console → API & Webhooks.
Endpoint
POST https://verification.didit.me/v3/passive-liveness/
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 |
face_liveness_score_decline_threshold | integer | No | — | 0-100 | Scores below this = Declined |
rotate_image | boolean | No | — | — | Try rotations to find upright face |
save_api_request | boolean | No | true | — | Save in Business Console |
vendor_data | string | No | — | — | Your identifier for session tracking |
Example
import requests
response = requests.post(
"https://verification.didit.me/v3/passive-liveness/",
headers={"x-api-key": "YOUR_API_KEY"},
files={"user_image": ("selfie.jpg", open("selfie.jpg", "rb"), "image/jpeg")},
data={"face_liveness_score_decline_threshold": "80"},
)
const formData = new FormData();
formData.append("user_image", selfieFile);
formData.append("face_liveness_score_decline_threshold", "80");
const response = await fetch("https://verification.didit.me/v3/passive-liveness/", {
method: "POST",
headers: { "x-api-key": "YOUR_API_KEY" },
body: formData,
});
Response (200 OK)
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-rosasalberto-didit-passive-liveness": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
didit-proof-of-address
Integrate Didit Proof of Address standalone API to verify address documents. Use when the user wants to verify a proof of address, validate utility bills, bank statements, government documents, extract address from documents, verify residential address, implement address verification, or perform PoA checks using Didit. Supports OCR extraction, geocoding, name matching, and multi-page documents.
didit-aml-screening
Integrate Didit AML Screening standalone API to screen individuals or companies against global watchlists. Use when the user wants to perform AML checks, screen against sanctions lists, check PEP status, detect adverse media, implement KYC/AML compliance, screen against OFAC/UN/EU watchlists, calculate risk scores, or perform anti-money laundering screening using Didit. Supports 1300+ databases, fuzzy name matching, configurable scoring weights, and continuous monitoring.
didit-age-estimation
Integrate Didit Age Estimation standalone API to estimate a person's age from a facial image. Use when the user wants to estimate age, verify age, implement age gating, check if someone is over 18/21, perform age verification for compliance, or use facial analysis for age detection using Didit. Includes passive liveness check. Supports configurable thresholds, adaptive age estimation with ID verification fallback, and per-country age restrictions.
didit-phone-verification
Integrate Didit Phone Verification standalone API to verify phone numbers via OTP. Use when the user wants to verify phones, send SMS or WhatsApp or Telegram codes, check phone verification codes, detect disposable or VoIP numbers, or implement phone-based identity verification using Didit. Supports multiple delivery channels (SMS, WhatsApp, Telegram, voice), fraud signals, and policy-based auto-decline.
didit-sessions
Integrate Didit Session & Workflow APIs — the central hub for managing verification sessions. Use when the user wants to create a verification session, set up a KYC workflow, create a session with a workflow_id, retrieve session results, get session decisions, list sessions, delete sessions, update session status, approve or decline sessions, request resubmission, generate PDF reports, share sessions between partners, import shared sessions, add or remove users from blocklist, manage blocked faces/documents/phones/emails, handle webhooks, or implement any end-to-end verification flow using Didit. Covers 11 API endpoints: create, retrieve, list, delete, update-status, generate-pdf, share, import-shared, blocklist-add, blocklist-remove, blocklist-list.