跳转到内容

端點總覽

這是什麼。 一次呼叫同時完成肌膚檢測、進階肌膚報告與產品推薦。您拿到的是一份扎實的報告——依據實測的肌膚指標與專業護膚參考資料庫——加上完全取自您自家產品的推薦,只需要一個請求、一套輪詢流程。

一個 API 呼叫跑完整個閉環:科學、可信度高、精準的肌膚分析報告,再附上完全以您的目錄為依據的產品推薦。產品曝光與使用者回留,在同一次處理、同一段不中斷的使用者旅程中一起到位。

  • 前置作業——上傳您的產品目錄

產品目錄就是肌膚檢測進行推薦時所用的產品清單。上傳一次,記住它的 catalog_id,之後每次肌膚檢測都傳入這個 id。目錄歸屬您的帳號,而不是某一個 API key——帳號下的每個 key(包含專案 key)看到的都是同一批目錄,輪換或刪除 key 都不會影響它們。上傳與儲存目錄是免費的。

目錄檔案需求

項目值
格式含標題列的 CSV
編碼UTF-8,可含或不含 BOM(Excel 的「CSV UTF-8」會加上 BOM)
最大檔案大小5 MB
最大 SKU 數量除檔案大小外無限制
必要欄位product_id、product_name、product_description

其他欄位會被忽略,但仍計入 5 MB 限制。含逗號或換行的值請加上引號。每個非空的資料列計為一個 SKU。

product_id,product_name,product_description
SKU-001,Hydrating Serum,"A lightweight serum for dry skin."
SKU-002,Brightening Cream,"Evens out skin tone, for daily use."
SKU-003,Barrier Repair Cream,"Rich cream for dry, redness-prone skin."
# Upload a catalog — validated in the same request
curl -sS -X POST "$BASE_URL/s2s/v2.1/product-catalog" \
  -H "Authorization: Bearer $API_KEY" \
  -F "file=@catalog.csv" \
  -F "name=Summer skincare"

通過驗證的檔案會回傳 status: ready,並附上它的 catalog_id 與 sku_count——請保留這個 id:

{
  "status": 200,
  "data": {
    "catalog_id": "1662043585118399001",
    "name": "Summer skincare",
    "status": "ready",
    "created_time": 1760256000000,
    "sku_count": 3
  }
}
# List every catalog of your account, newest first (ready and failed alike)
curl -sS -H "Authorization: Bearer $API_KEY" "$BASE_URL/s2s/v2.1/product-catalog"

# Delete a catalog — immediate and permanent
curl -sS -X DELETE -H "Authorization: Bearer $API_KEY" \
  "$BASE_URL/s2s/v2.1/product-catalog/1662043585118399001"

目錄狀態與限制

狀態意義可用於肌膚檢測
ready已上傳並通過驗證是
failed已上傳,但檔案驗證失敗否

驗證失敗的上傳會回傳錯誤,而且仍會被記錄成一個 failed 目錄,在「列出目錄」中看得到它;錯誤內容不會帶出它的 catalog_id。每個帳號最多可保留 10 個目錄,ready 與 failed 合併計算——上傳新目錄前請先刪掉一個。要更新目錄,請上傳新檔案:每次上傳都會建立新的 catalog_id,舊目錄在您刪除前仍可使用,因此可以先確認新目錄再切換。


  • 建立 AI 任務
# Skin Intel System — Report + Recommendations
curl -sS -X POST "$BASE_URL/s2s/v2.1/task/skin-analysis-report-recommendation" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "src_file_url": "https://your-cdn.example.com/customer-001.jpg",
    "dst_actions": [
      "hd_skin_type", "hd_wrinkle", "hd_pore", "hd_texture",
      "hd_acne", "hd_redness", "hd_oiliness", "hd_moisture",
      "hd_age_spot", "hd_radiance", "hd_dark_circle", "hd_firmness",
      "hd_eye_bag", "hd_tear_trough", "hd_droopy_upper_eyelid",
      "hd_droopy_lower_eyelid"
    ],
    "format": "zip",
    "pf_camera_kit": true,
    "miniserver_args": {
      "enable_mask_overlay": true
    },
    "advanced_report": {
      "language": "enu",
      "tone": "warm",
      "country": "United States",
      "city": "New York"
    },
    "product_recommendation": {
      "catalog_id": "1662043585118399001",
      "top_n": 3
    }
  }'

  • 輪詢取得報告與推薦

每次呼叫都會立刻回傳一個 BasicRunTaskResponseV2;用回傳的 id 輪詢任務就行,報告與推薦結果都放在 llm_results.json 裡。

# 1. Run the task and capture the task id
TASK_ID=$(curl -sS -X POST "$BASE_URL/s2s/v2.1/task/skin-analysis-report-recommendation" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }' | jq -r '.data.task_id')

# 2. Poll until task_status is "success"
curl -sS -H "Authorization: Bearer $API_KEY" \
  "$BASE_URL/s2s/v2.1/task/skin-analysis-report-recommendation/$TASK_ID"

task_status 會從 running 走到 success | error。用 format: zip 時,results.url 是一條有效期限 2 小時的下載連結,ZIP 裡有一個 skinanalysisResult 資料夾,包含 score_info.json 與所有偵測結果圖片。用 format: json 時,results.output 會把分數直接回傳在回應內容中。


  • 請求欄位速查
欄位必填說明
src_file_id / src_file_url是(二者其一)輸入圖片,規則依 BasicRunTaskV2
dst_actions是要全選 HD 功能,或全選 SD 功能——不可混用
format否zip(預設)| json——兩者的回應 schema 不同
pf_camera_kit否V2.1 新增;臉部輪廓與五官定位
miniserver_args否遮罩疊加,以及 HD 毛孔/皺紋的背景控制項
advanced_report否有送就出報告;{} 表示全採預設值;不送就沒有報告
product_recommendation否有送就出推薦;需要 catalog_id

解析度。 所有輸出圖片的長邊都以 2560 px 為上限,輸入圖片會自動調整尺寸。若 enable_mask_overlay 為 false,您拿到的是原始遮罩 .png,必須自行合成——請先確認輸入解析度,長邊超過 2560 px 時,就以 2560 px 來設定您的顯示尺寸。