POST /v2/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. O envio de mais de um voiceprint realiza a identificação biométrica (1:N)
min_verification_score
double
valor do limiar de aceitação (opcional).
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)
logging_tag
string
campo livre inserido no log e histórico para permitir o rastreio da requisição (opcional)
infer_emotion_enable
boolean
Indica se deve ser executada a classificação de emoção. Valor padrão = false (opcional)
infer_gender_enable
boolean
Indica se deve ser executada a classificação de gênero. Valor padrão = false (opcional)
infer_age_enable
boolean
Indica se deve ser executada a classificação de idade. Valor padrão = false (opcional)
A seguir devem ser especificados um ou mais campos, nomeados pelo prefixo audio. Esses campos devem conter os áudios a serem utilizados em cada verificação.
Resposta
A resposta é um objeto com os seguintes campos:
transaction_id [string] - Identificador da transação, útil para rastreio em log e histórico
voiceprint [array] - Lista de objetos contendo o resultado para cada voiceprint. Cada objeto tem o formato abaixo:
id [string] - Identificador do voiceprint.
verification [object] - Objeto contendo o resultado da verificação, caso o voiceprint tenha sido recuperado.
score [double] - score da verificação biometria.
decision [string] - Decisão baseado no limiar de aceitação e outros critérios. Os valores válidos são: ACCEPTED, REJECTED, UNDECIDED.
error [object] - Indica a ocorrência de um erro na verificação desse voiceprint (opcional).
code [string] - código do erro
message [string] - mensagem com detalhamento do erro
audio_info [array] - Vetor de objetos com informações sobre os áudios utilizados.
audio_duration [integer] - duração do áudio (ms)
speech_duration [integer] - duração da fala (ms)
gender_scores [object] - resultado da classificação de gênero (opcional)
age_scores [object] - resultado da classificação de idade (opcional)
emotion_scores [object] - resultado da classificação de emoção (opcional)
Exemplo:
Chamada REST enviando o audio via multipart:
curl --request POST \
--url https://<speech_server>/speakverify/rest/v2/verify \
--header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \
--form 'verify={
"repository_uri": "https://<repository>",
"min_verification_score": "0.5",
"min_verification_audio": "1000",
"id": "<voiceprint_id>"
}' \
--form audio=@<path-to-file>/audio1.wav
Exemplo de resposta:
{
"voiceprint": [
{
"id": "ed8faee6-b9d8-4181-b295-7b4015a2591c",
"verification": {
"score": 0.5886724591255188,
"decision": "ACCEPTED"
},
"error": null
}
],
"audio_info": [
{
"audio_duration": 3640,
"speech_duration": 3580,
"gender_scores": {},
"age_scores": {},
"emotion_scores": {}
}
],
"transaction_id": "bmt-verify-e676c82b-314c-44c1-8e3d-1923b00e1f01"
}