Zgłaszanie newsów i flota NakBus są teraz w panelu partnera
Aby zalogować się do panelu Nakordoni Partners, użyj tego samego loginu (adres e-mail i hasło) co na koncie programisty i zarządzaj tam wiadomościami oraz flotą autobusów (NakDriver / NakManager) z rolami zespołu. Twoje klucze API, endpointy i aplikacje pozostają bez zmian, a strony tutaj nadal działają. Otwórz Nakordoni Partners

← Wszystkie endpointy

API rozpoznawania tablic rejestracyjnych (ALPR / ANPR) Online

W porównaniu z V1: nowe parametry regions, camera_id, timestamp, config, threshold, mode

Co się zmieniło w tej wersji: v4 wypełnia dwa pola, które v2 zawsze zwraca jako null. results[].region podaje kraj tablicy jako {code, score}, odczytany z formatu tablicy: układu liter i cyfr każdego kraju oraz, jeśli format go ma, prefiksu regionu lub powiatu (na przykład CE na ukraińskiej tablicy). results[].vehicle podaje pojazd, który nosi tablicę, jako {type, score, box}, z naszego detektora pojazdów: type to car, bus, truck lub motorcycle. v4 przyjmuje też opcjonalne opcje żądania: regions, camera_id, timestamp, config.threshold i config.mode. Bez nich wynik v4 się nie zmienia. Pozostałe pola odpowiedzi i kody błędów są takie same jak w v2. v2 nadal zwraca null w obu polach i ignoruje opcje.

Odczytuje tablice rejestracyjne ze zdjęcia pojazdu. Wyślij POST-em jeden obraz (JPEG, PNG, WebP, BMP lub TIFF, maks. 8 MB) jako treść JSON z image_url lub image_base64, jako przesyłanie multipart/form-data w polu "image" albo jako surowe bajty z nagłówkiem Content-Type image/*. Każda znaleziona tablica jest zwracana z tekstem, wynikiem 0-1, alternatywnymi odczytami, ramką tablicy w pikselach i wynikiem detekcji. Silnik to nasz własny detektor i czytnik tablic, dostrojony do europejskich ciężarówek i autobusów. Obrazy są przetwarzane w pamięci i nigdy nie są przechowywane. image_url musi być publicznym adresem http(s); adresy prywatne i wewnętrzne oraz przekierowania do nich są odrzucane, a pobieranie jest przerywane po 10 sekundach.

POST https://nakordoni.eu/api/v4/data/plate-recognition — klasa limitu: heavy

ParametrOpis
image_url(treść JSON) Publiczny adres URL obrazu http(s). Maks. 8 MB, maks. 3 przekierowania, limit pobierania 10 s.
image_base64(treść JSON) Obraz zakodowany w base64 (prefiks data:image/...;base64, jest dozwolony). Wyślij image_url albo image_base64, nie oba naraz.
regionsOpcjonalne. Kraje, których się spodziewasz, jako kody ISO 3166-1 alpha-2: tablica JSON ["PL","DE"] lub ciąg rozdzielony przecinkami "PL,DE" (pole multipart lub parametr zapytania). Do 10. Typowanie kraju i kolejność odczytów są przesunięte w stronę tych krajów: gdy najlepszy odczyt nie pasuje do formatu żadnego z podanych krajów, a inny kandydat z wynikiem niższym najwyżej o 0.15 pasuje, ten kandydat staje się tablicą. Tablica, która nie pasuje do żadnego podanego kraju, zachowuje zwykłą odpowiedź.
camera_idOpcjonalne. Identyfikator Twojej kamery lub bramy, do 128 znaków. Zwracany bez zmian w data.camera_id. Nie jest przechowywany poza zwykłym logiem żądań.
timestampOpcjonalne. Czas zdjęcia w Twoim formacie (na przykład 2026-10-27T14:05:00Z), do 64 znaków. Zwracany bez zmian w data.timestamp. Nie jest przechowywany poza zwykłym logiem żądań.
configOpcjonalne. Obiekt JSON {"threshold": 0-1, "mode": "fast"|"full"}. W formularzu multipart lub w ciągu zapytania wyślij go jako ciąg JSON albo użyj pól threshold i mode.
thresholdOpcjonalne, tak samo jak config.threshold. Wyniki z wartością score poniżej tej wartości (0-1) są pomijane. Gdy nic nie zostanie, odpowiedź to 404 no_plate_detected.
modeOpcjonalne, tak samo jak config.mode. full (domyślnie) wykonuje rozpoznawanie tablic i wykrywanie pojazdów. fast pomija wykrywanie pojazdów dla szybkości zbliżonej do v2: region nadal jest wypełniony, vehicle ma wartość null.

Pola odpowiedzi — wewnątrz obiektu data w kopercie odpowiedzi. [] oznacza listę, więc data.items[].name to pole name każdego elementu. Pole bywa null, nieobecne lub jest pustą listą, gdy nie mamy wartości — nigdy nie wstawiamy atrapy.

PoleOpis
data.successtrue, gdy odczytano co najmniej jedną tablicę; data.message podaje ich liczbę.
data.processing_timeCzas poświęcony na żądanie w milisekundach (pobranie, rozpoznanie tablicy i wykrywanie pojazdu). v4 trwa dłużej niż v2 z powodu wykrywania pojazdu, zwykle 0.5-1.5 s na obraz. Przy config.mode=fast nie ma wykrywania pojazdu, a czas jest zbliżony do v2.
data.camera_idWysłany przez Ciebie camera_id, bez zmian. Występuje tylko wtedy, gdy go wysłano.
data.timestampWysłany przez Ciebie timestamp, bez zmian (ciąg pozostaje ciągiem, liczba liczbą). Występuje tylko wtedy, gdy go wysłano.
data.results[]Jeden wpis na tablicę, od najwyższego wyniku detekcji.
data.results[].plateTekst tablicy, wielkie litery, wyłącznie litery A-Z i cyfry (bez spacji i myślników).
data.results[].scorePewność odczytu 0-1 (średnia pewności poszczególnych znaków).
data.results[].candidates[]Do 5 odczytów {plate, score}, najlepszy pierwszy; pierwszy z nich to tablica.
data.results[].region{code, score}: code to kraj tablicy według ISO 3166-1 alpha-2 (na przykład UA, PL, RO), odczytany z formatu tablicy. score 0-1 to pewność odczytu pomnożona przez specyficzność formatu; gdy ten sam format jest używany w kilku krajach (na przykład LT, MD i HU mają wspólny ABC123), wynik jest dzielony między nie i jest niski. null, gdy tekst nie pasuje do żadnego znanego formatu. Obsługiwane: UA, BG, BY, RO, ES, CZ, BE, EE, HU, TR, PL, SK, LV, LT, MD, IT, FR, RS, DE.
data.results[].boxPołożenie tablicy w pikselach: xmin, ymin, xmax, ymax.
data.results[].dscorePewność detekcji tablicy 0-1.
data.results[].vehicle{type, score, box}: pojazd, który nosi tablicę. type to car, bus, truck lub motorcycle; score to pewność wykrycia 0-1; box to położenie pojazdu w pikselach (xmin, ymin, xmax, ymax). Autokary widziane od przodu oraz minibusy i vany mogą mieć typ truck (detektor nie ma klasy van). null, gdy żaden wykryty pojazd nie zawiera tablicy, i zawsze null przy config.mode=fast.
error.code400: image_required, bad_json, bad_base64, one_image_only, bad_image_url, image_url_not_allowed, image_url_fetch_failed, image_url_timeout, invalid_image, unsupported_image_type, unsupported_content_type, upload_failed, bad_regions, bad_camera_id, bad_timestamp, bad_config, bad_threshold, bad_mode. 404: no_plate_detected (także gdy config.threshold nie zostawia żadnego wyniku). 413: payload_too_large. 500: engine_error.
curl -X POST "https://nakordoni.eu/api/v4/data/plate-recognition" \
  -H "Authorization: Bearer NKD-DEV-XXXX-XXXX-XXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://nakordoni.eu/img/developers/plate-recognition-example-bus.jpg",
    "regions": [
        "UA"
    ],
    "camera_id": "depot-gate-1",
    "timestamp": "2026-10-27T14:05:00Z",
    "config": {
        "threshold": 0.8
    }
}'

Rozpoznawanie tablic rejestracyjnych (ANPR / ALPR) dla pojazdów europejskich

Plate Image Recognition API to usługa rozpoznawania tablic rejestracyjnych (LPR): wyślij zdjęcie i otrzymaj tekst numeru rejestracyjnego jako JSON. To nasz własny silnik ANPR / ALPR, dostrojony na ciężarówkach i autobusach na przejściach granicznych i w zajezdniach autobusowych; czyta też tablice samochodów osobowych i motocykli.

Wersja v4 dodaje kraj tablicy i typ pojazdu (car, bus, truck lub motorcycle). Przyjmuje też opcjonalne opcje żądania: regions, aby przesunąć wynik w stronę spodziewanych krajów; camera_id i timestamp, które wracają w odpowiedzi; próg score; oraz tryb fast.

RODO w założeniu: API jest hostowane w UE, a każdy obraz jest przetwarzany tylko w pamięci i nigdy nie jest zapisywany. Żadna zewnętrzna usługa wizyjna nie widzi Twoich obrazów.

Integracje: Home Assistant

Nasza otwartoźródłowa integracja z Home Assistant (licencja MIT, instalacja przez HACS) odczytuje numery rejestracyjne z kamer Twojego Home Assistant. Daje czujnik i zdarzenie dla każdej tablicy, z krajem tablicy i typem pojazdu. Obsługuje Frigate: przy zdarzeniu pojazdu czyta zrzut i zapisuje numer z powrotem we Frigate jako sub-label. Logowanie działa przez OAuth, więc każdy użytkownik dostaje własny darmowy klucz.

Integracja z Home Assistant na GitHub ↗ Integracje

🔑 Zaloguj się jako deweloper, aby wypróbować ten endpoint na żywo w sandboxie — 10 darmowych wywołań testowych na produkt dziennie. Zaloguj się

Zaktualizowano