# ネイル再現タスクを実行します。

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

Endpoint: POST /s2s/v2.0/task/ai-nail
Security: BearerAuthenticationV2

## Security:

  - `BearerAuthenticationV2` (unknown)
    http bearer

## Request fields (application/json):

  - `src_file_url` (string, required)
    タスクを実行するファイルの URL。この URL は公開されている必要があります。
    Example: https://example.com/selfie.jpg

  - `ref_file_url` (string, required)
    タスクを実行するための参照ファイルの URL。この URL は公開されている必要があります。
    Example: https://example.com/accessory.jpg

  - `ref_file_id` (string, required)
    タスクを実行するための参照ファイルの ID。ファイルアップロード API から取得したファイル ID です。
    Example: pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE=

  - `src_file_id` (string, required)
    タスクを実行するファイルの ID。ファイルアップロード API から取得したファイル ID です。
    Example: pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE=

## 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

