API de Detecção de Áudio Gerado por IA
Documentação completa para integrar a API de detecção de áudio IA da TruthScan em suas aplicações.
Teste a API sem código visitando nosso endpoint FastAPI: https://detect-audio.truthscan.com/docs
Autenticação
A TruthScan usa chaves de API para permitir o acesso à API. Você pode obter sua chave de API no topo da página em nosso portal de desenvolvedores.
A TruthScan espera que a chave de API seja incluída em todas as solicitações de API para o servidor no corpo da solicitação da seguinte forma:
{
  "key": "YOUR API KEY GOES HERE"
}Você deve substituir YOUR API KEY GOES HERE pela sua chave de API pessoal.
Detector de Áudio IA
Detectar
O fluxo de trabalho de detecção de áudio IA consiste nas seguintes etapas:
- Obter uma URL de upload pré-assinada
 - Fazer upload do áudio
 - Enviar o áudio para detecção
 
1. Obter uma URL de Upload Pré-assinada
Comece solicitando uma URL pré-assinada da API. Esta URL permite que você faça upload do arquivo de áudio para o servidor de armazenamento com segurança.
Formatos de Arquivo Suportados
MP3, WAV, M4A, FLAC, OGG
Nota Importante
É necessário remover espaços do nome do arquivo de áudio ao solicitar uma URL pré-assinada.
GET https://detect-audio.truthscan.com/get-presigned-url?file_name=example.mp3Exemplo de Solicitação
curl -X GET 'https://detect-audio.truthscan.com/get-presigned-url?file_name=example.mp3' \
--header 'apikey: YOUR API KEY GOES HERE'Exemplo de Resposta
{
  "status": "success",
  "presigned_url": "https://nyc3.digitaloceanspaces.com/ai-audio-detector-prod/uploads/581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_example.mp3...",
  "file_path": "https://ai-audio-detector-prod.nyc3.digitaloceanspaces.com/uploads/581d47c7-3ef4-42af-88d9-6dab6bf69389_20250901-090201_example.mp3"
}2. Fazer Upload do Áudio
Use a 'presigned_url' fornecida para fazer upload do seu áudio via uma solicitação PUT. Certifique-se de que o tipo de conteúdo correto está definido de acordo com o formato do seu áudio.
Nota Importante
É necessário remover espaços do nome do arquivo de áudio ao fazer upload do áudio.
Exemplo de Solicitação
curl -X PUT 'https://nyc3.digitaloceanspaces.com/ai-audio-detector-prod/uploads/581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_example.mp3...' \
  --header 'Content-Type: audio/<FILE_FORMAT - mp3, wav, m4a, flac, ogg>' \
  --header 'x-amz-acl: private' \
  --data-binary '@example.mp3' # AttachmentLimites de Tamanho de Arquivo
- Tamanho mínimo de arquivo: 1KB
 - Tamanho máximo de arquivo: 10MB
 
Certifique-se de que o formato do arquivo permaneça consistente durante o processo de upload. Um upload bem-sucedido retornará um código de status de 200.
3. Enviar Áudio para Detecção de IA
Após o upload, envie o áudio para detecção de IA referenciando o 'file_path' da etapa anterior.
POST https://detect-audio.truthscan.com/detectExemplo de Solicitação
curl -X 'POST' \
  'https://detect-audio.truthscan.com/detect' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "key": "YOUR-API-KEY-GOES-HERE",
  "url": "<FILE_PATH>",
  "document_type": "Audio",
  "analyzeUpToSeconds": 60
}'O 'FILE_PATH' refere-se ao caminho obtido da resposta na etapa inicial, 'Obter uma URL de Upload Pré-assinada'.
Parâmetros Opcionais
analyzeUpToSeconds: Analisar até N segundos do início (padrão: 60)document_type: Tipo de documento (padrão: 'Audio')email: Endereço de email opcional para processamento
Exemplo de Resposta
{
    "id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
    "status": "pending"
}A resposta inclui um ID único para rastrear o status da detecção.
Consultar Status e Resultados da Detecção
Para verificar o status e recuperar os resultados, use o endpoint /query com o ID.
POST https://detect-audio.truthscan.com/queryExemplo de Solicitação
curl -X 'POST' \
  'https://detect-audio.truthscan.com/query' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "ID-GOES-HERE"
}'Exemplo de Resposta
{
    "id": "00fee5ff-a55b-42fb-b7c7-d14f05ae0769",
    "status": "done",
    "result": 0.873,
    "result_details": {
        "is_valid": true,
        "message": "processed",
        "original_duration": 123.45,
        "is_truncated": true,
        "truncated_duration": 60.0,
        "mean_ai_prob": 0.873,
        "individual_chunks_ai_prob": [0.81, 0.90, 0.91]
    }
}Detalhes dos Resultados
is_valid: Indica se o arquivo de áudio é válido (true/false)message: Mensagem de processamentooriginal_duration: Duração em segundos do áudio originalis_truncated: Se o áudio foi truncado para análisetruncated_duration: Duração analisada se truncadomean_ai_prob: Pontuação geral de probabilidade de IAindividual_chunks_ai_prob: Pontuações de probabilidade de IA por chunk
O campo "status" será um dos seguintes: "pending" (processamento em fila), "analyzing" (detecção de IA em progresso), "done" (resultados disponíveis), ou "failed" (processamento falhou).
Verificar Créditos do Usuário
Este endpoint aceita o apikey do usuário via header. E retorna detalhes de créditos do usuário.
GET https://detect-audio.truthscan.com/check-user-creditsExemplo de Solicitação
curl -X 'GET' \
  'https://detect-audio.truthscan.com/check-user-credits' \
  -H 'apikey: YOUR API KEY GOES HERE' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json'Exemplo de Resposta
{
    "baseCredits": 10000,
    "boostCredits": 1000,
    "credits": 11000
}Verificação de Saúde
Verifique o status de saúde do servidor da API.
GET https://detect-audio.truthscan.com/healthExemplo de Solicitação
curl -X 'GET' \
  'https://detect-audio.truthscan.com/health' \
  -H 'accept: application/json'Exemplo de Resposta
{
    "status": "healthy"
}Erros
A maioria dos erros será de parâmetros incorretos sendo enviados para a API. Verifique novamente os parâmetros de cada chamada de API para garantir que esteja formatado corretamente e tente executar o código de exemplo fornecido.
Os códigos de erro genéricos que usamos estão em conformidade com o padrão REST:
| Código de Erro | Significado | 
|---|---|
| 400 | Bad Request -- Sua solicitação é inválida. | 
| 403 | Forbidden -- A chave de API é inválida ou não há créditos suficientes para processamento de áudio. | 
| 404 | Not Found -- O recurso especificado não existe. | 
| 405 | Method Not Allowed -- Você tentou acessar um recurso com um método inválido. | 
| 406 | Not Acceptable -- Você solicitou um formato que não é JSON. | 
| 410 | Gone -- O recurso neste endpoint foi removido. | 
| 422 | Invalid Request Body -- O corpo da sua solicitação está formatado incorretamente ou inválido ou tem parâmetros ausentes. | 
| 429 | Too Many Requests -- Você está enviando muitas solicitações! Diminua a velocidade! | 
| 500 | Internal Server Error -- Tivemos um problema com nosso servidor. Tente novamente mais tarde. | 
| 503 | Service Unavailable -- Estamos temporariamente offline para manutenção. Tente novamente mais tarde. | 
Problemas Comuns e Soluções
Problemas de Autenticação
"Verificação de usuário falhou" (403)
Causa: Chave de API inválida ou expirada
Solução:
- Verifique se sua chave de API está correta
 - Verifique se sua chave de API está ativa em sua conta
 - Tente regenerar sua chave de API
 
"Não há créditos suficientes" (403)
Causa: Créditos insuficientes para processamento de áudio
Solução:
- Verifique seus créditos restantes usando /check-user-credits
 - Compre créditos adicionais se necessário
 - Use analyzeUpToSeconds para analisar menos áudio e consumir menos créditos
 
Problemas de Validação de Entrada
"Formato de arquivo não suportado" (400)
Causa: Formato de áudio não suportado ou inválido enviado
Solução:
- Verifique se o formato do áudio é suportado (MP3, WAV, M4A, FLAC, OGG)
 - Certifique-se de que o arquivo não está corrompido
 - Verifique o Content-Type header ao fazer upload
 
"Arquivo muito grande" (400)
Causa: Tamanho do arquivo excede o limite de 10MB
Solução:
- Comprima ou converta o áudio para menos de 10MB
 - Verifique o tamanho do arquivo antes do upload
 - Use formatos mais eficientes como MP3 quando possível
 
Problemas de Processamento
"Processamento de áudio demorou muito tempo"
Causa: O processamento do áudio demorou muito tempo ou timeout ocorreu
Solução:
- Tente com um arquivo de áudio menor ou menos duração
 - Use analyzeUpToSeconds para analisar apenas os primeiros segundos
 - Verifique se o serviço está passando por alta carga
 - Tente novamente a solicitação após alguns minutos
 
Status "falhou" na resposta do /query
Causa: O processamento falhou por várias razões
Solução:
- Verifique se o áudio atende aos requisitos mínimos (1KB - 10MB)
 - Verifique se o áudio está em um formato suportado
 - Verifique se o upload foi concluído com sucesso antes de enviar para detecção
 - Entre em contato com o suporte se o problema persistir
 
Problemas de Upload
"Falha no upload do áudio" (403/400)
Causa: URL pré-assinada inválida ou expirada, ou problemas com o servidor de armazenamento
Solução:
- Certifique-se de usar a URL pré-assinada imediatamente após recebê-la (pode expirar)
 - Verifique se o Content-Type header está correto para o formato do áudio
 - Remova espaços do nome do arquivo antes do upload
 - Tente gerar uma nova URL pré-assinada se a atual expirou
 
"URL pré-assinada inválida" (400)
Causa: Nome de arquivo com espaços ou URL pré-assinada expirada/corrompida
Solução:
- Remova todos os espaços do nome do arquivo antes de solicitar a URL pré-assinada
 - Use apenas caracteres alfanuméricos, hífens e underscores no nome do arquivo
 - Gere uma nova URL pré-assinada se necessário
 
Precisa de Ajuda?
Para mais informações sobre como usar nossa API ou para suporte técnico, entre em contato conosco.
Perguntas Frequentes sobre a API
Encontre respostas para as perguntas mais comuns sobre nossa API de detecção de áudio IA.