イヤリングバーチャル試着
本ガイドでは以下内容を説明します:
- エンドポイント:
/s2s/v2.0/task/2d-vto/earring - 認証: すべてのリクエストに
Authorization: Bearer YOUR_API_KEYが必要です - ワークフロー:
- セルフィー画像を準備する: 画像をアップロードするか、有効な画像 URL を提供します
- イヤリング画像を準備する: 画像をアップロードするか、イヤリング製品の有効な画像 URL を提供します
- AI タスクを発行しタスク ID を取得する: レスポンスから
task_idを取得します。 - ステータスをポーリングする(
GET):task_idを使用してタスクのステータスを確認します。task_statusが"success"または"error"になるまでポーリングを続行してください。
- API プレイグラウンド
API プレイグラウンドで API を対話的にテストします:
- 認証
- リクエストヘッダーに Bearer Token を使用して API キーを含めます:
Authorization: Bearer YOUR_API_KEY
API キーの確認場所: https://yce.makeupar.com/api-console/en/api-keys/.
- 画像のアップロード
ファイルをサーバーに直接アップロードするか、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)のオクルージョンマスク画像ファイルを提供してセグメンテーションを微調整できます。
- イヤリング VTO タスクの作成と結果のポーリング
画像とテンプレート ID が揃ったら、タスクを作成します。API はリクエストを非同期で処理します。ステータスが success または error に達するまでタスクステータスをポーリングする必要があります。
- タスク作成エンドポイント
POST /s2s/v2.0/task/2d-vto/earring- ポーリングエンドポイント
GET /s2s/v2.0/task/2d-vto/earring/{task_id}- イヤリングバーチャル試着の仕様
サポートされるイヤリング参照画像
- 遮蔽のない明瞭な前面ビューの単一のイヤリング画像。
- すべてのパラメータ(アンカーポイント、マスク、位置などを含む)は、参照画像が片方のイヤリングを着用している場合のみ適用されます。
- 試着の参照画像に両方のイヤリングが表示されている場合、すべてのパラメータは自動検出とデフォルト設定を使用します。
- 両方のイヤリングを試着する場合、より明瞭な耳がソースとして使用され、もう片方の耳はミラーリングによって生成されます。

サポートされるセルフィービュー
- イヤリングバーチャル試着は前面画像に対応していますが、最も良い結果は横顔の画像で得られます。

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

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(エンジンのデフォルト)

- サポートされる形式と寸法
| 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 - 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 |