Dashboard

Recursos

Reconhecimento por foto

Envie uma imagem JPEG ou PNG e receba os dados de todas as placas detectadas.

Autenticação: Cookie de sessão (dashboard) ou API key com scope recognitions:write

Custo: 1 crédito por chamada bem-sucedida

Requisição

POST /api/recognize
Content-Type: application/octet-stream
Body: bytes da imagem

Limites:

  • Tamanho máximo: 10MB
  • Formatos aceitos: JPEG, PNG
  • Timeout: 30 segundos

Exemplo com curl:

curl -X POST "https://api.placaflow.com.br/api/recognize" \
  -H "Content-Type: application/octet-stream" \
  -H "Authorization: Bearer pk_a1b2c3d4..." \
  --data-binary @foto.jpg

Exemplo com Node.js:

const fs = require('fs');

const image = fs.readFileSync('foto.jpg');

const res = await fetch('https://api.placaflow.com.br/api/recognize', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/octet-stream',
    'Authorization': 'Bearer pk_a1b2c3d4...',
  },
  body: image,
});

const data = await res.json();
console.log(data.plates);

Exemplo com Python:

import requests

with open('foto.jpg', 'rb') as f:
    image = f.read()

res = requests.post(
    'https://api.placaflow.com.br/api/recognize',
    headers={
        'Content-Type': 'application/octet-stream',
        'Authorization': 'Bearer pk_a1b2c3d4...',
    },
    data=image,
)

data = res.json()
for plate in data['plates']:
    print(f"{plate['plate']} — {plate['conf']:.1f}%")

Resposta 200

{
  "plates": [
    {
      "plate": "ABC1D23",
      "conf": 95.2,
      "charConfs": "0.98;0.95;0.92;0.96;0.94;0.97;0.93",
      "coordinateLeft": 100,
      "coordinateTop": 200,
      "coordinateRight": 300,
      "coordinateBottom": 250,
      "plateType": "car",
      "time": "2026-03-22T14:30:00.000-03:00",
      "createdAt": "2026-03-22T14:30:00.000-03:00"
    }
  ],
  "processingTimeMs": 45,
  "imageWidth": 1920,
  "imageHeight": 1080,
  "creditsRemaining": 499
}

Campos da resposta

Raiz

CampoTipoDescrição
platesarrayLista de placas detectadas (pode ser vazia)
processingTimeMsnumberTempo de processamento em milissegundos
imageWidthnumberLargura da imagem em pixels
imageHeightnumberAltura da imagem em pixels
creditsRemainingnumberCréditos restantes após esta chamada

Cada placa (plates[n])

CampoTipoDescrição
platestringTexto da placa (uppercase)
confnumberConfiança geral 0-100
charConfsstringConfiança por caractere (0-1), separado por ;
coordinateLeftnumberBounding box: X esquerdo em pixels
coordinateTopnumberBounding box: Y superior em pixels
coordinateRightnumberBounding box: X direito em pixels
coordinateBottomnumberBounding box: Y inferior em pixels
plateTypestringTipo: car, motorcycle, etc.
timestringTimestamp do reconhecimento
createdAtstringTimestamp de criação

Dica

O campo charConfs contém valores entre 0 e 1, não 0 e 100. Para exibir como porcentagem, multiplique por 100.

Erros

CódigoDescrição
400Imagem vazia ou muito grande
401Não autenticado
402Créditos insuficientes
502Agente de processamento indisponível
503Nenhum servidor disponível
Esta página foi útil?