顔パーツの色分析
顔パーツの色分析用の写真撮影方法
正面を向いて自撮りしてください
- カメラをまっすぐ見ている、1 枚のクリアな写真のみを使用してください。髪を下ろして胸にかかっている状態にし、真正面を向いていることを確認してください。
- 代わりに、JS Camera Kit を使用して写真を撮影してください。髪を下ろして胸にかかっている状態にしてください。結ばないでください。
AI による肌トラブル検出方法
ソース画像のリサイズ
サポートされている寸法に合わせて写真をリサイズします。詳細は ファイル仕様とエラー を参照してください。File API を使用したファイルのアップロード
/s2s/v2.0/file API を使用して、対象ユーザーの画像をアップロードします。画像要件
- 詳細は ファイル仕様とエラー を参照してください。
重要: File API を呼び出すだけではファイルはアップロードされません。File API のレスポンスで提供される URL に手動でファイル をアップロードする必要があります。その URL がアップロード先です。次に進む前に、ファイルが正常に転送されたことを確認してください。
AI API を呼び出す前に、ファイルが正常にアップロードされていることを確認してください。File API を使用してアップロード URL を取得し、その場所にファイルをアップロードします。アップロードが完了すると、レスポンスに file_id が返されます。この ID は、そのファイルに関連する AI 機能にアクセスするために使用します。警告: File API のレスポンスで提供される URL にファイルをアップロードしない場合、AI API の使用時に 500 Server Error / unknown_internal_error または 404 Not Found エラーが発生します。
顔パーツの色分析タスクの実行
アップロードが完了すると、AI はファイル ID を使用して、唇、目、眉毛、肌、髪の色調を調べます。詳細は 入力と出力 を参照してください。
次に、File ID を指定して POST 'task/skin-tone-analysis' を呼び出すと、タスクが実行され、task_id が取得されます。タスクのステータスをポーリングして成功またはエラーを確認する
この task_id は、GET 'task/skin-tone-analysis' によるポーリングを通じてタスクのステータスを監視するために使用され、現在のエンジンステータスを取得します。エンジンがタスクを完了するまで、ステータスは 'running' のままであり、この段階ではユニットは消費されません。警告: タスクのステータスを保持期間に基づいてポーリングで確認することは必須です。保持期間内にポーリングリクエストがない場合、タスクが正常に処理されていてもタイムアウトします(ユニットが消費されます)。
警告: タイムアウトしたタスクのステータスを確認すると、InvalidTaskId エラーが発生します。したがって、AI タスクを実行したら、ステータスが success または error になるまで、保持期間内にステータスを確認するために ポーリング する必要があります。
成功時に AI タスクの結果を取得する
エンジンが入力ファイルを正常に処理し、結果画像を生成すると、タスクは 'success' ステータスに変更されます。処理済み画像の URL と、結果画像を再アップロードせずに別の AI タスクをチェーン実行できる dst_id が取得されます。 ユニットは、この場合のみ消費されます。エンジンがタスクの処理に失敗した場合、タスクのステータスは 'error' に変更され、ユニットは消費されません。
ユニットを控除する際、システムは期限切れに近いものから優先的に控除します。期限が同じ場合は、最も早い日に取得されたユニットから控除されます。

- 入力 AI は肌の色調を分析します。
face_angle_strictness_levelを調整して、入力された顔の角度のチェックの厳密さを、strict、high、medium、low、flexible の範囲で制御できます。厳密さレベルは、ピッチ、ヨー、ロールを含む顔の角度検出に適用されます。デフォルト設定は high です。

- 出力
{
"status": 200,
"data": {
"task_status": "success",
"results": {
"color": {
"eye_color": "#293F9B",
"eye_color_name": "Blue",
"lip_color": "#D23245",
"eyebrow_color": "#5B2B31",
"skin_color": "#b9947c",
"hair_color": "#a0a0a0",
"hair_color_name": "Auburn"
}
}
}
}| 結果パラメータ | 結果タイプ |
|---|---|
skin_color | Hex 値 |
eye_color | Hex 値 |
eye_color_name | Amber, Brown, Green, Blue, Gray, Other |
lip_color | Hex 値 |
eyebrow_color | Hex 値 |
hair_color | Hex 値 |
color.hair_color_name | Auburn, Black, Blonde, Brown, Grey/White, Red |
- 撮影方法のヒント:

警告: 顔の幅は画像の幅の 60% より大きくなければなりません。
- サポートされている形式と寸法
| AI 機能 | サポートされている寸法 | サポートされているファイルサイズ | サポートされている形式 |
|---|---|---|---|
| 顔パーツの色分析 | 長辺 <= 4096、1 人のみ。1080px より長い辺を持つ画像は、分析のために自動的にリサイズされます。 | < 10MB | jpg/jpeg |
- エラーコード
| エラーコード | 説明 |
|---|---|
| error_below_min_image_size | ソース画像の寸法は少なくとも 320 ピクセルである必要があります。 |
| error_face_position_invalid | 顔は完全に可視であり、正面を向いており、画像の中央にある必要があります。 |
| error_face_position_too_small | 検出された顔が分析には小さすぎます。 |
| error_face_position_out_of_boundary | 顔が画像の境界を超えています。 |
| error_face_not_forward_facing | 顔はカメラを直接向いている必要があります。 |
| error_face_angle_upward | 顔が上向きに傾きすぎています—頭をわずかに下げてください。 |
| error_face_angle_downward | 顔が下向きに傾きすぎています—頭をわずかに上げてください。 |
| error_face_angle_leftward | 顔が左に回りすぎています—頭をわずかに右に回してください。 |
| error_face_angle_rightward | 顔が右に回りすぎています—頭をわずかに左に回してください。 |
| error_face_angle_left_tilt | 顔が左に傾きすぎています—頭を優しく右に傾けてください。 |
| error_face_angle_right_tilt | 顔が右に傾きすぎています—頭を優しく左に傾けてください。 |
- 環境と依存関係
| サンプルコード言語 / ツール | 推奨ランタイムバージョン |
|---|---|
| cURL | - bash >= 3.2 - curl >= 7.58 (モダンな TLS/HTTP サポート) - jq >= 1.6 (堅牢な JSON パーシング) |
| Node.js (JavaScript) | Node >= 18 (global fetch 用) |
| JavaScript | - Chrome / Edge >= 80 - Firefox >= 74 - Safari >= 13.1 |
| PHP | PHP >= 7.4 (モダンな TLS/互換性用), ext-curl (推奨) または allow_url_fopen=On + ext-openssl, ext-json |
| Python | Python >= 3.10 (f-strings 用), requests >= 2.20.0 |
| Java | Java 11+ (HttpClient 用), Jackson Databind >= 2.12.0 |

