Подача новостей и флот NakBus теперь в партнёрской панели
Используйте те же данные для входа (адрес электронной почты и пароль), что и для аккаунта разработчика, чтобы войти в панель Nakordoni Partners и управлять там новостями и автобусным парком (NakDriver / NakManager) с ролями команды. Ваши API-ключи, эндпоинты и приложения остаются без изменений, а страницы здесь продолжают работать. Открыть Nakordoni Partners

← Все эндпоинты

API распознавания номерных знаков (ALPR / ANPR) Online

По сравнению с V1: новые параметры regions, camera_id, timestamp, config, threshold, mode

Что изменилось в этой версии: v4 заполняет два поля, которые v2 всегда возвращает как null. results[].region даёт страну номерного знака как {code, score}, по формату знака: шаблон букв и цифр каждой страны и, если в формате он есть, префикс региона или округа (например, CE на украинском номере). results[].vehicle даёт транспортное средство, которое несёт знак, как {type, score, box}, по данным нашего детектора транспортных средств: type — это car, bus, truck или motorcycle. v4 также принимает необязательные опции запроса: regions, camera_id, timestamp, config.threshold и config.mode. Без них вывод v4 не меняется. Остальные поля ответа и коды ошибок такие же, как в v2. v2 по-прежнему возвращает null в обоих полях и игнорирует опции.

Распознавание номерных знаков на фото транспортного средства. Отправьте POST-запросом одно изображение (JPEG, PNG, WebP, BMP или TIFF, макс. 8 MB): как JSON-тело с image_url или image_base64, как загрузку multipart/form-data в поле "image" или как сырые байты с заголовком Content-Type image/*. Для каждого найденного номера возвращаются текст, оценка 0-1, альтернативные варианты прочтения, рамка номера в пикселях и оценка обнаружения. Движок — наш собственный детектор и считыватель номерных знаков, настроенный на европейские грузовики и автобусы. Изображения обрабатываются в памяти и никогда не сохраняются. image_url должен быть публичным адресом http(s); частные и внутренние адреса, а также перенаправления на них отклоняются, а загрузка прерывается через 10 секунд.

POST https://nakordoni.eu/api/v4/data/plate-recognition — класс квоты: heavy

ПараметрОписание
image_url(JSON-тело) Публичный URL изображения http(s). Макс. 8 MB, макс. 3 перенаправления, лимит загрузки 10 s.
image_base64(JSON-тело) Изображение в формате base64 (префикс data:image/...;base64, допускается). Передавайте image_url или image_base64, но не оба сразу.
regionsНеобязательно. Страны, которые вы ожидаете, как коды ISO 3166-1 alpha-2: JSON-массив ["PL","DE"] или строка через запятую "PL,DE" (поле multipart или параметр запроса). До 10. Определение страны и порядок чтения смещаются в сторону этих стран: когда лучшее чтение не соответствует формату ни одной указанной страны, а другой кандидат с оценкой не более чем на 0.15 ниже соответствует, этот кандидат становится номером. Знак, не соответствующий ни одной указанной стране, сохраняет обычный ответ.
camera_idНеобязательно. Идентификатор вашей камеры или шлагбаума, до 128 символов. Возвращается без изменений в data.camera_id. Не хранится дольше обычного журнала запросов.
timestampНеобязательно. Время съёмки в вашем формате (например, 2026-10-27T14:05:00Z), до 64 символов. Возвращается без изменений в data.timestamp. Не хранится дольше обычного журнала запросов.
configНеобязательно. JSON-объект {"threshold": 0-1, "mode": "fast"|"full"}. В форме multipart или в строке запроса отправьте его как JSON-строку или используйте поля threshold и mode.
thresholdНеобязательно, то же, что config.threshold. Результаты с оценкой ниже этого значения (0-1) отбрасываются. Если не осталось ни одного, ответ — 404 no_plate_detected.
modeНеобязательно, то же, что config.mode. full (по умолчанию) выполняет распознавание номеров и обнаружение транспортных средств. fast пропускает обнаружение транспортных средств ради скорости, как у v2: region по-прежнему заполняется, vehicle — null.

Поля ответа — внутри объекта data в конверте ответа. [] обозначает список, поэтому data.items[].name — это поле name каждого элемента. Поле бывает null, отсутствует или пустой список, если значения у нас нет, — заглушки мы не подставляем.

ПолеОписание
data.successtrue, если прочитан хотя бы один номер; data.message сообщает, сколько именно.
data.processing_timeВремя, потраченное на запрос, в миллисекундах (загрузка, распознавание номера и обнаружение транспортного средства). v4 работает дольше v2 из-за обнаружения транспортного средства, обычно 0.5-1.5 s на изображение. С config.mode=fast обнаружения транспортного средства нет, и время близко к v2.
data.camera_idОтправленный вами camera_id без изменений. Есть только если вы его отправили.
data.timestampОтправленный вами timestamp без изменений (строка остаётся строкой, число — числом). Есть только если вы его отправили.
data.results[]Один элемент на каждый номер, сначала с наивысшей оценкой обнаружения.
data.results[].plateТекст номера в верхнем регистре, только буквы A-Z и цифры (без пробелов и дефисов).
data.results[].scoreДостоверность прочтения 0-1 (среднее значение достоверности отдельных символов).
data.results[].candidates[]До 5 вариантов прочтения {plate, score}, лучший первым; первый вариант — это номер.
data.results[].region{code, score}: code — это страна номера по ISO 3166-1 alpha-2 (например, UA, PL, RO), определённая по формату номера. score 0-1 — достоверность прочтения, умноженная на специфичность формата; если один и тот же формат используется в нескольких странах (например, LT, MD и HU имеют общий ABC123), оценка делится между ними и является низкой. null, если текст не соответствует ни одному известному формату. Охвачены: UA, BG, BY, RO, ES, CZ, BE, EE, HU, TR, PL, SK, LV, LT, MD, IT, FR, RS, DE.
data.results[].boxПоложение номера в пикселях: xmin, ymin, xmax, ymax.
data.results[].dscoreДостоверность обнаружения номера 0-1.
data.results[].vehicle{type, score, box}: транспортное средство, которое несёт знак. type — это car, bus, truck или motorcycle; score — достоверность обнаружения 0-1; box — положение транспортного средства в пикселях (xmin, ymin, xmax, ymax). Туристические автобусы, снятые спереди, а также микроавтобусы и фургоны могут получить тип truck (в детекторе нет класса фургона). null, если ни одно обнаруженное транспортное средство не содержит знак, и всегда null с 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 (также когда config.threshold не оставляет результатов). 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
    }
}'

Распознавание номерных знаков (ANPR / ALPR) для европейских транспортных средств

Plate Image Recognition API — это сервис распознавания номерных знаков (LPR): отправьте фото и получите текст номера в JSON. Это наш собственный движок ANPR / ALPR, настроенный на грузовиках и автобусах на пограничных переходах и в автобусных депо; он также читает номера легковых автомобилей и мотоциклов.

Версия v4 добавляет страну номерного знака и тип транспортного средства (car, bus, truck или motorcycle). Она также принимает необязательные опции запроса: regions — чтобы сместить результат в сторону ожидаемых стран; camera_id и timestamp, которые возвращаются в ответе; порог оценки; и режим fast.

GDPR по замыслу: API размещено в ЕС, а каждое изображение обрабатывается только в памяти и никогда не сохраняется. Ни один сторонний сервис компьютерного зрения не видит ваши изображения.

Интеграции: Home Assistant

Наша открытая интеграция с Home Assistant (лицензия MIT, установка через HACS) читает номерные знаки с камер вашего Home Assistant. Она даёт сенсор и событие для каждого номера, со страной знака и типом транспортного средства. Она поддерживает Frigate: по событию транспортного средства читает снимок и записывает номер обратно во Frigate как sub-label. Вход работает через OAuth, поэтому каждый пользователь получает собственный бесплатный ключ.

Интеграция с Home Assistant на GitHub ↗ Интеграции

🔑 Войдите как разработчик, чтобы попробовать этот endpoint вживую в песочнице — 10 бесплатных тестовых вызовов на продукт в день. Войти

Обновлено