Pular para o conteúdo principal
A API de Detecção de Fraude usa IA forense para detectar documentos e imagens manipulados, alterados e gerados por IA em tempo real.

Modelos disponíveis

ModeloCaso de usoTipos de arquivo compatíveis
documentDetecta documentos e IDs gerados por IA ou alterados (extratos bancários, faturas, passaportes, carteiras de motorista)jpg, jpeg, png, webp, pdf
objectDetecta imagens geradas por IA ou manipuladas (fotos, evidências de sinistro, comprovantes)jpg, jpeg, png, webp
Recupere programaticamente a lista completa de modelos:
curl https://api.deepxl.ai/v1/detection-models \
  -H "x-api-key: YOUR_API_KEY"

Tipos de documento compatíveis

O modelo document classifica os arquivos enviados em 71 tipos por meio da verificação DOCUMENT_CLASSIFIER, organizados em 8 categorias:

Identidade (11 tipos)

TipoDescrição
driver_licenseCarteira de motorista
national_idDocumento de identidade nacional
municipal_idIdentificação municipal / local
passportPassaporte
passport_cardCartão de passaporte (tamanho carteira)
residence_cardCartão de autorização de residência
work_authorizationAutorização / permissão de trabalho
military_idIdentificação militar
professional_idLicença / identificação profissional
voter_registration_cardTítulo de eleitor
social_security_cardCartão do Seguro Social

Financeiros (19 tipos)

TipoDescrição
bank_statementExtrato bancário
business_bank_statementExtrato bancário empresarial
checkCheque individual
list_of_checks_cashedLista de cheques compensados
check_registerRegistro de cheques
investment_statementExtrato de investimentos
retirement_account_statementExtrato de conta de aposentadoria
pension_statementExtrato de pensão
annuity_award_letterCarta de concessão de anuidade
social_security_statementExtrato do Seguro Social
social_security_cola_noticeAviso COLA do Seguro Social
disability_income_verificationVerificação de renda por invalidez
credit_card_statementFatura de cartão de crédito
mortgage_statementExtrato de hipoteca
auto_loan_statementExtrato de financiamento veicular
student_loan_statementExtrato de empréstimo estudantil
personal_loan_statementExtrato de empréstimo pessoal
heloc_statementExtrato de crédito com garantia imobiliária
loan_statementExtrato de empréstimo (genérico)

Impostos (9 tipos)

TipoDescrição
form_1040Formulário 1040 do IRS (declaração pessoal)
form_1120Formulário 1120 do IRS (C-Corporation)
form_1120sFormulário 1120S do IRS (S-Corporation)
form_1065Formulário 1065 do IRS (Sociedade)
w2_formFormulário W-2 de salários e impostos
form_1099Formulário fiscal 1099
schedule_cAnexo C do IRS (renda de negócio)
schedule_eAnexo E do IRS (renda de aluguel)
tax_returnDeclaração de imposto de renda (genérica)

Emprego (7 tipos)

TipoDescrição
pay_stubHolerite / contracheque
employment_verification_letterCarta de verificação de emprego
direct_deposit_verificationVerificação de depósito direto
unemployment_benefits_documentDocumento de benefícios por desemprego
military_lesContracheque militar
offer_letterCarta de oferta de emprego
self_employment_ledgerLivro caixa de trabalho autônomo

Propriedade (6 tipos)

TipoDescrição
property_deedEscritura de imóvel
property_tax_receiptRecibo de IPTU
hoa_dues_statementExtrato de taxas de condomínio
lease_agreementContrato de locação
rental_receiptRecibo de aluguel
title_insurance_policyApólice de seguro de título

Seguros (6 tipos)

TipoDescrição
homeowners_insurance_declarations_pagePágina de declarações de seguro residencial
homeowners_insurance_binderBinder de seguro residencial
flood_insurance_declarations_pagePágina de declarações de seguro de inundação
auto_insurance_declarations_pagePágina de declarações de seguro automotivo
insurance_cardCarteirinha de seguro
insurance_documentDocumento de apólice de seguro

Comerciais (6 tipos)

TipoDescrição
business_licenseAlvará de funcionamento
articles_of_incorporationContrato social
profit_and_loss_statementDemonstrativo de resultados
utility_billConta de serviços (energia, água, gás, etc.)
phone_billConta de telefone
petty_cash_receiptRecibo de fundo fixo

Legais (7 tipos)

TipoDescrição
government_letterCarta governamental (IRS, DMV, SSA, etc.)
vehicle_registrationRegistro de veículo
vehicle_titleCertificado de registro veicular
court_orderOrdem judicial
power_of_attorneyProcuração
death_certificateCertidão de óbito
marriage_certificateCertidão de casamento
Arquivos que não corresponderem a um tipo conhecido são classificados como other.

Analisando um arquivo

Envie um arquivo para detecção de fraude via POST /v1/detection:
curl -X POST https://api.deepxl.ai/v1/detection \
  -H "x-api-key: YOUR_API_KEY" \
  -F "model=document" \
  -F "file=@invoice.pdf" \
  -F 'tags={"customerId":"9999","customerName":"Acme Corp","documentId":"INV-001","companyName":"DeepXL","companyId":"COMP-001"}'

Parâmetros

ParâmetroTipoObrigatórioDescrição
modelstringSimdocument ou object
filefileSimO arquivo a ser analisado (máx. 50 MB)
tagsstringNãoObjeto JSON com pares chave-valor de metadados
O tamanho máximo do arquivo é 50 MB. Arquivos que excederem esse limite serão rejeitados com um erro 413.

Estrutura de resposta

Uma resposta de detecção contém os seguintes campos:
{
  "result": {
    "detectionId": 42,
    "mediaType": "document",
    "fileType": "pdf",
    "fileName": "bank_statement.pdf",
    "fileSize": 245678,
    "timestamp": 1725795600,
    "timestampISO": "2024-09-08T10:00:00.000000",
    "model": "document",
    "modelVersion": "1.1.0",
    "likelihood": 85.2,
    "fraudSeverity": "high",
    "classification": "verified",
    "reasoning": [
      "Potential manipulation detected in text region",
      "Font inconsistencies found"
    ],
    "modelResults": {
      "technicalChecks": [
        {
          "type": "DOCUMENT_CLASSIFIER",
          "status": "PASS",
          "details": "Classified as bank statement",
          "likelihood": 0.02
        },
        {
          "type": "SEMANTIC_FRAUD",
          "status": "FAIL",
          "details": "Detected inconsistencies in text formatting",
          "likelihood": 0.85
        }
      ]
    },
    "tags": [
      { "name": "customerId", "value": "9999" },
      { "name": "customerName", "value": "Acme Corp" },
      { "name": "documentId", "value": "INV-001" },
      { "name": "companyName", "value": "DeepXL" },
      { "name": "companyId", "value": "COMP-001" }
    ],
    "files": [
      {
        "category": "original_file",
        "fileName": "fd_42_bank_statement.pdf",
        "fileSize": 245678,
        "contentType": "application/pdf",
        "timestamp": 1725795600,
        "timestampISO": "2024-09-08T10:00:00.000000",
        "url": "https://api.deepxl.ai/v1/files/fd_42_bank_statement.pdf"
      },
      {
        "category": "heatmap",
        "fileName": "fd_42_heatmap_1.png",
        "fileSize": 45678,
        "contentType": "image/png",
        "timestamp": 1725795600,
        "timestampISO": "2024-09-08T10:00:00.000000",
        "url": "https://api.deepxl.ai/v1/files/fd_42_heatmap_1.png"
      }
    ]
  }
}

Referência de campos

CampoTipoDescrição
detectionIdintegerIdentificador exclusivo do registro de detecção
mediaTypestringCategoria do tipo de mídia (image ou document)
fileTypestringExtensão do arquivo (jpeg, png, pdf, webp)
fileNamestringNome original do arquivo enviado
fileSizeintegerTamanho do arquivo em bytes
timestampintegerTimestamp Unix da análise
timestampISOstringTimestamp ISO 8601 da análise
modelstringModelo usado (document ou object)
modelVersionstringVersão do modelo usada para a análise
likelihoodfloatProbabilidade de fraude em porcentagem (0–100)
fraudSeveritystringNível de severidade: low, medium ou high
classificationstringAvaliação de qualidade: verified, unverified ou rejected
reasoningstring[]Explicações em linguagem natural dos achados da análise
modelResultsobjectContém o array technicalChecks com resultados detalhados das verificações
tagsobject[]Tags de metadados anexadas a esta detecção
filesobject[]Arquivos associados (upload original, heatmaps)

Entendendo os resultados

Pontuação de probabilidade

O campo likelihood é uma pontuação de 0–100% que indica a probabilidade de fraude ou manipulação:
FaixaSeveridadeInterpretação
0–29%lowNenhum indicador significativo de manipulação
30–69%mediumAlguns indicadores de manipulação detectados
70–100%highFortes indicadores de fraude detectados

Classificação

O campo classification indica a avaliação de qualidade do documento — se o documento passou por todas as etapas de qualidade e pôde ser analisado corretamente. Isso é separado do resultado de fraude (likelihood / fraudSeverity).
ClassificaçãoSignificado
verifiedA qualidade do documento é boa — passou por todas as etapas de qualidade e foi totalmente analisado
unverifiedA qualidade do documento é insuficiente — a imagem está borrada, os cantos foram cortados ou verificações semânticas de qualidade falharam
rejectedO tipo de documento não é compatível, o conteúdo de texto é insuficiente ou vários documentos foram enviados em um único arquivo

Fundamentação

O array reasoning contém explicações em linguagem natural dos achados da análise. Cada entrada descreve uma observação ou conclusão específica da análise forense.

Verificações técnicas

O array modelResults.technicalChecks contém as verificações forenses individuais realizadas no arquivo. O número e o tipo de verificações variam dependendo do modelo, do tipo de arquivo e do conteúdo do documento. Cada objeto de verificação inclui:
CampoTipoDescrição
typestringIdentificador da verificação
statusstringPASS, FAIL, WARNING ou NOT_PRESENT
detailsstringExplicação legível para humanos do resultado da verificação
likelihoodfloatPontuação de confiança para esta verificação específica (0.0–1.0)

Valores de status

StatusSignificado
PASSVerificação aprovada — nenhum problema encontrado
FAILVerificação reprovada — problema detectado
WARNINGPossível preocupação — não é conclusivo, mas vale observar
NOT_PRESENTA verificação não pôde ser realizada — os dados necessários não estavam disponíveis no arquivo

Modelo de documento

O modelo document executa um pipeline de múltiplas etapas. Primeiro, uma série de etapas de qualidade determina o classification (se o documento pode ser analisado corretamente). Em seguida, verificações paralelas de fraude analisam o documento em busca de manipulação e determinam a pontuação likelihood. Verificações adicionais podem ser executadas dependendo do tipo de arquivo e da categoria do documento.

Modelo de objetos

O modelo object retorna resultados de detecção de fraude por meio dos campos de nível superior likelihood, fraudSeverity e reasoning. O array technicalChecks ficará vazio para o modelo de objetos. Quando geração por IA ou manipulação é detectada, um heatmap é incluído no array files destacando as regiões suspeitas.

Heatmaps

Tanto os modelos document quanto object podem gerar imagens de heatmap que destacam visualmente as regiões afetadas. Heatmaps facilitam ver exatamente onde adulteração ou geração por IA foi detectada.

Como os heatmaps funcionam

  • Heatmaps são imagens PNG sobrepostas ao documento ou imagem original
  • Modelo de documento: para PDFs com múltiplas páginas, cada página recebe seu próprio heatmap (fd_{id}_heatmap_1.png, fd_{id}_heatmap_2.png etc.)
  • Modelo de objetos: um único heatmap é gerado por imagem (fd_{id}_heatmap_1.png)
  • Heatmaps só são gerados quando manipulação ou geração por IA é detectada
  • Eles aparecem no array files com category: "heatmap"

Recuperando heatmaps

URLs de heatmap são incluídas na resposta de detecção em files:
{
  "files": [
    {
      "category": "original_file",
      "fileName": "fd_42_bank_statement.pdf",
      "url": "https://api.deepxl.ai/v1/files/fd_42_bank_statement.pdf"
    },
    {
      "category": "heatmap",
      "fileName": "fd_42_heatmap_1.png",
      "url": "https://api.deepxl.ai/v1/files/fd_42_heatmap_1.png"
    },
    {
      "category": "heatmap",
      "fileName": "fd_42_heatmap_2.png",
      "url": "https://api.deepxl.ai/v1/files/fd_42_heatmap_2.png"
    }
  ]
}
Baixe um heatmap usando o endpoint de recuperação de arquivos:
curl https://api.deepxl.ai/v1/files/fd_42_heatmap_1.png \
  -H "x-api-key: YOUR_API_KEY" \
  --output heatmap_page1.png

Categorias de arquivo

CategoriaDescrição
original_fileO arquivo que você enviou originalmente
heatmapHeatmap gerado destacando regiões de manipulação detectadas

Códigos de erro

StatusErroDescrição
400Solicitação inválidaNome de modelo inválido, parâmetro de ordenação inválido, JSON malformado em tags ou parâmetros de consulta inválidos
401Não autorizadoChave de API / token Bearer ausente ou inválido
404Não encontradoRegistro de detecção não encontrado
413Payload muito grandeO arquivo excede o tamanho máximo de 50 MB
415Tipo de mídia não suportadoO tipo de arquivo não é compatível com o modelo selecionado
500Erro interno do servidorErro inesperado do servidor — contate o suporte se persistir
502Gateway inválidoO serviço upstream de análise está temporariamente indisponível — tente novamente após um curto intervalo

Tags e filtragem

Passe um objeto JSON no parâmetro tags para anexar metadados à sua análise:
{
  "customerId": "9999",
  "customerName": "Acme Corp",
  "documentId": "DOC-2024-001",
  "companyName": "DeepXL",
  "companyId": "COMP-001"
}
Filtre seu histórico de detecções por tags:
curl "https://api.deepxl.ai/v1/detection?tagFilter=customerId=9999" \
  -H "x-api-key: YOUR_API_KEY"
Recupere resultados de detecção paginados com ordenação e filtragem:
curl "https://api.deepxl.ai/v1/detection?limit=25&offset=0&sortBy=createdOn&direction=desc" \
  -H "x-api-key: YOUR_API_KEY"

Parâmetros de consulta

ParâmetroTipoDescrição
limitintegerNúmero de resultados por página (padrão: 25)
offsetintegerNúmero de resultados a pular
sortBystringCampo para ordenar (veja as opções abaixo)
directionstringasc ou desc
minLikelihoodfloatFiltro de probabilidade mínima (0–100)
maxLikelihoodfloatFiltro de probabilidade máxima (0–100)
fraudSeveritystringFiltrar por severidade: low, medium ou high
classificationstringFiltrar por classificação: verified, unverified ou rejected
tagFilterstringFiltrar por tag (formato: key=value)
minTimestampintegerTimestamp Unix mínimo
maxTimestampintegerTimestamp Unix máximo

Opções de ordenação

fraudDetectionId, fileName, fileSize, fileType, model, likelihood, createdOn