SPZ Reader

Upload a photo of a car — a plate-recognition model on our own server reads the SPZ in about a second. The photo is processed in memory and never stored.

Drop a car photo here, browse, or paste

JPG · PNG · WEBP — max 25 MB. Best results: plate visible, roughly facing the camera.

Our own hardware

No cloud vision APIs — a purpose-trained licence-plate model (detector + OCR) runs on TechTools’ own server.

Nothing is kept

Your photo is processed in memory and never written to disk — it is gone the moment the read finishes.

About a second

Plate detection + reading typically finishes in well under a second. Hard photos (angle, dirt, night) may read with lower confidence — the API below offers the deep-AI option.

Use it as an API

API keys are available only to signed-in TechTools users — create a free account and reads are unlimited. Call the recognizer from your own scripts, backends or cameras.

The tool above uses our fast plate model (~1 s). The keyed API runs a deep vision AI instead — async, typically seconds to ~a minute, more thorough on hard photos, and it also returns the body colour.

Checking your API key…

Recognition is asynchronous — the deep AI typically answers in under a minute. Submit a photo, get a job id back immediately, then poll it every ~5 seconds until the status is “done”.

1 Submit a car photo

curl -X POST https://techtools.cz/spz-api/jobs \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: image/jpeg" \
  --data-binary @car.jpg

# → {"id":"JOB_ID","status":"queued","queue_position":0}

Multipart works too: curl -F image=@car.jpg -H "X-API-Key: YOUR_KEY" https://techtools.cz/spz-api/jobs

2 Poll the job until it finishes

curl https://techtools.cz/spz-api/jobs/JOB_ID

# → {"id":"JOB_ID","status":"done","spz":"5A81234","color":"red",
#    "plate_readable":true,"model":"qwen3-vl:4b","elapsed_ms":3283}

! Errors

  • 401invalid API key
  • 429the recognizer is at capacity — retry in a few minutes
  • 413 / 415image over 25 MB / not an image file