v2.7.0
Synthetic Content Detection
Five new methods for detecting AI-generated content across all modalities:
detectSyntheticText(input)— Detect AI-generated text with 10 child-safety-focused categories (synthetic CSAM narratives, deepfake impersonation, AI-generated grooming scripts)detectSyntheticImage(input)— 6-signal forensic pipeline: vision AI, EXIF metadata, pixel statistics, C2PA Content Credentials, watermark detection, perceptual hashingdetectSyntheticAudio(input)— Dual-signal audio forensics: transcript analysis + mel spectrogram vision + quantitative audio statisticsdetectSyntheticVideo(input)— 5-track video analysis: per-frame vision, temporal face consistency, lip-sync correlation, spectral audio, transcript detectiongetSyntheticProfile(customerId)— Account-level 30-day rolling window with trend detection and category distribution
Document Intelligence in Verification
getVerificationSession() now returns full document intelligence when verification completes:
- MRZ validation — ICAO 9303 check-digit validation for passports and ID cards (TD1/TD2/TD3)
- PDF417 barcode reading — AAMVA-structured data from US/CA driver's licenses
- 45-country document number validation — Algorithmic validation of document numbers
- Document authenticity — AI-powered assessment with security feature detection and recapture detection
- Cross-referencing — MRZ ↔ OCR ↔ barcode field consistency checks
New Types
SyntheticClassification,SyntheticTextResult,SyntheticImageResult,SyntheticAudioResult,SyntheticVideoResult,SyntheticProfileSyntheticVisionResult,MetadataAnalysis,ProvenanceResult,ForensicSignals,KnownSyntheticMatchAudioStats,TemporalConsistency,LipSyncResultVerificationResult,DocumentDetails,MrzFields,BarcodeResult,DocumentAuthenticityResult
Breaking Changes
VerificationSessionResult.resulttype changed fromAgeVerificationResult | IdentityVerificationResulttoVerificationResult | null. The old types are deprecated but still exported.
Credits
| Method | Credits |
|---|---|
detectSyntheticText() |
2 |
detectSyntheticImage() |
5 |
detectSyntheticAudio() |
4-7 |
detectSyntheticVideo() |
2 + 3/frame + 2 |
getSyntheticProfile() |
0 (read-only) |