# 執行 AI 牙齒美白的偵測任務。

當來源照片可能包含超過一個有效目標，或您的整合需要明確選擇哪個被偵測到的目標接受特效時，請使用前處理任務。對於單一目標的圖片，當功能支援預設的 `index` 值，且您的應用程式不需要手動選擇目標時，可以跳過前處理。
前處理任務會偵測來源照片中的候選目標，並在 `data.results.result` 中回傳它們的座標。結果陣列中的每個項目代表一個被偵測到的目標。檢視回傳的座標，將它們對應到來源照片中預期的臉部或區域，並在建立特效任務時，將該項目的零基陣列索引作為 `index` 值使用。
對於偵測到多張臉或多個區域的圖片，請不要在未檢查前處理結果的情況下依賴預設的 `index` 值。特效只會套用到由 `index` 選定的目標，因此整合必須在執行特效任務前，確認對應到預期目標的結果項目。
這個任務是非同步的。建立任務後，若功能支援，請以 webhook 處理完成，否則輪詢對應的前處理狀態端點，直到 `data.task_status` 為 `success` 或 `error`。

Endpoint: POST /s2s/v2.0/task/teeth-whiten/pre-process
Security: BearerAuthenticationV2

## Security:

  - `BearerAuthenticationV2` (unknown)
    http bearer

## Request fields (application/json):

  - `src_file_url` (string, required)
    要執行任務的檔案網址。該網址應可公開存取。
    Example: https://example.com/selfie.jpg

  - `src_file_id` (string, required)
    要執行任務的檔案 ID。檔案 ID 來自上傳檔案 API。
    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

