髪のうねり分析
180° フルビュー髪のうねり分析
AI 髪のうねり分析ツールでは、髪の正面、左側、右側の 3 枚の写真をアップロードして髪のうねりレベルを分析します。
企業は、髪のうねりレベルに基づいたヘアソリューションやアンチフラジー製品を提供できます。 
- セルフィーのアップロード ソース画像は以下の 2 通りの方法で提供できます。
既存の公開画像 URL の使用 アップロードの代わりに、AI タスクを開始する際に公開アクセス可能な画像 URL を直接指定できます。
File API によるアップロード エンドポイントを使用します。
POST /s2s/v2.0/fileこれにより、後続のタスク実行用の
file_idが返されます。- 重要: 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 の取得 /s2s/v2.0/task/hair-frizziness-detection を使用して AI タスクを実行します。対象ユーザー画像には、
src_file_urlまたはsrc_file_idのいずれかを指定します。また、適用するスタイルのtemplate_idを指定し、task_idを取得します。タスクのステータス確認のためのポーリング(成功または失敗まで)
task_idを使用して、GET /s2s/v2.0/task/hair-frizziness-detection をポーリングし、現在のエンジンステータスを取得してタスクのステータスを監視します。エンジンがタスクを完了するまで、ステータスは running のままとなり、この段階ではユニットは消費されません。 AI タスクが成功または失敗した際に通知を受け取るために Webhook を実装することもできます。詳細は Webhook セクションを参照してください。警告: 保持期間内にタスクのステータスを確認するためにポーリングを行うことが必須です。保持期間内にポーリングリクエストがない場合、タスクが正常に処理されていてもタイムアウトします。ユニットは消費されます。
警告: タイムアウトしたタスクのステータスを確認すると、InvalidTaskId エラーが発生します。したがって、AI タスクを実行した後は、ステータスが success または error になるまで、保持期間内にステータスを確認するためにポーリングを行う必要があります。
成功後の AI タスク結果の取得 エンジンが入力ファイルを処理し、結果画像を生成すると、タスクのステータスは success に変わります。処理済み画像の URL が返されます。
入力形式
髪の正面、左側、右側の 3 枚の写真をアップロードします。 JS Camera Kit を使用して、3 枚の適格な写真を撮影するための Javascript カメラモジュールを実装できます。出力形式 AI 髪のうねり分析ツールでは髪質を評価し、滑らかな髪から非常にうねった髪まで、4 つの異なる髪のうねり度を識別します。
| マッピング (0–3) | 用語 | 説明 |
|---|---|---|
| 0 | Not Frizzy | 髪は滑らかで、目立つうねりはほとんどまたは全く見られません。 |
| 1 | Slightly Frizzy | 軽いうねりが見られます。表面の質感にわずかな不規則性があります。 |
| 2 | Frizzy | 髪全体に目立つうねりがあります。質感の乱れが明確です。 |
| 3 | Extreme Frizzy | 強いうねりが広範囲に見られます。髪の質感が非常に不規則です。 |

- サンプル出力
{
"mapping": 1, // number; the key to map of result, alternatives: [0, 1, 2, 3]
"term": "Slightly Frizzy" // string; 1-1 map to the "mapping", alternatives: ["Not Frizzy", "Slightly Frizzy", "Frizzy", "Extreme Frizzy"]
}- サポートされる形式と寸法
| タイプ | サポートされる寸法 | サポートされるファイルサイズ | サポートされる形式 |
|---|---|---|---|
| AI 髪のうねり分析 | 画像は幅と高さともに少なくとも 320 ピクセル、いずれかの次元で最大 4096 ピクセルである必要があります。画像の片側の長さが 1080 ピクセルを超える場合、分析のためにその制限内に自動的にリサイズされます。 | < 10MB | jpg/png |
- エラーコード
| エラーコード | 説明 |
|---|---|
| error_mismatch_image_size | すべての顔写真(正面、左側、右側)が同じサイズであることを確認してください |
| error_below_min_image_size | 画像の幅または高さが 320 ピクセル未満の場合、使用するには小さすぎます |
| error_face_position_invalid | 画像内で顔全体が完全に視認可能であり、一部が切れていない必要があります |
| error_face_position_too_small | 写真内の顔が小さすぎて適切に分析できません |
| error_face_position_out_of_boundary | 顔が大きすぎるか、写真の端の一部が外れています |
| error_insufficient_lighting | 照明が暗すぎて、分析が困難です |
| error_face_angle_invalid | 顔の角度が正しくありません。正面を向いたショットでは、頭を正面から 10 度以内に保ってください。横を向いたショットでは、角度は 15 度以上である必要があります |
- 環境と依存関係
| サンプルコード言語 / ツール | 推奨ランタイムバージョン |
|---|---|
| cURL | - bash >= 3.2 - curl >= 7.58 (モダンな TLS/HTTP サポート) - jq >= 1.6 (堅牢な JSON パーシング) |
| Node.js (JavaScript) | Node >= 18 (グローバル 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 |