# ヒゲスタイル

# 概要
AI 男性ヒゲスタイルシミュレーション
AI ヒゲスタイルで、トリムヒゲ、無精ヒゲ、フルヒゲ、サークルヒゲ、口ひげ、ゴティヒゲなどのヒゲスタイルをバーチャル試着できます。
ビフォーアフターの結果を確認できます。
ヒゲフィルターには、口ひげ、ショートボックス、ダックテール、サークルなど、数十のスタイルが含まれています。
## 統合ガイド
1. **自撮り画像のアップロード**
ソース画像は以下の 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 エラーが発生します。
2. **プリセットスタイルのリスト取得**
  * /s2s/v2.0/task/template/beard-style を使用してプリセットテンプレートリストを取得し、AI タスクを実行するための
`template_id`
 を選択します。
3. **AI タスクの実行とタスク ID の取得**
/s2s/v2.0/task/beard-style を使用して AI タスクを実行します。ターゲットユーザー画像には、`src_file_url` または `src_file_id` のいずれかを指定します。適用するスタイルの `template_id` を指定し、`task_id` を取得します。
4. **タスクのステータス確認のためのポーリング（成功または失敗まで）**
`task_id` を使用して、GET /s2s/v2.0/task/beard-style をポーリングし、現在のエンジンステータスを取得してタスクのステータスを監視します。エンジンがタスクを完了するまで、ステータスは running のままとなり、この段階ではユニットは消費されません。
AI タスクが成功または失敗した際に通知を受け取るために、Webhook を実装することもできます。詳細は **[Webhook](../../../develop/webhook)** セクションを参照してください。
> **警告:** 保持期間内にタスクのステータスを確認するためにポーリングを行うことが必須です。保持期間内にポーリングリクエストがない場合、タスクが正常に処理されていてもタイムアウトします。ユニットは消費されます。
> **警告:** タイムアウトしたタスクのステータスを確認すると、InvalidTaskId エラーが発生します。したがって、AI タスクを実行したら、ステータスが success または error になるまで、保持期間内にステータスを確認するためにポーリングを行う必要があります。
5. **AI タスクの成功後の結果取得**
エンジンが入力ファイルを処理し、結果画像を生成すると、タスクのステータスは success に変わります。処理済み画像の URL が返されます。



---

## ファイル仕様とエラー
* 対応フォーマットと寸法

| AI 機能 | 対応寸法 | 対応ファイルサイズ | 対応フォーマット |
|  --- | --- | --- | --- |
| AI ヒゲスタイル生成 | 解像度: 長辺 < 1024 顔幅 > 256 顔の姿勢: -30 < yaw < 30, 単一の顔のみ, 顔全体が見えている必要あり | < 10MB | jpg/jpeg |

* エラーコード

| エラーコード | 説明 |
|  --- | --- |
| error_no_face | ソース画像に顔が写っていません |
| error_src_face_too_small | 顔が小さすぎます |
| error_inference | ヒゲ除去エラーまたはヒゲ生成エラー |
| error_face_pose | ソース画像の顔の姿勢がサポートされていません |

* 環境と依存関係

| サンプルコード言語 / ツール | 推奨ランタイムバージョン |
|  --- | --- |
| 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 |



---

## ユニット消費
| AI 機能 | 消費ユニット |
|  --- | --- |
| AI ヒゲスタイル生成 V1.0 | 2 |



---

License: Privacy policy

## Servers

```
https://yce-api-01.makeupar.com
```

## Security

### BearerAuthenticationV2

標準の 'Bearer authentication' を使用します。ヘッダーに 'API Key' を設定します: `Authorization:Bearer YOUR_API_KEY`。'Bearer' と 'YOUR_API_KEY' の間にスペース ' ' があることに注意してください。

Type: http
Scheme: bearer

## Download OpenAPI description

 - [ヒゲスタイル](https://docs.perfectcorp.com/_bundle/@l10n/ja/reference/ai_beard_style.yaml)

## V1.0

 - [GET /s2s/v2.0/task/template/beard-style](https://docs.perfectcorp.com/ja/reference/ai_beard_style/v1.0/paths/~1s2s~1v2.0~1task~1template~1beard-style/get.md)
 - [POST /s2s/v2.0/task/beard-style](https://docs.perfectcorp.com/ja/reference/ai_beard_style/v1.0/paths/~1s2s~1v2.0~1task~1beard-style/post.md): AI タスクは非同期です。機能ごとに Webhook がサポートされている場合は、Webhook による完了処理を優先します。Webhook エンドポイントを設定し、Webhook 署名を検証したうえで、`success` または `error` の通知が来たら、受け取った `task_id` を使ってタスクの結果を照会します。設定と検証の詳細は [Webhook 統合ガイド](/develop/
 - [GET /s2s/v2.0/task/beard-style/{task_id}](https://docs.perfectcorp.com/ja/reference/ai_beard_style/v1.0/paths/~1s2s~1v2.0~1task~1beard-style~1%7Btask_id%7D/get.md)
