なりすまし判定 API クイックスタートガイド
このガイドでは、AWS Marketplace での購読から、最初のなりすまし判定リクエストを送るまでを5ステップで説明します。
| 項目 | 値 |
|---|---|
| API ベース URL | https://liveness.api.pas-ta.io |
| 顧客ダッシュボード | https://liveness.api.pas-ta.io/console/dashboard |
| 認証方式 | X-API-Key ヘッダー |
| コンテンツタイプ | application/json(UTF-8) |
Step 1. AWS Marketplace で購読する
AWS Marketplace の なりすまし判定 API(Liveness Check API) 商品ページを開きます。
View purchase options からプランを選択します。
プラン 月間コール数 月額 Starter 1,000 $180 Standard 5,000 $750 Professional 10,000 $1,200 Business 30,000 $2,400 Enterprise 100,000〜(カスタム) $5,000〜 ※ 上限超過時の挙動(従量課金で継続/API停止)は、後からダッシュボードで切り替えられます。
Subscribe すると、購読完了直後に当社のオンボーディング画面へ自動的に遷移します。
Step 2. アカウント情報を登録し、メールを検証する
オンボーディング画面には、お客様の AWS Account ID と Subscription ID が自動表示されます(入力不要)。
次の項目を入力して Continue します。
項目 必須 備考 First name / Last name 必須 ご担当者名 業務用メールアドレス(Work email) 必須 ログインIDと各種通知の宛先になります 会社名(Company name) 必須 会社ホームページURL(Company website) 必須 https://example.comの形式入力したメールアドレスに 検証リンク(有効期限24時間) が届きます。リンクを開いてメールアドレスを検証してください。
Step 3. パスワードを設定してアカウントを有効化する
- 検証リンクからパスワード設定画面に進みます。
- パスワード(8文字以上・大文字・小文字・数字・記号を各1文字以上) を設定します。
- 設定が完了するとアカウントが有効化され、Primary / Secondary の2つの API キーが自動発行されます。続けて顧客ダッシュボードのログイン画面へ移動します。
Step 4. API キーを取得する
- 顧客ダッシュボード
https://liveness.api.pas-ta.io/console/dashboardにログインします。 - API キー画面に Primary / Secondary の2キーが表示されます(一覧では
lc_abc12…のような先頭プレフィックスのみ表示)。 - キー全文が表示されるのは Step 3 のアカウント有効化直後の画面で1回だけです。控え忘れた場合は、ダッシュボードの Regenerate で新しいキーを発行してください(旧キーは即時無効化・新キーはその場で1回だけ表示されます)。
2キー運用について: 通常は Primary キーを使用します。万一キーが漏れた場合は、Secondary を使いながらコードを差し替え、Primary を再生成することで無停止でローテーションできます。
Step 5. 最初の判定リクエストを送る
顔画像を Base64 エンコードして POST /v1/check/liveness に送信します。
# 画像を Base64 化し、標準入力からボディを渡して送信(macOS は base64 -i / Linux は base64 -w0)
{ printf '{"image": "'; base64 -i face.jpg | tr -d '\n'; printf '", "image_format": "jpeg"}'; } \
| curl -X POST https://liveness.api.pas-ta.io/v1/check/liveness \
-H "X-API-Key: lc_abc12xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
--data-binary @-
Base64 文字列を
-d "$(base64 ...)"のように引数へ直接展開すると、大きめの画像でシェルの引数長上限に達しargument list too longになります。上記の標準入力方式なら API 上限の 10MB まで送信できます(tr -d '\n'は JSON 破損防止に必要)。
| フィールド | 必須 | 説明 |
|---|---|---|
image |
○ | Base64 エンコードした画像(上限 10MB) |
image_format |
○ | "jpeg" または "png" |
レスポンス例(200 OK):
{
"metadata": {
"ver": "1.0.1",
"customer_id": "550e8400-e29b-41d4-a716-446655440000",
"remaining_calls": 3850,
"over_limit_calls": 0,
"status": "success"
},
"data": {
"isFakeFace": false,
"isFakeLikelihood": 0.987,
"isValidFace": true,
"faceBrightness": 142.3,
"latency_ms": 120
}
}
判定結果の読み方: isFakeFace(true=写真・なりすまし疑い)は、isFakeLikelihood(0.0〜1.0 のスコア)が既定しきい値 0.15 を上回ると true になる参考判定です。より厳密な運用では isFakeLikelihood をお客様側のしきい値で評価してください。
課金について: コールとしてカウントされるのは判定の成功応答のみです。エラー応答(4xx/5xx)や GET /v1/usage・GET /v1/health・ダッシュボード操作はカウントされません。
次のステップ
- 使用量の確認:
GET /v1/usage(当月のコール数・残クレジット・プランを返します) - よくあるエラー:
401 invalid_api_key(キー不正)/400 invalid_image(顔未検出・壊れた画像)/429 quota_exceeded(上限到達かつ停止設定時)→ 詳細は FAQ をご覧ください - レート制限: プランごとの月間クレジット上限に加え、公正利用のための全体スロットリング(429)があります。これは瞬間レートの個別保証ではありません。