# 指輪バーチャル試着タスクを実行します。

AI タスクは非同期です。機能ごとに Webhook がサポートされている場合は、Webhook による完了処理を優先します。Webhook エンドポイントを設定し、Webhook 署名を検証したうえで、`success` または `error` の通知が来たら、受け取った `task_id` を使ってタスクの結果を照会します。設定と検証の詳細は [Webhook 統合ガイド](../develop/webhook.md) を参照してください。
Webhook がサポートされていない場合、または統合に使えない場合は、ポーリングを実装します。AI タスクを送信した後、一定の間隔（例：10 秒ごと）でステータスエンドポイントをポーリングし、`success` または `error` になるまで待ちます。

Endpoint: POST /s2s/v2.0/task/2d-vto/ring
Security: BearerAuthenticationV2

## Security:

  - `BearerAuthenticationV2` (unknown)
    http bearer

## Request fields (application/json):

  - `object_infos` (array)

  - `object_infos.parameter` (object)

  - `object_infos.parameter.ring_need_remove_background` (boolean)
    指輪画像の背景を透過するかどうか。
    Example: true

  - `object_infos.parameter.ring_anchor_point` (array)
    指輪画像のアンカーポイント。指輪の内側の縁に沿って最も離れた 2 点を示します。型: 整数の 2x2 リスト範囲: 2 つの (x, y) ピクセル座標初期値: null (エンジンデフォルトを使用)
    Example: null

  - `object_infos.parameter.ring_wearing_finger` (integer)
    指輪を着用する指を指定します。初期値: null (エンジンデフォルトを使用)範囲: 0 ~ 4 [親指から小指]
    Enum: 0, 1, 2, 3, 4

  - `object_infos.parameter.ring_wearing_location` (number)
    ユーザー写真内の選択した指に対する指輪の配置位置を指定します。範囲: 0.0 ~ 1.0 (0 = 指の付け根, 1 = 第 1 関節)
    Example: null

  - `object_infos.parameter.ring_shadow_intensity` (number)
    指輪に適用される影の強度 (値が大きいほど影が濃くなります)。
    Example: 0.15

  - `object_infos.parameter.ring_ambient_light_intensity` (number)
    指輪の環境光調整強度。
    Example: 1

## Response 200:

  - `200` (unknown)
    タスクの実行に成功しました

## Response 200 fields (application/json):

  - `status` (integer)
    レスポンスステータス
    Example: 200

  - `data` (object)

  - `data.task_id` (string)
    このタスクの ID。タスクの結果は、この ID を使用して 24 時間以内にクエリできます。
    Example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe

## Response 400:

  - `400` (unknown)
    タスクの実行に失敗しました

## Response 400 fields (application/json):

  - `status` (integer)
    レスポンスステータス
    Example: 400

  - `error` (string)
    エラーメッセージ
    Example: The operation could not be completed

  - `error_code` (string)
    エラーコード:
* InvalidParameters - 無効なリクエストパラメータ
* CreditInsufficiency - 実行に必要なユニットが不足しています
* BadRequest - 予期しないリクエストパラメータ
* InvalidStyleGroup - 無効なスタイルグループ ID
* InvalidStyle - 無効なスタイル ID
    Enum: "InvalidParameters", "CreditInsufficiency", "InvalidStyleGroup", "InvalidStyle", "BadRequest"

## Response 401:

  - `401` (unknown)
    無効または欠落している API キー

## Response 401 fields (application/json):

  - `status` (integer)
    レスポンスステータス
    Example: 401

  - `error` (string)
    Example: Invalid API key

## Response 429:

  - `429` (unknown)
    リクエストが多すぎます

## Response 429 fields (application/json):

  - `status` (integer)
    レスポンスステータス
    Example: 429

  - `error` (string)
    Example: Too many requests

