# 靴バーチャル試着

# 概要
靴バーチャル試着を作成します。
靴を履いた状態のプレビューを確認できます。

## 統合ガイド
このガイドでは、以下を説明します。

*   **エンドポイント:** `/s2s/v2.0/task/shoes`
*   **認証:** すべてのリクエストには `Authorization: Bearer YOUR_API_KEY` が必要です
*   **ワークフロー:**
    1.  **セルフィー画像の準備:** バーチャル試着の対象として、自分の画像をアップロードするか、有効な画像 URL を指定します。
    1.  **靴画像の準備:** 靴の商品画像または靴を履いた人物の写真をアップロードします。
    1.  **スタイルと性別の選択:** 希望するスタイルと、視覚化したい性別を選択します。
    1.  **AI タスクの実行とタスク ID の取得:** レスポンスから `task_id` を取得します。
    1.  **ステータスのポーリング (`GET`):** `task_id` を使用してタスクのステータスを確認します。`task_status` が `"success"` または `"error"` になるまでポーリングを続けます。

---

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

---

* AI 靴 API 使用ガイド

このガイドでは、画像のアップロード、参照用靴の準備、および AI 靴 API を使用したバーチャル試着タスクの作成方法について説明します。

***

   * ステップ 1. セルフィー画像の準備

以下のいずれかの方法が可能です:
*   File API (`/s2s/v2.0/file`) を使用してセルフィー画像をアップロードする、または
*   有効な画像 URL を指定する。

     * ステップ 1.1 File API を使用したファイルのアップロード

**File API** (`/s2s/v2.0/file`) を使用して、対象ユーザーの画像をアップロードします。

**画像要件:**

*   セルフィー写真をアップロードします。
*   写真に上半身がはっきりと写っていることを確認してください。
*   複数の人物や気が散るオブジェクトがある背景は避けてください。

**リクエスト例:**

```bash
curl --request POST \
  --url https://yce-api-01.makeupar.com/s2s/v2.0/file \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --data '{
    "files": [
      {
        "content_type": "image/jpg",
        "file_name": "selfie_photo_01_3dbd1b6683.jpg",
        "file_size": 547541
      }
    ]
  }'
```

***

     * ステップ 1.2. File API レスポンスの取得

レスポンスには以下が含まれます:

*   AI タスク作成用の `file_id`。
*   実際の画像ファイルをアップロードするための `requests.url`。

**レスポンス例:**

```json
{
  "status": 200,
  "data": {
    "files": [
      {
        "content_type": "image/jpg",
        "file_name": "selfie_photo_01_3dbd1b6683.jpg",
        "file_id": "SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9/13W5TOD8/u/FfjK3xgCQ+hRt9MJXBFaud",
        "requests": [
          {
            "method": "PUT",
            "url": "https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...",
            "headers": {
              "Content-Length": "547541",
              "Content-Type": "image/jpg"
            }
          }
        ]
      }
    ]
  }
}
```

***

     * ステップ 1.3. 指定された URL への画像アップロード

File API レスポンスの `requests.url` を使用して画像をアップロードします:

```bash
curl --location --request PUT 'https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...' \
  --header 'Content-Type: image/jpg' \
  --header 'Content-Length: 547541' \
  --data-binary @'./selfie_photo_01_3dbd1b6683.jpg'
```

***

   * ステップ 2. 参照用靴画像の準備

以下のいずれかの方法が可能です:

*   File API (`/s2s/v2.0/file`) を使用して靴画像をアップロードする、または
*   有効な画像 URL を指定する。

**サポートされる靴画像:**

*   靴の商品画像。
*   靴を履いた人物の写真。

詳細な仕様については、**[ファイル仕様とエラー](#section/overview/File-Specs-and-Errors)** を参照してください。

***

   * ステップ 3. AI タスクの作成

希望するスタイルと、視覚化したい性別を選択します。
**AI タスク API** (`/s2s/v2.0/task/shoes`) を使用して、バーチャル試着タスクを作成します。

**パラメータ:**

*   ユーザー画像用: `src_file_id` または `src_file_url`。
*   靴画像用: `ref_file_id` または `ref_file_url`。

**リクエスト例:**

```bash
curl --request POST \
  --url https://yce-api-01.makeupar.com/s2s/v2.0/task/shoes \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --data '{
    "src_file_url": "https://example.com/selfie.jpg",
    "ref_file_url": "https://example.com/accessory.jpg",
    "gender": "female",
    "style": "random"
}'
```

**レスポンス例:**

```json
{
  "status": 200,
  "data": {
    "task_id": "SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9_13W5TOD8_u_GPi6NqQ3dhlmN-6ntFwhzT"
  }
}
```

***

   * ステップ 4. タスク結果のポーリング

タスク ID を使用してステータスを確認します:

```bash
curl --request GET \
  --url https://yce-api-01.makeupar.com/s2s/v2.0/task/shoes/SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9_13W5TOD8_u_GPi6NqQ3dhlmN-6ntFwhzT \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json'
```

***

   * ステップ 5. 結果の取得

成功したレスポンスには、結果画像のダウンロード URL が含まれます:

```json
{
  "status": 200,
  "data": {
    "error": null,
    "results": {
      "url": "https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature..."
    },
    "task_status": "success"
  }
}
```

無効な API キーのエラーレスポンス:

```json
{
  "status": 401,
  "error": "Unauthorized",
  "error_code": "InvalidAccessToken"
}
```

---

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

* AI 靴バーチャル試着仕様

   * 画像要件

| 種類 | 最小解像度 | 備考 |
| ------ | ------------------ | ----- |
| セルフィー | 512 × 512 | 顔が見えること、頭から胸までが推奨 |
| 靴 | 512 × 512 (商品)<br>800 × 800 (着用) | 靴がはっきりと、遮られずに写っていること |

**サポートされる靴画像**

* 商品画像の要件
    * 最小解像度: 512 × 512 ピクセル
    * 画像あたり 1 つの製品のみ
    * 製品は画像の高さの 25% 以上を占める必要があります

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

* 着用画像の要件
    * 最小解像度: 800 × 800 ピクセル
    * 単一アイテム要件: モデルは正確に 1 つのアイテムのみを着用している必要があります。複数のアイテムやアクセサリーは許可されません。
    * カバレッジ比率: 着用アイテムは画像全体の height の 20% 以上を占める必要があります。これにより、アイテムがフレーム内で明確に見え、目立つことが保証されます。

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

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

* 推奨画像解像度: 少なくとも 512 × 512 ピクセル。
* 推奨顔のカバレッジ: 画像の高さの 15% 以上。
* 単一被写体要件: 画像には正確に 1 人の人間の被写体のみが含まれている必要があります。追加の人物や部分的な人物像は許可されません。
* 顔の可視性: 被写体の顔が完全に視認可能で、遮られていない必要があります。髪、アクセサリー、またはオブジェクトが主要な顔の特徴を覆ってはいけません。
* フレーミング: 画像には少なくとも頭部ショットを含み、頭頂部から胸までの領域をカバーする必要があります。最適な分析のためには、半身ショット（頭から腰まで）が推奨されます。

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

**試着スタイル**

* バーチャル試着出力の生成には、"style_minimalist" "style_bohemian" "style_cottagecore" "style_french_elegance" および "style_retro_fashion" の 5 つの事前定義されたスタイルがあります。AI タスク作成時にこの style パラメータを指定するか、デフォルトでシステムがランダムにスタイルを選択させることができます。

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

---

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

| AI 機能 | サポートされる寸法 | サポートされるファイルサイズ | サポートされる形式 |
|  ----  | ----  | ----  | ----  |
| AI 靴バーチャル試着 | 入力: 長辺 <= 4096 <br>出力: 1008 x 1344 | < 10MB | jpg/jpeg/png/heic |

* エラーコード

| エラーコード | 説明 |
| ------------------------------ | -------------------------------------------- |
| error\_download\_image         | ソースまたは参照画像のダウンロードに失敗しました |
| error\_inference               | 推論パイプラインエラー |
| error\_no\_face                | ソース画像で顔が検出されませんでした |
| error\_nsfw\_content\_detected | 結果に NSFW コンテンツが検出されました |
| exceed\_max\_filesize          | ファイルサイズが 10 MB を超えています |
| invalid\_parameter             | 無効な gender または style 値 |
| unknown\_internal\_error       | その他の内部エラー |


* 環境と依存関係

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

---

## ユニット消費

| AI 機能 | 消費ユニット |
|---|---|
| AI 靴バーチャル試着 V2.0 | 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_shoes.yaml)

## V3.0

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

 - [POST /s2s/v2.0/task/shoes](https://docs.perfectcorp.com/ja/reference/ai_shoes/v2.0/paths/~1s2s~1v2.0~1task~1shoes/post.md): このエンドポイントは靴のバーチャル試着プロセスを開始します。ソースファイル、参照ファイル（URL または ID）、性別、スタイルパラメータを指定する必要があります。タスクは非同期で処理され、このレスポンスで返される task_id を使用してステータスを確認できます。
 - [GET /s2s/v2.0/task/shoes/{task_id}](https://docs.perfectcorp.com/ja/reference/ai_shoes/v2.0/paths/~1s2s~1v2.0~1task~1shoes~1%7Btask_id%7D/get.md)
