API de Detecção de Vídeo Gerado por IA
Documentação completa para integrar a API de detecção de vídeo IA da TruthScan em suas aplicações.
Teste a API sem código visitando nosso endpoint FastAPI: https://detect-video.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 Vídeo IA
Detectar
O fluxo de trabalho de detecção de vídeo IA consiste nas seguintes etapas:
- Enviar o vídeo para detecção (multipart upload)
- Consultar o trabalho para recuperar resultados
1. Enviar o Vídeo para Detecção
Faça upload de um arquivo de vídeo diretamente para a API. O servidor validará o arquivo.
Formatos de Arquivo Suportados
MP4, MOV, AVI, MKV, WEBM
Limites de Tamanho de Arquivo
- Tamanho mínimo de arquivo: 1KB
- Tamanho máximo de arquivo: 10MB
POST https://detect-video.truthscan.com/detect-fileExemplo de Solicitação
curl -X POST \
'https://detect-video.truthscan.com/detect-file' \
-H 'accept: application/json' \
-H 'key: YOUR-API-KEY-GOES-HERE' \
-F 'file=@/path/to/video.mp4;type=video/mp4'Parâmetros Opcionais
document_type: Tipo de documento (padrão: 'Video')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 de vídeo para rastrear o status da detecção.
2. Consultar Status e Resultados da Detecção
Após enviar, consulte o endpoint /query com o ID do trabalho para recuperar status e resultados.
POST https://detect-video.truthscan.com/queryExemplo de Solicitação
curl -X POST 'https://detect-video.truthscan.com/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"id":"JOB-ID-GOES-HERE"}'Exemplo de Resposta
{
"id": "bfd136fc-666b-42d0-89cf-0e9690c98f21",
"status": "done",
"result": 0.101969311406719,
"result_details": {
"final_stage": "watermark",
"metadata": {
"status": "ok",
"prediction": "no_detection",
"confidence": 0.0
},
"watermark": {
"prediction": "ai_generated (watermark)",
"confidence": 1.0
},
"ml": {
"aggregate": {
"prob_fake": 0.1019693114067195,
"label": "cancelled",
"n_frames": 256,
"latency_sec": 23.319
}
},
"latency_sec": 24.017
},
"preview_url": null
}Detalhes dos Resultados
status: "pending", "analyzing", "done", ou "failed"result: Pontuação escalar em [0.0, 1.0] derivada de ML prob_fakefinal_stage: Último estágio que contribuiu para o resultado: 'metadata', 'watermark' ou 'ml'metadata: Sempre define prediction: 'no_detection' e confidence: 0.0. Status pode ser 'reject', 'reencode' ou 'ok'watermark: Heurística que amostra frames e calcula confiança pseudo a partir da variância de pixelsml: Classificador baseado em ConvNeXt executado em frames amostrados. Retorna prob_fake em [0.0, 1.0] e label ('ai_generated' se prob_fake ≥ 0.5, senão 'no_detection')latency_sec: Tempo total do pipeline
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-video.truthscan.com/check-user-creditsExemplo de Solicitação
curl -X 'GET' \
'https://detect-video.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-video.truthscan.com/healthExemplo de Solicitação
curl -X 'GET' \
'https://detect-video.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 vídeo (0.1 por palavra). |
| 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 vídeo
Solução:
- Verifique seus créditos restantes usando /check-user-credits
- Compre créditos adicionais se necessário
Problemas de Validação de Entrada
"Tipo de vídeo não suportado" (400)
Causa: Formato de vídeo não suportado
Solução:
- Converta o vídeo para um formato suportado (MP4, MOV, AVI, MKV, WEBM)
- Certifique-se de que a extensão do arquivo e o tipo MIME estão corretos
"Tamanho do arquivo excede o limite" (400)
Causa: Arquivo de vídeo muito grande
Solução:
- Comprima, corte ou re-codifique o vídeo para reduzir o tamanho (máximo 10MB)
- Use um codec/container mais eficiente
"Tamanho do arquivo é muito pequeno" (400)
Causa: Arquivo de vídeo está abaixo do requisito de tamanho mínimo
Solução:
- Use um arquivo de vídeo maior (mínimo 1KB)
- Verifique se o arquivo foi corrompido durante o upload
"Tipo de arquivo inválido" (400)
Causa: Validação do tipo de arquivo falhou (por exemplo, tipo MIME incorreto ou arquivo corrompido)
Solução:
- Certifique-se de que o arquivo é um formato de vídeo válido
- Verifique se o tipo MIME corresponde à extensão do arquivo
- Re-exporte ou re-codifique o arquivo se necessário
Problemas de Processamento
Status "falhou" do vídeo
Causa: Processamento falhou (por exemplo, container ilegível, erros de decodificação)
Solução:
- Certifique-se de que o container/codec é comumente suportado (H.264/AAC em MP4 recomendado)
- Re-codifique o vídeo usando um preset padrão (por exemplo, ffmpeg) e re-envie
- Certifique-se de que o arquivo atende aos requisitos de tamanho e formato
- Entre em contato com o suporte se o problema persistir
"Usuário não encontrado"
Causa: ID de usuário inválido
Solução:
- Verifique se sua chave de API está correta e vinculada a uma conta ativa
- Certifique-se de que o usuário de integração é válido e ativo
- Re-autentique se necessário
"Metadados do arquivo não puderam ser obtidos" (500)
Causa: Incapaz de acessar ou analisar o arquivo enviado
Solução:
- Verifique se o upload foi concluído com sucesso
- Verifique se o arquivo está acessível e não está corrompido
- Tente re-enviar o arquivo
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 vídeo IA.