Documentação da API

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-file

Exemplo 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/query

Exemplo 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_fake
  • final_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 pixels
  • ml: 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-credits

Exemplo 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/health

Exemplo 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 ErroSignificado
400Bad Request -- Sua solicitação é inválida.
403Forbidden -- A chave de API é inválida ou não há créditos suficientes para processamento de vídeo (0.1 por palavra).
404Not Found -- O recurso especificado não existe.
405Method Not Allowed -- Você tentou acessar um recurso com um método inválido.
406Not Acceptable -- Você solicitou um formato que não é JSON.
410Gone -- O recurso neste endpoint foi removido.
422Invalid Request Body -- O corpo da sua solicitação está formatado incorretamente ou inválido ou tem parâmetros ausentes.
429Too Many Requests -- Você está enviando muitas solicitações! Diminua a velocidade!
500Internal Server Error -- Tivemos um problema com nosso servidor. Tente novamente mais tarde.
503Service 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:

  1. Verifique se sua chave de API está correta
  2. Verifique se sua chave de API está ativa em sua conta
  3. Tente regenerar sua chave de API

"Não há créditos suficientes" (403)

Causa: Créditos insuficientes para processamento de vídeo

Solução:

  1. Verifique seus créditos restantes usando /check-user-credits
  2. 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:

  1. Converta o vídeo para um formato suportado (MP4, MOV, AVI, MKV, WEBM)
  2. 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:

  1. Comprima, corte ou re-codifique o vídeo para reduzir o tamanho (máximo 10MB)
  2. 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:

  1. Use um arquivo de vídeo maior (mínimo 1KB)
  2. 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:

  1. Certifique-se de que o arquivo é um formato de vídeo válido
  2. Verifique se o tipo MIME corresponde à extensão do arquivo
  3. 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:

  1. Certifique-se de que o container/codec é comumente suportado (H.264/AAC em MP4 recomendado)
  2. Re-codifique o vídeo usando um preset padrão (por exemplo, ffmpeg) e re-envie
  3. Certifique-se de que o arquivo atende aos requisitos de tamanho e formato
  4. Entre em contato com o suporte se o problema persistir

"Usuário não encontrado"

Causa: ID de usuário inválido

Solução:

  1. Verifique se sua chave de API está correta e vinculada a uma conta ativa
  2. Certifique-se de que o usuário de integração é válido e ativo
  3. 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:

  1. Verifique se o upload foi concluído com sucesso
  2. Verifique se o arquivo está acessível e não está corrompido
  3. 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.

Você pode obter sua chave de API visitando sua conta no portal de desenvolvedores da TruthScan. A chave de API está disponível no topo da página da sua conta.