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
| Campo | Tipo | Descrição |
|---|---|---|
plates | array | Lista de placas detectadas (pode ser vazia) |
processingTimeMs | number | Tempo de processamento em milissegundos |
imageWidth | number | Largura da imagem em pixels |
imageHeight | number | Altura da imagem em pixels |
creditsRemaining | number | Créditos restantes após esta chamada |
Cada placa (plates[n])
| Campo | Tipo | Descrição |
|---|---|---|
plate | string | Texto da placa (uppercase) |
conf | number | Confiança geral 0-100 |
charConfs | string | Confiança por caractere (0-1), separado por ; |
coordinateLeft | number | Bounding box: X esquerdo em pixels |
coordinateTop | number | Bounding box: Y superior em pixels |
coordinateRight | number | Bounding box: X direito em pixels |
coordinateBottom | number | Bounding box: Y inferior em pixels |
plateType | string | Tipo: car, motorcycle, etc. |
time | string | Timestamp do reconhecimento |
createdAt | string | Timestamp 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ódigo | Descrição |
|---|---|
| 400 | Imagem vazia ou muito grande |
| 401 | Não autenticado |
| 402 | Créditos insuficientes |
| 502 | Agente de processamento indisponível |
| 503 | Nenhum servidor disponível |