API Voice-Processor
RESTGuia de integração com a API REST da LeoRad para processamento de voz, transcrição de áudio, revisão de laudos e OCR de imagens.
https://voice-processor.leorad.com.br#Visão Geral
A API Voice-Processor integra-se à plataforma LeoRad, uma solução especializada em análise, processamento e interação com laudos radiológicos. Desenvolvida com assistentes de inteligência artificial treinados para o domínio da radiologia, a plataforma permite que o radiologista foque na análise das imagens, otimizando o tempo de documentação e aumentando a eficiência do fluxo de trabalho.
A API segue o padrão REST, utiliza autenticação baseada em tokens e é ideal para integração com sistemas web que precisam de processamento de voz, transcrição, revisão de laudos ou extração de texto por OCR.
Métodos disponíveis
https://voice-processor.leorad.com.br. A autenticação é obrigatória em todas as requisições.#Autenticação
A plataforma LeoRad utiliza dois tipos de tokens para diferentes cenários de integração. Entender a distinção entre eles é essencial para utilizar a API corretamente.
#Token de Login
O Token de Login é exclusivo para cada usuário da plataforma LeoRad. Ele é utilizado para autenticar o acesso à aplicação web e para obter o Token de API nas integrações REST.
Como obter seu Token de Login
- 1Crie sua conta: Acesse app.leorad.com.br e crie sua conta caso ainda não possua uma.
- 2Acesse seu Perfil: Após fazer login, clique no ícone de engrenagem no menu lateral para acessar as configurações do seu perfil.
- 3Gere o Token: Dentro do Perfil, selecione a opção "Token" e clique em "Gerar Token". O token será exibido e estará pronto para uso.
Acesso direto à aplicação web
O Token de Login pode ser utilizado para abrir a aplicação LeoRad diretamente, incorporando-o na URL de acesso:
https://app.leorad.com.br/<SEU_TOKEN_DE_LOGIN>#Token de API
Para utilizar a API Voice-Processor, é necessário obter um Token de API (JWT). Esse token é gerado a partir do seu Token de Login e deve ser incluído no cabeçalho de todas as requisições à API.
Obtendo o Token de API
Faça uma requisição POST para o endpoint abaixo, substituindo <SEU_TOKEN_DE_LOGIN> pelo token obtido na seção anterior:
curl -X POST \
"https://api-app.leorad.com.br/legacy-api/public/token-login/<SEU_TOKEN_DE_LOGIN>"Exemplo de resposta
{
"apiToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}Utilizando o Token de API
O apiToken retornado deve ser incluído no cabeçalho Authorization de todas as requisições à API Voice-Processor, precedido da palavra Bearer:
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...401 Unauthorized, solicite um novo token repetindo o fluxo de autenticação.#Métodos da API
Todos os endpoints abaixo utilizam a URL base https://voice-processor.leorad.com.br e exigem autenticação via Token de API no cabeçalho Authorization.
multipart/form-data quando incluírem arquivos binários, ou como application/json para parâmetros de texto.#POST /ai/assistant
Recebe parâmetros como prompt, agente e conteúdo do editor para gerar um laudo radiológico completo. A resposta é transmitida via streaming, permitindo exibição progressiva do conteúdo em tempo real. Ideal para relatórios completos.
| Parâmetro | Tipo | Requerido | Descrição |
|---|---|---|---|
| user | string | Sim | E-mail do usuário utilizado para identificação no sistema. Não pode estar vazio. |
| agent | string | Não | Agente de IA a ser utilizado. Quando omitido, o agente padrão da conta é aplicado. generalAnálise completa para todas as modalidades radiológicasfastAgentAnálise radiológica rápida para todas as modalidadesfastTurboAnálise radiológica ultra rápida para todas as modalidadesdirectAgentRaciocínio avançado com capacidade de análise de imagensdirectAgent2v2 · betaRaciocínio avançado com capacidade de análise de imagensendoscopyEspecialista em diagnóstico endoscópicodensitometryAnálise especializada em densidade ósseaultrassomEspecialista em laudos ultrassonográficosanamneseEspecialista em histórico clínico e consulta médicapathologyEspecialista em diagnóstico patológicoradiographyEspecialista em diagnóstico radiográfico |
| editorContent | string | Não | Conteúdo HTML do editor (modelo/máscara). Serve como estrutura base para o laudo gerado. |
| orderContent | string | Não | Conteúdo de ordem específica a ser utilizado. Pode estar relacionado ao conteúdo do editor ou ser independente. |
| promptAssistant | string | Não | Prompt específico para guiar a transcrição e geração do laudo. |
| language | string | Não | Idioma para geração do relatório. Exemplos: pt-BR, en, es. |
| languageSpeech | string | Não | Idioma para reconhecimento de voz no arquivo de áudio. Exemplos: pt-BR, en, es. |
| modelSpeech | string | Não | Versão do modelo de IA para processamento de voz. Valores aceitos: v1, v2, v3. |
| termsSpeech | string | Não | Termos frequentes na fala do usuário, usados para melhorar a precisão do reconhecimento de voz. |
| files | binary | Não | Arquivo de áudio a ser processado. Formatos suportados: flac, m4a, mp3, mp4, mpeg, mpga, oga, ogg, wav, webm. Formatos compactados resultam em menor tempo de processamento. |
mp3 ou ogg para reduzir o tempo de processamento e os custos da requisição.Exemplo de requisição (JavaScript)
const formData = new FormData();
formData.append('user', 'usuario@email.com');
formData.append('agent', 'general');
formData.append('language', 'pt-BR');
formData.append('languageSpeech', 'pt-BR');
formData.append('files', audioBlob, 'audio.mp3');
const response = await fetch('https://voice-processor.leorad.com.br/ai/assistant', {
method: 'POST',
headers: {
'Authorization': 'Bearer <SEU_TOKEN_DE_API>',
},
body: formData,
});
// Processar streaming
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const chunk = decoder.decode(value);
console.log('Trecho do laudo:', chunk);
}#POST /ai/speech
Recebe um arquivo de áudio e realiza a transcrição do conteúdo falado em texto. Útil para capturar ditados do radiologista e converter em texto antes de processamento adicional.
| Parâmetro | Tipo | Requerido | Descrição |
|---|---|---|---|
| user | string | Sim | E-mail do usuário utilizado para identificação no sistema. Não pode estar vazio. |
| files | binary | Sim | Arquivo de áudio a ser transcrito. Formatos suportados: flac, m4a, mp3, mp4, mpeg, mpga, oga, ogg, wav, webm. |
| languageSpeech | string | Não | Idioma para reconhecimento de voz. Exemplos: pt-BR, en, es. |
| prompt | string | Não | Prompt adicional para auxiliar o modelo de IA na transcrição. |
Exemplo de requisição (JavaScript)
const formData = new FormData();
formData.append('user', 'usuario@email.com');
formData.append('languageSpeech', 'pt-BR');
formData.append('files', audioBlob, 'audio.mp3');
const response = await fetch('https://voice-processor.leorad.com.br/ai/speech', {
method: 'POST',
headers: {
'Authorization': 'Bearer <SEU_TOKEN_DE_API>',
},
body: formData,
});
const result = await response.json();
console.log('Transcrição:', result);#POST /ai/review
Recebe o conteúdo textual de um laudo e realiza uma revisão anotada, incluindo comentários explicativos sobre o conteúdo. Ideal para validação e controle de qualidade de laudos existentes.
| Parâmetro | Tipo | Requerido | Descrição |
|---|---|---|---|
| user | string | Sim | E-mail do usuário utilizado para identificação no sistema. Não pode estar vazio. |
| editorContent | string | Não | Conteúdo textual ou HTML do laudo a ser revisado. |
| language | string | Não | Idioma para geração dos comentários da revisão. Exemplos: pt-BR, en, es. |
Exemplo de requisição (JavaScript)
const response = await fetch('https://voice-processor.leorad.com.br/ai/review', {
method: 'POST',
headers: {
'Authorization': 'Bearer <SEU_TOKEN_DE_API>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
user: 'usuario@email.com',
language: 'pt-BR',
editorContent: '<p>Fígado de dimensões normais, com contornos regulares...</p>',
}),
});
const result = await response.json();
console.log('Revisão:', result);#POST /ai/scan
Recebe uma imagem, áudio ou documento como entrada e extrai o texto contido nele por meio de OCR (Optical Character Recognition) com IA. Indicado para digitalização de laudos físicos ou documentos escaneados.
| Parâmetro | Tipo | Requerido | Descrição |
|---|---|---|---|
| user | string | Sim | E-mail do usuário utilizado para identificação no sistema. Não pode estar vazio. |
| agent | string | Não | Versão do agente de OCR a ser utilizado. Valores aceitos: V1, V2. |
| file | binary | Não | Imagem, áudio ou documento de texto (PDF) a ser processado. Certifique-se de utilizar formatos aceitos pelo serviço. |
Exemplo de requisição (JavaScript)
const formData = new FormData();
formData.append('user', 'usuario@email.com');
formData.append('agent', 'V2');
formData.append('file', imageFile, 'laudo.jpg');
const response = await fetch('https://voice-processor.leorad.com.br/ai/scan', {
method: 'POST',
headers: {
'Authorization': 'Bearer <SEU_TOKEN_DE_API>',
},
body: formData,
});
const result = await response.json();
console.log('Texto extraído:', result);V2 oferece maior precisão para documentos médicos e laudos radiológicos em comparação ao V1.#Suporte
Em caso de dúvidas, sugestões ou problemas técnicos relacionados à integração com a API Voice-Processor, nossa equipe de suporte está disponível para ajudar.
Entre em contato
Nossa equipe de suporte técnico está disponível para auxiliar na integração, esclarecer dúvidas sobre os endpoints ou resolver qualquer problema encontrado durante o desenvolvimento.
contato@leorad.com.br