/v1/verify¶
POST /v1/verify
Realiza a verificação biométrica com o upload de um arquivo de áudio.
Requisição
A requisição deve estar formatada como multipart/form-data. O primeiro campo, denominado verify deve ser um objeto JSON e conter os seguintes campos:
Campo
Tipo
Descrição
repository_uri
string
URL do repositório biométrico
id
string
lista separada por vírgulas com os identificadores de voiceprint
min_verification_score
double
valor mínimo do limiar de aceitação.
min_verification_audio
integer
duração mínima do tempo de fala no áudio para verificação (em ms). Valor padrão = 3000 (opcional)
max_verification_audio
integer
duração máxima do tempo de fala no áudio para verificação (em ms). Valor padrão = 10000 (opcional)
infer_emotion_enable
boolean
(opcional) Indica se deve ser executada a classificação de emoção. Valor padrão = false
infer_gender_enable
boolean
(opcional) Indica se deve ser executada a classificação de gênero. Valor padrão = false
infer_age_enable
boolean
(opcional) Indica se deve ser executada a classificação de idade. Valor padrão = false
A seguir devem ser especificados um ou mais campos, nomeados pelo prefixo audio seguido de um contador numérico iniciado em 1 (e.g. audio1, audio2, etc). Esses campos devem conter os áudios a serem utilizados em cada verificação, sendo um áudio para cada voiceprint indicado no campo verify.id.
Resposta
A resposta é um objeto com os seguintes campos:
voiceprint [array] - Lista de objetos contendo o resultado para cada voiceprint.
id [string] - Identificador do voiceprint.
verification [object] - Objeto contendo o resultado da verificação.
verification_score [double] - score da verificação biometria.
decision [string] - Decisão baseado no limiar de confiança e outros critérios. Os valores válidos são: accepted, rejected, undecided.
audio_info [array] - Vetor de objetos contendo informações sobre os áudios utilizados.
gender_scores [object] - resultado da classificação de gênero
age_scores [object] - resultado da classificação de idade
emotion_scores [object] - resultado da classificação de emoção
audio_duration [integer] - duração do áudio (ms)
speech_duration [integer] - duração da fala (ms)
Exemplo:
Chamada REST enviando o audio via multipart:
curl --insecure --request POST \
--url https://<speech_server>/speakverify/rest/v1/verify \
--header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \
--form repository_uri=https://<repository> \
--form id='997982876428376428' \
--form min_verification_score=0.5 \
--form audio=@<audio_file.wav>
Exemplo de resposta:
{
"id": "997982876428376428",
"transaction_id": "bmt-verify-46c27e71-2545-4e75-b976-3208ea343cbd",
"verification": {
"verification_score": 0.661981463432312,
"decision": "ACCEPTED"
},
"audio_info": [
{
"audio_duration": 7915,
"speech_duration": 2350
}
]
}