Voice Tools

Voice Biometrics

Verify caller identity using voiceprint analysis — internal phrase matching or external providers like Pindrop and Nuance.

Voice Biometrics

The Voice Biometrics tool verifies caller identity using voiceprint analysis. The agent asks the caller to speak a specific phrase, then compares it against stored voiceprint data. Supports both internal phrase matching and external providers (Pindrop, Nuance).

How It Works

Agent: "For security, please say the phrase: 'My voice is my password.'"
Caller: "My voice is my password."
-> Agent calls verify_voice_identity with the spoken phrase
-> Voiceprint comparison runs (internal or external API)
Agent: "Voice identity verified successfully. How can I help you today?"

Configuration

{
  "voiceBiometricsEnabled": true,
  "voiceBiometricsProvider": "internal",
  "voiceBiometricsAction": "verify",
  "voiceBiometricsEnrollPhrase": "My voice is my password",
  "voiceBiometricsConfidenceThreshold": 0.7,
  "voiceBiometricsFailAction": "end_call",
  "voiceBiometricsTransferTarget": "+14155551234"
}
SettingTypeDefaultDescription
voiceBiometricsEnabledbooleanfalseEnable voice biometrics
voiceBiometricsProviderstringinternalProvider: internal, pindrop, nuance, or custom
voiceBiometricsActionstringverifyverify (existing users) or enroll_and_verify (new + existing)
voiceBiometricsEnrollPhrasestringPhrase the caller must speak
voiceBiometricsConfidenceThresholdfloat0.7Minimum confidence for verification (0.0-1.0)
voiceBiometricsFailActionstringend_callOn failure: end_call, transfer, continue
voiceBiometricsTransferTargetstringTransfer number on failure

External Provider Settings

For external providers (Pindrop, Nuance, etc.):

SettingTypeDescription
voiceBiometricsApiKeystringAPI key for the biometrics provider
voiceBiometricsApiSecretstringAPI secret
voiceBiometricsApiEndpointstringProvider API endpoint URL

LLM Tool

Tool name: verify_voice_identity

Parameters:
  spoken_phrase: string (what the caller said)

Returns:
  Success: "Voice identity verified successfully (confidence: 85%). The caller is authenticated."
  Failure: "Voice verification failed (confidence: 40%, threshold: 70%). The caller could not be authenticated."

Providers

ProviderHow It Works
internalFuzzy word matching against the enrollment phrase. Good for demos and simple use cases.
pindropExternal API call to Pindrop's voiceprint service
nuanceExternal API call to Nuance's voice biometrics
CustomAny provider with a REST API

Failure Actions

ActionBehavior
end_callAgent apologizes and ends the call
transferAgent transfers to the configured number
continueAgent continues with limited access (no sensitive operations)

Example — Create Agent with Voice Biometrics

curl -X POST https://api.thinnest.ai/v1/agents \
  -H "Authorization: Bearer $THINNESTAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Secure Banking Agent",
    "model": "gpt-4o",
    "instructions": "You are a secure banking agent. Before accessing any account information, verify the caller identity using voice biometrics. Ask them to say the enrollment phrase.",
    "voiceEnabled": true,
    "transcriber": { "provider": "deepgram", "model": "nova-2-conversationalai" },
    "voice": { "provider": "deepgram", "voiceId": "aura-2-thalia-en" },
    "voiceBiometricsEnabled": true,
    "voiceBiometricsProvider": "internal",
    "voiceBiometricsAction": "verify",
    "voiceBiometricsEnrollPhrase": "My voice is my password",
    "voiceBiometricsConfidenceThreshold": 0.7,
    "voiceBiometricsFailAction": "transfer",
    "voiceBiometricsTransferTarget": "+14155551234"
  }'

On this page