메인 콘텐츠로 건너뛰기
연령 추정 보고서는 이미지에서 감지된 가장 큰 얼굴에 대해 모델이 예측한 연령(세 단위)을 기록하며, 대상자가 사진, 화면 또는 가면이 아닌 실제 사람인지 확인하는 패시브 라이브니스 검사와 함께 제공됩니다. 두 검사는 항상 함께 실행되며, 연령 추정은 라이브니스 점수 없이 연령만을 단독으로 반환하지 않습니다. 이 페이지에서는 두 가지 호출 경로에서 반환되는 JSON 형태를 설명합니다: 독립형 POST /v3/age-estimation/ endpoint 및 워크플로 라이브니스 보고서에 임베드된 age_estimation 필드.
예측 연령, 패시브 라이브니스 점수 및 얼굴 품질 지표가 포함된 Didit 연령 추정 보고서

개요

연령 추정에는 두 가지 전송 모드가 있습니다:
  • 독립형 API. POST /v3/age-estimation/은 단일 얼굴 이미지(user_image)를 수신하고 예측 연령과 패시브 라이브니스 점수를 동기식으로 반환합니다. 연령 추정 독립형 API 레퍼런스를 참조하세요.
  • 워크플로에 임베드됨. 모든 워크플로 라이브니스 보고서의 age_estimation 아래에 예측 연령이 포함되며, 이 값은 항상 감지된 가장 큰 얼굴에서 추출됩니다. 연령 임계값은 적응형 연령 인증 워크플로 또는 AGE_ESTIMATION 워크플로 노드와 같은 연령 추정 흐름에서만 적용되어 연령 경고를 발생시킵니다.
각 보고서에는 다음 항목이 포함됩니다:
  • 전반적인 status (Approved, Declined).
  • 라이브니스 method (독립형 API에서는 항상 PASSIVE, 워크플로에서는 ACTIVE_3D / FLASHING / PASSIVE).
  • 라이브니스 score (0–100, 높을수록 대상자가 실제 사람이라는 신뢰도가 높음, 임계값 확인 시 null은 0으로 처리됨).
  • 예측된 age_estimation 연령(부동 소수점(float) 형태, 예: 27.33, 얼굴 연령을 추정할 수 없는 경우 null).
  • 독립형 전용: entities[] 배열(감지된 얼굴당 하나의 항목 — age, bbox, confidence, gender)과 best_angle 방향이 포함된 user_image 객체.
  • 워크플로 전용: reference_image, video_url, matches[], 그리고 패시브 라이브니스 품질 지표인 face_quality(0–100%) 및 face_luminance(0–100%). 독립형 응답에는 이러한 필드가 포함되지 않습니다.
  • warnings[] 배열 — 검사 중 발생한 위험 이벤트(연령 추정 경고 참조).
warnings가 비어 있지 않으면 독립형 결정은 항상 Declined가 되며, Approved가 되려면 배열이 비어 있어야 합니다. 경고는 다음과 같은 경우에 발생합니다:
  • 라이브니스 score가 face_liveness_score_decline_threshold(기본값 30) 이하인 경우 — LOW_LIVENESS_SCORE.
  • 예측 연령이 age_estimation_decline_threshold(기본값 18) 미만인 경우 — AGE_BELOW_MINIMUM. 연령 검사를 비활성화하려면 임계값을 0으로 설정하세요.
  • 얼굴이 감지되지 않거나(NO_FACE_DETECTED), 얼굴 연령을 추정할 수 없는 경우(AGE_NOT_DETECTED).
  • 라이브니스 모델이 프레젠테이션 공격을 표시하는 경우(LIVENESS_FACE_ATTACK).

API 응답에 표시되는 위치

독립형 API — POST /v3/age-estimation/

독립형 응답은 결과를 request_id 및 다시 반환된 vendor_data / metadata와 함께 단일 최상위 age_estimation 객체 아래에 래핑합니다. save_api_request=true(기본값)인 경우 request_id는 저장된 세션 ID이며 결과는 나중에 결정 endpoint에서도 조회할 수 있습니다. false인 경우 일회성 상관관계 UUID입니다.

워크플로 결정 — GET /v3/session/{session_id}/decision/

워크플로 세션에서 예측 연령은 라이브니스 보고서 내에 임베드되며, 별도의 연령 추정 배열은 존재하지 않습니다. V3 결정 endpoint는 복수형 배열 키인 liveness_checks(ReducedSessionV3DecisionSerializer.get_liveness_checks) 아래에 라이브니스 보고서를 반환하며, 각 항목에는 감지된 가장 큰 얼굴의 추정 연령인 age_estimation 부동 소수점(float) 값이 포함되거나 연령이 계산되지 않은 경우 null이 포함됩니다(LivenessV2Serializer.get_age_estimation).
liveness_checks[].age_estimation에서 연령을 확인하세요. 저장된 독립형 호출(save_api_request=true)도 결정 endpoint에 동일한 방식으로 표시되며, 이때 features에는 AGE_ESTIMATION이 포함됩니다.

스키마

필드별 표준 스키마는 데이터 모델 페이지에 있습니다. 독립형 응답 형태는 AgeEstimationResponseSerializer에 문서화되어 있으며 AgeEstimationAPIView에서 조합됩니다. 워크플로 값은 LivenessV3Serializer에서 생성됩니다.

상태 값

상태 문자열은 공유 기능 상태 열거형에서 가져옵니다(상태 열거형 참조). 독립형 endpoint는 다음 상태만 반환합니다: 워크플로 세션에서는 구성 가능한 위험이 검토 작업과 함께 발생할 때(예: POSSIBLE_DUPLICATED_FACE) 라이브니스 검사가 In Review로 결정될 수도 있습니다. 상태 열거형 레퍼런스를 참조하세요.

예시

Approved — 독립형, 성인 대상자

Declined — 독립형, 예측 연령이 임계값 미만

Approved — 워크플로 라이브니스 보고서에 임베드됨

보안 참고 사항

응답으로 반환되는 모든 이미지 및 동영상 URL은 유효 기간이 제한된 사전 서명된 링크입니다. 이러한 링크는 수명이 짧은 참조로 취급해야 하며, 공개적으로 공유하지 마시고 만료된 URL을 갱신하려면 결정 endpoint를 다시 호출하세요. 모범 사례로서 원본 생체 인식 미디어 자체보다는 인증 상태와 신뢰도 값만 시스템에 저장하는 것이 좋습니다.

관련 문서

마지막 수정일 2026년 11월 7일