# イヤリングバーチャル試着

# 概要
イヤリングバーチャル試着
イヤリング試着とピアシング試着のプレビューを作成します。

2D 画像からイヤリングバーチャル試着を作成します。3D モデリングは不要です。

## 統合ガイド
本ガイドでは以下内容を説明します:

*   **エンドポイント:** `/s2s/v2.0/task/2d-vto/earring`
*   **認証:** すべてのリクエストに `Authorization: Bearer YOUR_API_KEY` が必要です
*   **ワークフロー:**
    1.  **セルフィー画像を準備する:** 画像をアップロードするか、有効な画像 URL を提供します
    2.  **イヤリング画像を準備する:** 画像をアップロードするか、イヤリング製品の有効な画像 URL を提供します
    3.  **AI タスクを発行しタスク ID を取得する:** レスポンスから `task_id` を取得します。
    4.  **ステータスをポーリングする（`GET`）:** `task_id` を使用してタスクのステータスを確認します。`task_status` が `"success"` または `"error"` になるまでポーリングを続行してください。

---

* API プレイグラウンド

API プレイグラウンドで API を対話的にテストします:

**API プレイグラウンド:**
[http://yce.makeupar.com/api-console/en/api-playground/ai-earring-virtual-try-on/](http://yce.makeupar.com/api-console/en/api-playground/ai-earring-virtual-try-on/)

---

* 認証
- リクエストヘッダーに **Bearer Token** を使用して API キーを含めます:
    ```
    Authorization: Bearer YOUR_API_KEY
    ```
API キーの確認場所: https://yce.makeupar.com/api-console/en/api-keys/.


* 1. 画像のアップロード

ファイルをサーバーに直接アップロードするか、VTO タスクペイロードに有効な画像 URL を提供できます。

   * アップロードエンドポイント

```
POST /s2s/v2.0/file
```

すでにパブリックな画像 URL を持っている場合は、このステップをスキップできます。

File API のレスポンスで提供された URL にファイルを直接アップロードし、その後 File API が返した対応する `src_file_id` を使用して AI タスクを呼び出すことができます。または VTO タスクペイロードに有効な画像 URL を `src_file_url` として提供します。`src_file_id` または `src_file_url` がバーチャル試着の対象となります。

また、`src_file_id` または `src_file_url` に適用するイヤリング製品画像を参照として `ref_file_ids` または `ref_file_urls` で提供する必要があります。

AI エンジンでは、イヤリング製品画像の自動背景透過に対応しています。ただし、手（`srcmsk_file_id` または `srcmsk_file_url`）またはイヤリング製品（`refmsk_file_ids` または `refmsk_file_urls`）のオクルージョンマスク画像ファイルを提供してセグメンテーションを微調整できます。

---

* 2. イヤリング VTO タスクの作成と結果のポーリング

画像とテンプレート ID が揃ったら、タスクを作成します。API はリクエストを非同期で処理します。ステータスが `success` または `error` に達するまでタスクステータスをポーリングする必要があります。

   * タスク作成エンドポイント

```
POST /s2s/v2.0/task/2d-vto/earring
```

   * ポーリングエンドポイント

```
GET /s2s/v2.0/task/2d-vto/earring/{task_id}
```

---

## ファイル仕様とエラー

* イヤリングバーチャル試着の仕様

**サポートされるイヤリング参照画像**
* 遮蔽のない明瞭な前面ビューの単一のイヤリング画像。
*   すべてのパラメータ（アンカーポイント、マスク、位置などを含む）は、参照画像が**片方のイヤリング**を着用している場合のみ適用されます。
*   試着の参照画像に**両方のイヤリング**が表示されている場合、すべてのパラメータは**自動検出とデフォルト設定**を使用します。
*   **両方のイヤリング**を試着する場合、より明瞭な耳がソースとして使用され、もう片方の耳はミラーリングによって生成されます。

![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/strapi/assets/earring_product_01_41c943f9fc_037ffb1241.jpg) ![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/strapi/assets/earring_product_07_5476e0a156_a69e8e6549.jpg)

**サポートされるセルフィービュー**

*   イヤリングバーチャル試着は前面画像に対応していますが、最も良い結果は横顔の画像で得られます。

![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/strapi/assets/Earring_restriction_cdf1de3c7b.png)

**earring\_wearing\_location: integer array of size 2**
セルフィー内でイヤリングを配置すべきターゲット位置を指定します。
デフォルト値: null（エンジンのデフォルト）

![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/strapi/assets/wearing_location_b4f6f4453a.jpg)

**earring\_scale: number greater than 0**
センチメートルでイヤリングのサイズを制御します。
デフォルト値: null（エンジンのデフォルト）

**earring\_is\_right\_ear: boolean**
イヤリングが右耳に装着されているかどうかを示します。デフォルトでは右耳に装着されます。
デフォルト値: true

**earring\_occluded\_type: number (Enum: 0, 1, 2)**
オクルージョンの種類を指定します:
0 は自動検出を意味します
1 は遮蔽ありを意味します
2 は遮蔽なしを意味します
デフォルト値: 0

**earring\_shadow\_intensity: float (0.0 to 1.0)**
影の強さを制御します:
0.0 は影なしを示します
1.0 は最大限の影を示します
デフォルト値: 0.15

**earring\_ambient\_light\_intensity: float (0.0 to 1.0)**
ライティングがセルフィー画像を参照する度合いを定義します:
0.0 はセルフィー画像のライティングを無視します
1.0 はセルフィー画像のライティングと影のレンダリングに完全に一致させます
デフォルト値: 1.0

**イヤリングアンカーポイント: ピクセル座標の 1 点の配列（任意）**
イヤリング製品画像内の装着位置を指定します。
デフォルト値: null（エンジンのデフォルト）

![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/strapi/assets/anchor_point_787282aa19.jpg)


---

* サポートされる形式と寸法

|AI 機能|サポートされる寸法|サポートされるファイルサイズ|サポートされる形式|
|  ----  | ----  | ----  | ----  |
|イヤリングバーチャル試着|長辺 <= 4096 |< 10MB|jpg/jpeg/png|

* エラーコード

|エラーコード|説明|
|  ----  | ----  |
| RUNTIME_ERROR | イヤリングランタイムで予期しないエラーが発生しました |
| PHOTO_DETECTION_FAIL | ユーザー写真が正しく処理できませんでした（例: 手が検出されなかった） |
| OBJECT_DETECTION_FAIL | オブジェクト写真が正しく処理できませんでした（例: 製品が検出されなかった） |
| PHOTO_CHECK_INVALID | ユーザー写真のポーズまたはサイズが無効です |
| INPUT_ERROR | 入力ファイルの形式が正しくありません |
| INPUT_MAIN_IMAGE_EMPTY | ユーザー画像が必要です |


* 環境と依存関係

| サンプルコードの言語/ツール | 推奨ランタイムバージョン |
|---|---|
| cURL | - bash >= 3.2</br>   - curl >= 7.58（モダンな TLS/HTTP サポート）</br>   - jq >= 1.6（堅牢な JSON パーシング） |
| Node.js (JavaScript) | Node >= 18（グローバル fetch のため） |
| JavaScript | - Chrome / Edge >= 80</br>   - Firefox >= 74</br>   - 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 |

---

## JS Camera Kit
{% partial file="/_partials/js-camera-kit.md" /%}

---

## ユニット消費

| AI 機能 | 消費ユニット |
|---|---|
| イヤリングバーチャル試着 V1.0 | シングルアイテム着用で 1 ユニット<br> スタック着用で 2 ユニット |

---


License: Privacy policy

## Servers

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

## Security

### BearerAuthenticationV2

[object Object]

Type: http
Scheme: bearer

## Download OpenAPI description

 - [イヤリングバーチャル試着](https://docs.perfectcorp.com/_bundle/@l10n/ja/reference/ai_earrings.yaml)

## V1.0

 - [POST /s2s/v2.0/task/2d-vto/earring](https://docs.perfectcorp.com/ja/reference/ai_earrings/v1.0/paths/~1s2s~1v2.0~1task~12d-vto~1earring/post.md): このエンドポイントはイヤリングのバーチャル試着プロセスを開始します。ソースファイルと参照画像（URL またはファイル ID 経由）に加え、アライメント、シャドウ、装着位置のための特定のパラメータを指定する必要があります。タスクは非同期で処理され、このレスポンスで返される task_id を使用してステータスを確認できます。
 - [GET /s2s/v2.0/task/2d-vto/earring/{task_id}](https://docs.perfectcorp.com/ja/reference/ai_earrings/v1.0/paths/~1s2s~1v2.0~1task~12d-vto~1earring~1%7Btask_id%7D/get.md)
