Quem falou o quê?
Esta tarefa analisa a gravação e separa os falantes: cada trecho de fala é atribuído a uma voz distinta, na ordem em que as pessoas aparecem. Numa reunião com quatro participantes, você recebe o mapa de quem falou o quê — a base para atas, entrevistas e transcrições organizadas.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
O problema da gravação com várias vozes
Transcrever uma conversa sem separar as vozes gera uma parede de texto onde ninguém sabe quem disse o quê — inútil para ata, entrevista ou análise de atendimento. A diarização resolve isso identificando as trocas de falante: o resultado marca cada segmento com um rótulo de voz (Falante 1, Falante 2…) e o tempo em que a fala acontece. Depois é só substituir os rótulos pelos nomes reais, uma vez só.
Está em beta — o que isso significa aqui
A separação de falantes funciona e já é usada em produção, mas está marcada como beta: em gravações com vozes muito parecidas, falas sobrepostas ou captação de longe, o sistema pode confundir trechos. Sendo direto: quanto melhor a captação e mais distintas as vozes, melhor o resultado. Grave com o celular perto dos participantes — ou um canal por pessoa, se for chamada online — e a precisão sobe muito.
Como usar e quanto custa
Envie o arquivo pela API (MP3, M4A, WAV ou OGG; até 200 MB e 180 minutos) e receba os segmentos rotulados por falante. O preço é US$ 0,002 por chamada mais US$ 0,0055 por minuto: uma reunião de 45 minutos custa cerca de US$ 0,25, em dólares americanos, pagos por uso. Combine com a transcrição para ter o texto completo já dividido por voz.
Casos de uso
Ata que registra quem se comprometeu com o quê
Na reunião mensal da Distribuidora Horizonte Verde, a diarização separa as falas do comercial, da logística e da diretoria — e a ata sai com cada decisão atribuída à pessoa certa.
Entrevista jornalística com múltiplas fontes
Numa mesa-redonda gravada com três convidados, a repórter recebe o material já dividido por voz e cita cada fonte com segurança na matéria.
Análise de atendimento por telefone
Um e-commerce de Recife separa a voz do atendente da voz do cliente para medir tempo de fala e revisar como a equipe conduz as ligações.
Perguntas frequentes
Quantos falantes ele consegue separar?
Funciona bem com conversas típicas de reunião e entrevista — poucas pessoas, bem captadas. Quanto mais vozes simultâneas e parecidas, maior a chance de confusão em alguns trechos.
Ele diz o nome de quem fala?
Não — os falantes vêm rotulados como vozes numeradas. Os nomes você atribui depois, num achar-e-substituir: a voz que abre a reunião costuma ser fácil de reconhecer.
O que acontece quando duas pessoas falam ao mesmo tempo?
Sobreposição é o caso mais difícil para qualquer diarização, e um dos motivos do selo beta: o trecho pode sair atribuído a um falante só. Em gravações com boa disciplina de fala, o efeito é pequeno.
Vem junto com a transcrição?
Esta tarefa entrega a separação de falantes com os tempos de cada fala. Para o texto completo dividido por voz, use junto com a tarefa de transcrição — as duas se combinam pelos tempos.
Quanto custa numa reunião semanal de 1 hora?
Cada uma sai por US$ 0,33 mais US$ 0,002 de chamada; um mês com quatro reuniões fica em torno de US$ 1,35, cobrado em dólares americanos e só quando você usa.
Gravação de reunião e LGPD: posso processar?
Grave com conhecimento dos participantes — boa prática (e exigência em muitos contextos) independente da ferramenta. No processamento, o arquivo serve para gerar o resultado da tarefa; para dúvidas de conformidade, fale com [email protected].
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/audio/diarize \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/audio/diarize", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/diarize",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/diarize", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/diarize", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"audio": "https://ejemplo.com/audio.mp3"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.diarize",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 200 |
max_minutes | 180 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |