メインコンテンツへスキップ
年齢推定レポートは、画像内で検出された最も大きな顔について、モデルが予測した年齢(年単位)を記録します。同時にパッシブライブネスチェックを行い、被写体が写真、画面、マスクではなく実在の人物であることを確認します。この2つのチェックは常にセットで実行され、年齢推定がライブネススコアなしで年齢を返すことはありません。 このページでは、2つの呼び出し経路が返すJSONの構造を説明します。スタンドアロンのPOST /v3/age-estimation/エンドポイントと、ワークフローのライブネスレポートに埋め込まれるage_estimationフィールドです。
予測年齢、パッシブライブネススコア、顔品質指標を含むDiditの年齢推定レポート

概要

年齢推定には2つの提供形態があります。
  • スタンドアロンAPI。 POST /v3/age-estimation/は顔画像1枚(user_image)を受け取り、予測年齢とパッシブライブネススコアを同期的に返します。詳しくは年齢推定スタンドアロンAPIリファレンスを参照してください。
  • ワークフローへの埋め込み。 すべてのワークフローのライブネスレポートには、age_estimationに予測年齢が含まれます。この値は常に、検出された最も大きな顔から算出されます。年齢のしきい値が適用される(年齢に関する警告が発生する)のは、年齢推定フローに限られます。対象はアダプティブ年齢確認ワークフロー、またはAGE_ESTIMATIONワークフローノードです。
各レポートには以下が含まれます。
  • 全体のstatus(Approved、Declined)。
  • ライブネスのmethod(スタンドアロンAPIでは常にPASSIVE、ワークフローではACTIVE_3D / FLASHING / PASSIVE)。
  • ライブネスのscore(0〜100。値が高いほど被写体が生身である確度が高いことを示します。しきい値の判定ではnullは0として扱われます)。
  • 年単位の予測値age_estimation(浮動小数点数。例: 27.33。顔の年齢を推定できなかった場合はnull)。
  • スタンドアロンのみ: entities[]配列(検出された顔ごとに1件。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/

スタンドアロンのレスポンスは、結果を単一のトップレベルのage_estimationオブジェクトにまとめ、request_idおよびリクエストからそのまま返されるvendor_data / metadataと並べて返します。save_api_request=true(デフォルト)の場合、request_idは保存されたセッションIDとなり、結果は後から判定エンドポイントでも取得できます。falseの場合は、1回限りの相関用UUIDになります。

ワークフローの判定: GET /v3/session/{session_id}/decision/

ワークフローのセッションでは、予測年齢はライブネスレポートの中に埋め込まれます。年齢推定専用の配列はありません。V3の判定エンドポイントは、ライブネスレポートを複数形の配列キーliveness_checks(ReducedSessionV3DecisionSerializer.get_liveness_checks)に格納して返します。各エントリにはage_estimationの浮動小数点値(検出された最も大きな顔の推定年齢)、または年齢が算出されなかった場合はnullが含まれます(LivenessV2Serializer.get_age_estimation)。
年齢はliveness_checks[].age_estimationから読み取ってください。保存されたスタンドアロン呼び出し(save_api_request=true)も判定エンドポイントで同じ形式で返され、featuresにAGE_ESTIMATIONが含まれます。

スキーマ

フィールドごとの正規スキーマはデータモデルページにあります。スタンドアロンのレスポンス構造はAgeEstimationResponseSerializerで定義され、AgeEstimationAPIViewで組み立てられます。ワークフローの値はLivenessV3Serializerによって生成されます。

ステータス値

ステータス文字列は、共通の機能ステータスenumに由来します(ステータスenumを参照)。スタンドアロンエンドポイントが返すのは次のいずれかのみです。 ワークフローのセッションでは、設定可能なリスクがレビューアクションをトリガーした場合(例: POSSIBLE_DUPLICATED_FACE)、ライブネスチェックはIn Reviewと判定されることもあります。ステータスenumリファレンスを参照してください。

例

承認済み: スタンドアロン、成人の被写体

却下: スタンドアロン、予測年齢がしきい値未満

承認済み: ワークフローのライブネスレポートに埋め込まれた

セキュリティに関する注意

レスポンスで返されるすべての画像と動画のURLは、有効期間が限られた事前署名付きリンクです。これらは短期間のみ有効な参照として扱ってください。公開の場で共有せず、期限切れのURLを更新するには判定エンドポイントを再度呼び出してください。ベストプラクティスとして、自社側には元の生体メディアではなく、認証ステータスと信頼度の値のみを保存してください。

関連情報

最終更新日 2026年11月1日