Documentação da API

API de Detecção de Imagem Gerada por IA

Documentação completa para integrar a API de detecção de imagem IA da TruthScan em suas aplicações.

Teste a API sem código visitando nosso endpoint FastAPI: https://detect-image.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 Imagem IA

Detectar

O fluxo de trabalho de detecção de imagem IA consiste nas seguintes etapas:

  • Obter uma URL de upload pré-assinada
  • Fazer upload da imagem
  • Enviar a imagem 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 imagem para o servidor de armazenamento com segurança.

Formatos de Arquivo Suportados

JPG, JPEG, PNG, WebP, JFIF, HEIC, HEIF, AVIF, BMP, TIFF, TIF

Nota Importante

É necessário remover espaços do nome do arquivo da imagem ao solicitar uma URL pré-assinada.

GET https://detect-image.truthscan.com/get-presigned-url?file_name=example.jpg

Exemplo de Solicitação

curl -X GET 'https://detect-image.truthscan.com/get-presigned-url?file_name=example.jpg' \
--header 'apikey: YOUR API KEY GOES HERE'

Exemplo de Resposta

{
  "status": "success",
  "presigned_url": "https://nyc3.digitaloceanspaces.com/ai-image-detector-prod/uploads/581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_example.jpg?...",
  "file_path": "uploads/example.jpg"
}

2. Fazer Upload da Imagem

Use a 'presigned_url' fornecida para fazer upload da sua imagem via uma solicitação PUT. Certifique-se de que o tipo de conteúdo correto está definido de acordo com o formato da sua imagem.

Nota Importante

É necessário remover espaços do nome do arquivo da imagem ao fazer upload da imagem.

Exemplo de Solicitação

curl -X PUT 'https://nyc3.digitaloceanspaces.com/ai-image-detector-prod/uploads/581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_example.jpg?...' \
  --header 'Content-Type: image/<FILE_FORMAT - jpeg, jpg, png, webp, heic, heif, avif, bmp, tiff, tif>' \
  --header 'x-amz-acl: private' \
  --data-binary '@example.jpg' # Attachment

Limites 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 Imagem para Detecção de IA

Após o upload, envie a imagem para detecção de IA referenciando o 'file_path' da etapa anterior.

POST https://detect-image.truthscan.com/detect

Exemplo de Solicitação

curl -X 'POST' \
  'https://detect-image.truthscan.com/detect' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "key": "YOUR-API-KEY-GOES-HERE",
  "url": "https://ai-image-detector-prod.nyc3.digitaloceanspaces.com/<FILE_PATH>",
  "generate_preview": false
}'

O 'FILE_PATH' refere-se ao caminho obtido da resposta na etapa inicial, 'Obter uma URL de Upload Pré-assinada'.

Parâmetros Opcionais

  • generate_preview: Defina como 'true' para gerar uma URL de preview da imagem (padrão: 'false')
  • document_type: Tipo de documento (padrão: 'Image')
  • email: Endereço de email para processamento

Exemplo de Resposta

{
    "id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
    "status": "pending"
}

A resposta inclui um ID único de imagem para rastrear o status da detecção.

Consultar

Este endpoint aceita um ID de imagem retornado pela solicitação /detect. E retorna o status do envio da imagem, bem como o resultado completo da operação de detecção de IA, incluindo metadados, OCR e análise do modelo ML.

POST https://detect-image.truthscan.com/query

Exemplo de Solicitação

curl -X 'POST' \
  'https://detect-image.truthscan.com/query' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "IMAGE-ID-GOES-HERE"
}'

Exemplo de Resposta

{
    "id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
    "status": "done",
    "result": 85.5,
    "final_result": "AI Generated",
    "confidence": "high",
    "detection_step": 3,
    "metadata": {
        "width": 1920,
        "height": 1080,
        "format": "JPEG",
        "size": 2456789
    },
    "ocr": {
        "text": "Extracted text from image...",
        "confidence": 0.92
    },
    "preview_url": "https://ai-image-detector-prod.nyc3.digitaloceanspaces.com/previews/..."
}

Interpretação dos Resultados

  • result: Pontuação de 1-100 indicando a probabilidade de a imagem ser gerada por IA. Pontuações mais altas = maior probabilidade de IA.
  • final_result: 'AI Generated' ou 'Not AI Generated' - determinação clara
  • confidence: 'high', 'medium' ou 'low' - nível de confiança na detecção
  • detection_step: 1 = apenas metadados, 2 = metadados + OCR, 3 = completo (metadados + OCR + ML)
  • preview_url: URL de preview da imagem (apenas se generate_preview=true foi usado)

Aqui, "result": 85.5 indica uma alta probabilidade de a imagem ter sido gerada por IA. O "final_result": "AI Generated" fornece uma determinação clara, e o "confidence": "high" indica alta confiança neste resultado. O campo "detection_step": 3 indica que a análise completa (metadados, OCR e modelo ML) foi concluída.

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-image.truthscan.com/check-user-credits

Exemplo de Solicitação

curl -X 'GET' \
  'https://detect-image.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

Este endpoint permite verificar o status do serviço de detecção de imagem IA.

GET https://detect-image.truthscan.com/health

Exemplo de Solicitação

curl -X 'GET' \
  'https://detect-image.truthscan.com/health' \
  -H 'accept: application/json'

Exemplo de Resposta

{
    "status": "healthy",
    "timestamp": "2024-01-15T10:30:00Z"
}

A resposta "healthy" indica que o serviço está funcionando normalmente.

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 imagem.
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 imagem

Solução:

  1. Verifique seus créditos restantes usando /check-user-credits
  2. Compre créditos adicionais se necessário
  3. Otimize o tamanho das imagens antes do upload para consumir menos créditos

Problemas de Validação de Entrada

"Formato de arquivo não suportado" (400)

Causa: Formato de imagem não suportado ou inválido enviado

Solução:

  1. Verifique se o formato da imagem é suportado (JPG, JPEG, PNG, WebP, JFIF, HEIC, HEIF, AVIF, BMP, TIFF, TIF)
  2. Certifique-se de que o arquivo não está corrompido
  3. Verifique o Content-Type header ao fazer upload

"Arquivo muito grande" (400)

Causa: Tamanho do arquivo excede o limite de 10MB

Solução:

  1. Redimensione ou comprima a imagem para menos de 10MB
  2. Verifique o tamanho do arquivo antes do upload
  3. Use formatos mais eficientes como WebP quando possível

Problemas de Processamento

"Tempo limite da solicitação" (WebSocket)

Causa: O processamento da imagem demorou muito tempo

Solução:

  1. Tente com uma imagem menor ou menos complexa
  2. Verifique se o serviço está passando por alta carga
  3. Tente novamente a solicitação

Status do Documento "falhou"

Causa: O processamento falhou por várias razões

Solução:

  1. Verifique se a imagem atende aos requisitos mínimos (1KB - 10MB)
  2. Verifique se a imagem está em um formato suportado
  3. Verifique se o upload foi concluído com sucesso antes de enviar para detecção
  4. Entre em contato com o suporte se o problema persistir

Problemas de Upload

"Falha no upload da imagem" (403/400)

Causa: URL pré-assinada inválida ou expirada, ou problemas com o servidor de armazenamento

Solução:

  1. Certifique-se de usar a URL pré-assinada imediatamente após recebê-la (pode expirar)
  2. Verifique se o Content-Type header está correto para o formato da imagem
  3. Remova espaços do nome do arquivo antes do upload
  4. 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:

  1. Remova todos os espaços do nome do arquivo antes de solicitar a URL pré-assinada
  2. Use apenas caracteres alfanuméricos, hífens e underscores no nome do arquivo
  3. 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 imagem 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.