• English
  • Français (coming soon)
  • Deutsch (coming soon)
  • Español (coming soon)
  • Português (coming soon)
  • Italiano (coming soon)
  • 繁體中文 (coming soon)
  • 日本語 (coming soon)
  • Polski (coming soon)
  • Svenska (coming soon)
  • Українська

Довідник API оцінювання віку

Це переклад для зручності. Контракт API визначає англомовна версія довідника; у разі розбіжностей чинною є вона.

API оцінювання віку за обличчям від Rigr AI приймає зображення й повертає оціночний вік для кожного виявленого обличчя разом з обмежувальною рамкою, показником впевненості виявлення та каліброваним значенням невизначеності. Поточна модель (v3) має середню абсолютну похибку близько 1,6 року на нашому еталонному наборі даних.

Вік на вигляд, який повертає сервіс, — це візуальна оцінка. Вони не підтверджують особу й не встановлюють юридичного віку людини. Рішення з високим ризиком і рішення в межових випадках мають передбачати належну перевірку людиною.

API доступний як хмарний сервіс або як Docker-контейнер для розгортання у власній інфраструктурі, зокрема в ізольованому середовищі (air-gapped). Ви можете отримати безкоштовний ключ API, щоб випробувати сервіс, прочитати огляд можливості — що робить модель і де її застосовують, — або завантажити цей довідник у форматі PDF (англ.).

Оцінювання віку входить і до Media Examiner. Якщо на зображенні видно придатне для аналізу обличчя, один виклик Media Examiner повертає результати виявлення оголеності, інтимних частин тіла та сексуального контенту і вік на вигляд із каліброваною невизначеністю — надсилати зображення двічі не потрібно. Якщо вам потрібна саме така інтеграція, див. довідник API Media Examiner. На цій сторінці описано окремий сервіс оцінювання віку, який і далі працює та підтримується.

Rigr AI брала участь в австралійському випробуванні технологій встановлення віку (Australian Age Assurance Technology Trial, 2025) — незалежному оцінюванні на замовлення уряду Австралії, яке провела Age Check Certification Scheme на наборі даних, створеному для цього випробування. За його висновками, Rigr показала сильні результати щодо технічної готовності, узгодженості з принципами захисту приватності та зручності використання, а також низьку частку хибнопозитивних результатів у реальних сценаріях.

Швидкий старт

Хмарний API доступний за адресою https://api.age.rigr.ai.

# Перевірка стану (автентифікація не потрібна)
curl https://api.age.rigr.ai/healthz

# Перевірити ключ API й отримати інформацію про сервер
curl -H "X-API-KEY: YOUR_KEY" https://api.age.rigr.ai/api/info

# Оцінити вік за зображенням
IMG_B64=$(base64 -w0 photo.jpg)
curl -X POST https://api.age.rigr.ai/api/image \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: YOUR_KEY" \
  -d "{\"images\": [\"${IMG_B64}\"]}"

Якщо контейнер хмарного API масштабовано до нуля, перший запит може мати затримку холодного старту в кілька секунд. Наступні запити обробляються швидко. У разі розгортання у власній інфраструктурі замініть хост адресою свого сервера (наприклад, http://localhost:8000).

Автентифікація

Кожен ендпоінт, крім /healthz, вимагає ключа API в заголовку X-API-KEY. Ключі видає Rigr AI — запросити ключ можна через форму самостійної реєстрації.

X-API-KEY: your_api_key_here

Ендпоінти

GET /healthz

Полегшена перевірка стану, яка підтверджує, що сервер доступний. Не потребує автентифікації й у хмарному розгортанні не пробуджує контейнер, тож її безпечно використовувати для моніторингу доступності. Якщо сервіс працює справно, повертає HTTP 200.

POST /api/image

Надішліть одне або кілька зображень, закодованих у base64, щоб оцінити вік.

ПолеТипОбов’язковеОпис
imageslist[string]ТакЗображення, закодовані в base64. Потрібно щонайменше одне.
detection_thresholdfloatНіПоріг впевненості виявлення облич (від 0 до 1). Замінює стандартне значення сервера.
max_dets_per_imageintНіМаксимальна кількість виявлених облич, які повертаються для одного зображення. Замінює стандартне значення сервера.

Кожне виявлене обличчя повертається як об’єкт FaceResult:

ПолеТипОпис
idxintІндекс обличчя в межах зображення.
agefloatОціночний вік у роках.
uncertaintyfloatКалібрована невизначеність оцінки, у роках. Що більше значення, то нижча впевненість моделі.
bboxlist[int]Обмежувальна рамка виявленого обличчя у форматі [x0, y0, x1, y1], у пікселях.
scorefloatПоказник впевненості виявлення обличчя (від 0 до 1).
sourcestringІм’я вихідного файлу, якщо воно доступне.

Приклад відповіді:

{
  "error": null,
  "results": [
    {
      "idx": 0,
      "error": null,
      "results": [
        { "idx": 0, "age": 25.3, "uncertainty": 1.2,
          "bbox": [175, 133, 364, 378], "score": 0.9998, "source": "" },
        { "idx": 1, "age": 10.5, "uncertainty": 2.1,
          "bbox": [633, 234, 725, 347], "score": 0.9993, "source": "" }
      ]
    }
  ]
}

GET /api/info

Повертає поточну конфігурацію конвеєра обробки — версію моделі, обмеження на розмір пакета й зображень, а також моделі детектора та оцінювача й пристрої, на яких вони працюють. Потребує автентифікації.

{
  "version": "v3",
  "max_batch_size": 20,
  "max_img_mb": 50.0,
  "min_img_px": 24,
  "max_img_px": 6000,
  "detector_model": "retinaface_resnet50",
  "detector_device": "cuda",
  "estimator_device": "cuda",
  "estimator_model": "rigr_age_v3"
}

GET /api/stats

Повертає статистику пропускної здатності для етапу виявлення, етапу оцінювання та конвеєра загалом — середній час виконання завдання, кількість елементів за секунду, загальну кількість оброблених елементів і кількість завдань. Потребує автентифікації.

Вимоги до зображень

ОбмеженняЗначення
Підтримувані форматиPNG, JPEG, JPG, BMP, GIF, WebP
КодуванняBase64
Максимальний розмір файлу50 МБ на зображення
Максимальна роздільна здатність6000 × 6000 пікс.
Мінімальна роздільна здатність24 × 24 пікс.

Обробка помилок

Помилки повертаються як структуровані JSON-об’єкти з полями type, message і detail на двох рівнях: помилка верхнього рівня, через яку не вдалося обробити весь запит, і помилка окремого зображення, яка стосується лише цього зображення, тоді як решта зображень усе одно обробляється. Помилка окремого зображення може з’являтися поряд із результатами — неповне (обрізане) зображення все одно обробляється, а поле помилки вказує на проблему.

КодHTTPОпис
base64_decoding400Наданий рядок не є коректним base64.
image_loading400Не вдалося завантажити або декодувати зображення.
image_is_truncated400Зображення неповне (обрізане). Його все одно обробляють, але це може вплинути на результати.
batch_size_exceeded413Кількість зображень перевищує максимальний розмір пакета.
empty_images422У запиті немає жодного зображення.
image_size_error422Розмір файлу зображення перевищує максимально допустимий.
image_too_large422Роздільна здатність зображення перевищує максимально допустимі розміри.
image_too_small422Роздільна здатність зображення менша за мінімально потрібні розміри.
model_runtime500Під час інференсу моделі сталася помилка.
model_loading500Не вдалося завантажити модель.
invalid_api_key401Наданий ключ API недійсний або строк його дії минув.
missing_api_key401Заголовок X-API-KEY не надіслано.

Якщо тіло запиту не відповідає очікуваній схемі, сервіс повертає HTTP 422 з помилкою RequestValidationError, у якій перелічено кожне некоректне поле.

Розгортання

Хмара (для випробування). Найшвидший спосіб випробувати сервіс — хмарний екземпляр за адресою https://api.age.rigr.ai; налаштовувати інфраструктуру не потрібно. Хмарне розгортання використовує полегшений контейнер (lite: лише ONNX, CPU).

Власна інфраструктура та ізольоване середовище. Готові образи Docker підтримують інференс на CPU і GPU (CUDA). Усі образи надають той самий API на порту 8000, тож змінюється лише хост. Зв’яжіться з нами, щоб отримати доступ до реєстру, теги образів і рекомендації щодо розгортання.

ОбразРозмірПризначення
rigrage-api:v3-cuda-12.9.1~8 ГБІнференс на GPU (найвища пропускна здатність)
rigrage-api:v3-cpu~5 ГБІнференс на CPU з PyTorch
rigrage-api:v3-cpu-lite~1,6 ГБІнференс на CPU, лише ONNX (найменший образ, найшвидший холодний старт)

Як отримати доступ

Отримати безкоштовний ключ API Обговорити розгортання

Також доступні: огляд можливості оцінювання віку, сторінка рішення для команд з безпеки контенту (trust & safety) про робочі процеси, у яких матеріали спрямовують на перевірку людиною, і цей довідник у форматі PDF (англ.).