Transcrição JSON — exemplo e formato aceito
Página do campo "transcrição JSON" do Playground. Explica o exemplo (demo) que já vem carregado no campo e quais campos o seu JSON precisa ter para alimentar o diagnóstico e a auditoria de risco.
Como usar (arrastar ou editar)
- O campo já vem com um exemplo real (demo) — dá para rodar diagnóstico e auditoria sem montar nada.
- Arraste um arquivo .json para o campo ou clique para escolher; como alternativa, edite o texto no próprio campo.
- O campo aceita apenas JSON válido — texto puro ou JSON inválido mostra erro.
- O mesmo JSON alimenta o diagnóstico e a auditoria de risco; a auditoria exige dialog diarizado (com falantes e tempos).
Clique no chip da transcrição JSON para abrir o painel completo: nele ficam os detalhes deste conteúdo (os campos que você pode editar e enviar). Cada tipo de arquivo tem os seus próprios detalhes — explore para aprender e aproveitar tudo.
Campos de topo
modelstringnãoVaria por endpoint e é SUBSTITUÍDO automaticamente: diagnóstico = falaai-diagnostic-1; auditoria = falaai-risk-audit-1. Pode deixar "" (vazio) no JSON — o valor correto entra no request de cada endpoint. Outro valor retorna 400 invalid_model.
textstringnãoSÓ diagnóstico. Transcrição CORRIDA (sem diarização); fallback quando não há dialog. Na auditoria o campo NÃO é aceito (retorna 422) — a auditoria exige dialog diarizado. Máx 300.000 chars.
dialogstringnão/SIMTranscrição DIARIZADA por turno. Diagnóstico: opcional (alternativo ao text). Auditoria: OBRIGATÓRIA (só aceita diarizado). Rótulos aceitos: Speaker/Interlocutor/Hablante/Locutor/Orador N. Máx 300.000 chars. Ex.: "Speaker 1: [00:00:00.540 - 00:00:01.139] Bom dia."
audio_eventsarraynãoEventos de áudio com timestamp (ver subcampos abaixo). Recomendado quando usa dialog.
languagestringSIMIdioma da ENTRADA (áudio/transcrição). Diagnóstico: 20 idiomas; auditoria: só pt-BR/en-US/es-ES. Vazio/fora retorna 400 invalid_language. Ex.: "pt-BR".
response_languagestringnão/SIMIdioma da SAÍDA (rótulos/categorias/níveis). Diagnóstico: opcional (se omitido usa language), 20 idiomas; auditoria: OBRIGATÓRIO, só 3. Ex.: "en-US".
duration_secondsnumbernão/SIMDuração total em segundos (>= 1.0). No diagnóstico com SÓ text é OPCIONAL e NÃO é usada; com dialog é obrigatória e deve ser >= o fim do último turno. Na auditoria é OBRIGATÓRIA. Ex.: 151.0.
client_reference_idstringnãoID livre ecoado verbatim na resposta (não é idempotência). Charset [A-Za-z0-9 _/:.-], máx 60. Ex.: "call20260830001".
call_direction'inbound' | 'outbound'nãoSÓ auditoria. inbound = cliente ligou; outbound = empresa ligou. Omitido: a IA infere. Ex.: "inbound".
participantsarraynãoSÓ auditoria (ver subcampos abaixo). Se enviado, é verdade absoluta (sem inferência).
response_format'v2'nãoSÓ auditoria. v2 = blocos estruturados EN-US (único valor aceito). Ex.: "v2".
audio_events[] — subcampos
eventstringSIMTipo do evento em colchetes; não pode ser vazio. Ex.: "[suspiro]", "[som de tosse]".
start_snumber | nullnãoInício em segundos. Use null (nunca ""). Ex.: 72.98.
end_snumber | nullnãoFim em segundos; deve ser >= start_s e <= duration_seconds. Ex.: 74.34.
duration_snumber | nullnãoDuração em segundos. Ex.: 1.36.
formatted_timestampstring | nullnãoHH:MM:SS.ms; a API RECALCULA a partir de start_s. Ex.: "00:01:12.980".
participants[] — subcampos (só auditoria)
interlocutorstringSIMIgual ao rótulo EXATO usado no dialog. Ex.: "Speaker 1".
namestring | nullnãoNome do participante (humaniza o relatório). Ex.: "Antonio".
role'agent' | 'client' | 'bot' | nullnão/SIMPapel do participante. Ex.: "client". No diagnóstico é OPCIONAL: se ausente/null, a API identifica o papel automaticamente; na auditoria é OBRIGATÓRIO.
Idiomas aceitos
language = idioma da ENTRADA (áudio/transcrição). response_language = idioma da SAÍDA (rótulos, categorias, níveis, ações). O relatório HTML sai apenas em português, inglês e espanhol.
- Diagnóstico —
language: os 21 códigos abaixo;response_language: os mesmos 21 (opcional). - Auditoria de risco —
languageeresponse_language: apenas pt-BR, en-US, es-ES.
en-USInglês (EUA)en-GBInglês (Reino Unido)es-ESEspanhol (Espanha)es-MXEspanhol (México)pt-BRPortuguês (Brasil)pt-PTPortuguês (Portugal)fr-FRFrancêsde-DEAlemãoit-ITItalianozh-CNChinês (simplificado)ja-JPJaponêsko-KRCoreanoar-SAÁrabehi-INHindiru-RURussoid-IDIndonésiotr-TRTurconl-NLHolandêspl-PLPolonêsvi-VNVietnamitath-THTailandêsFormas curtas (pt, en, es, fr, de, it, ja, ko, nl, pl, ru, tr, zh, vi, id, th, ar, hi) também são aceitas e normalizadas para o código completo.
Regras
- Diagnóstico: pelo menos um de
dialogoutext. Auditoria:dialogdiarizado OBRIGATÓRIO (o campotextNÃO é aceito). - extra="forbid": no diagnóstico NÃO envie
call_direction,participantsnemresponse_format(retorna 422). - Números: nunca use
""— use number ounull;duration_seconds(quando enviado) sempre number >= 1; comdialogdeve ser >= o fim do último turno. end_sdeve ser >=start_se <=duration_seconds.formatted_timestampé recalculado pela API a partir destart_s.- Charset de
client_reference_id:[A-Za-z0-9 _/:.-], máx 60.