AI 臉部塑型
AI 臉部塑型 API 讓您可以程式化地重塑臉部特徵——眼睛、鼻子、嘴唇、下顎線,或整張臉——達到像素級的精準控制。用它為鼻整形、下巴填充、嘴唇豐唇、眉部提拉及其他美學療程工作流程,產生前後視覺化。
鼻整形(隆鼻) 我們的線上鼻整形模擬器提供醫療級的精準調整。不同於一般的照片編輯應用,它能全面模擬特定細節,包括鼻樑、提拉與鼻翼。透過超寫實的預覽,客戶能在諮詢前清楚呈現並探索理想的比例。
下巴填充 透過我們的線上模擬器,您可以預覽下巴填充達成的理想比例。微調下巴長度與下巴形狀,呈現後縮或短下巴的改善。在接受任何皮膚填充療程前,找到平衡臉部側影的最佳方案。
嘴唇填充 使用者可嘗試不同的嘴唇填充體積與形狀,模擬更飽滿嘴唇的外觀,幫助他們在進行療程前決定理想的結果。
眉部提拉手術 此功能讓使用者預覽眉部提拉的結果,透過提拉與重塑眉毛,創造更年輕、回春的外觀。
本指南將引導您完成:
AI 臉部塑型 API 的工作流程:
端點: /s2s/v2.0/file
需要認證: Authorization: Bearer YOUR_API_KEY
工作流程步驟:
圖片上傳準備:
- 準備要上傳的自拍圖片。
- 呼叫 File API
/s2s/v2.0/file取得上傳網址與相關的file_id。 - 使用提供的上傳網址上傳自拍圖片。
多張臉部的選填前處理:
- 若圖片中有多於一張臉部,請對自拍圖片進行前處理。
臉部塑型特效設定:
- 先選擇眼睛、臉、嘴唇或鼻子的合適臉部塑型參數。
啟動 AI 任務並取得任務 ID:
- 透過 HTTP POST 請求,將
file_id與所選特效設定傳送到/s2s/v2.0/task/face-reshape。 - 在回應中取得唯一的任務 ID,用以識別這次互動。
- 透過 HTTP POST 請求,將
輪詢任務狀態(持續檢查):
- 使用取得的
task_id,透過 HTTP GET 請求(例如GET /s2s/v2.0/task/face-reshape/${task_id})定期輪詢任務狀態。 - 持續監控:
Task_status = "success"(流程完成)。Task_status = "error"(視情況解決或重試)。
- 狀態轉為成功後,相應更新工作流程。
- 使用取得的
這個結構化的工作流程確保與使用者輸入的高效整合、任務的自動化監控,以及無縫取得結果。
- API Playground
使用我們的官方 playground 進行互動式探索與測試:
- 認證
- 使用 Bearer Token 將您的 API key 納入請求標頭:
Authorization: Bearer YOUR_API_KEY
您可以在 https://yce.makeupar.com/api-console/en/api-keys/ 找到您的 API Key。
上傳圖片
您可以直接上傳檔案到伺服器,或在 AI 任務內容中提供有效的圖片網址。
上傳端點
POST /s2s/v2.0/file
或者,若您已有公開的圖片網址,可跳過此步驟。
準備特效範本
前處理 輸出以像素座標表示的偵測邊界框。使用結果的索引,在稍後建立臉部塑型 AI 任務。
{ "timed": number, "result": [ { "left": number, "top": number, "width": number, "height": number } ] }- 特效範本 JSON Schema
{ "version": "1.0", "index": 0, "features": {}, "global": { "skin_smooth_strength": 50, "skin_smooth_color_intensity": 50, }, }index:來自前處理的偵測臉部索引。選填,預設 0。 features:必要,至少 1 個非零的臉部塑型參數,不可全為零。 skin_smooth_strength: 0~100 skin_smooth_color_intensity: 0~100
- 特效格式
- 臉 預設範圍:-100~100 顴骨與下顎的範圍:0~100 所有功能值不可同時為零,至少有一個功能值必須非零
{ "cheekbones": 0, "jaw": 0, "face_reshape_left": 0, "face_reshape_right": 0, "face_width": 0, "chin_reshape_left": 0, "chin_reshape_right": 0, "chin_length": 0, }- 眼睛 預設範圍:-100~100 所有功能值不可同時為零,至少有一個功能值必須非零
{ "eye_size_left": 0, "eye_size_right": 0, "eye_distance": 0, "eye_angle": 0, "eye_height": 0, "eye_width": 0, }- 鼻子 預設範圍:-100~100 所有功能值不可同時為零,至少有一個功能值必須非零
{ "nose_bridge_width": 0, "nose_lift": 0, "nose_size": 0, "nose_tip": 0, "nose_tip_width": 0, "nose_wing": 0 }- 嘴唇 預設範圍:-100~100 所有功能值不可同時為零,至少有一個功能值必須非零
{ "lip_size": 0, "lip_width": 0, "lip_peak": 0, "lip_height_top": 0, "lip_height_bottom": 0, }- 內容範例(可直接發送)
{ "src_file_url": "https://plugins-media.makeupar.com/strapi/assets/face_reshape_01_85c8ffc055.jpg", "version": "1.0", "source": "yco", "features": { "eye_size_left": 80, "eye_size_right": 80, "eye_width": 0, "eye_height": 0, "eye_distance": 0, "eye_angle": 0, "face_reshape_left": 0, "face_reshape_right": 0, "chin_reshape_left": 20, "chin_reshape_right": 20, "chin_length": 0, "face_width": -30, "cheekbones": 0, "jaw": 0, "lip_size": 10, "lip_width": 40, "lip_height_top": 10, "lip_height_bottom": 10, "lip_peak": -10, "nose_size": 30, "nose_lift": -20, "nose_bridge_width": 10, "nose_tip": -10, "nose_wing": 30, "nose_tip_width": 30 }, "global": { "skin_smooth_strength": 50, "skin_smooth_color_intensity": 50 } }
建立臉部塑型 AI 任務並輪詢結果
當您取得圖片與完整的特效內容後,即可建立任務。API 以非同步方式處理請求。您必須輪詢任務狀態,直到達到
success或error。建立任務端點
POST /s2s/v2.0/task/face-reshape輪詢端點
GET /s2s/v2.0/task/face-reshape/{task_id}
- AI 臉部塑型規範
支援的自拍視角 自拍照片中,臉部的寬與高需大於圖片寬度與高度的 1/20。 pitch、yaw 與 rolling 的臉部角度小於 30 度。
![]()
臉部自訂參數指南
| 類別 | 參數 | 功能 | 最小 (-100 / 0) | 最大 (100) |
|---|---|---|---|---|
| 眼睛 | 大小(左/右) | 調整每隻眼睛的整體大小 | 小 | 大 |
| 眼睛 | 寬度 | 調整水平跨度 | 窄 | 寬 |
| 眼睛 | 高度 | 調整垂直跨度 | 窄/平 | 圓/高 |
| 眼睛 | 距離 | 調整兩眼間的間距 | 靠近 | 分開 |
| 眼睛 | 角度 | 調整旋轉傾斜 | 內傾 | 外傾 |
| 臉 | 大小(左/右) | 調整臉部每側的大小 | 小 | 大 |
| 臉 | 下巴形狀(左/右) | 調整下巴輪廓寬度 | 窄 | 寬 |
| 臉 | 下巴長度 | 調整下巴的垂直長度 | 短 | 長 |
| 臉 | 寬度 | 調整整體臉部寬度 | 窄 | 寬 |
| 臉 | 顴骨 | 調整顴骨的明顯程度 | 原始 (0) | 內收 |
| 臉 | 下顎 | 調整下顎線的明顯程度 | 原始 (0) | 內收 |
| 嘴唇 | 大小 | 調整嘴唇的整體體積 | 小 | 大 |
| 嘴唇 | 寬度 | 調整水平跨度 | 窄 | 寬 |
| 嘴唇 | 上唇高度 | 調整上唇厚度 | 薄 | 飽滿 |
| 嘴唇 | 下唇高度 | 調整下唇厚度 | 薄 | 飽滿 |
| 嘴唇 | 唇峰 | 調整丘比特弓的鮮明度 | 平滑 | 明確 |
| 鼻子 | 大小 | 調整鼻子的整體大小 | 小 | 大 |
| 鼻子 | 提拉 | 調整垂直位置 | 低 | 高 |
| 鼻子 | 鼻樑 | 調整鼻樑寬度 | 窄 | 寬 |
| 鼻子 | 鼻尖 | 調整鼻尖的垂直角度 | 向上 | 向下 |
| 鼻子 | 鼻翼 | 調整鼻孔寬度 | 窄 | 寬 |
| 鼻子 | 寬度 | 調整鼻尖的寬度 | 窄 | 寬 |
說明: “左”與“右”指的是人物的視角,而非螢幕上觀看者的一側。
- 支援的格式與尺寸
| AI 功能 | 支援的尺寸 | 支援的檔案大小 | 支援的格式 |
|---|---|---|---|
| AI 臉部塑型 | 長邊 <= 4096 | < 10MB | jpg/jpeg/png |
- 錯誤代碼
| 錯誤代碼 | 說明 |
|---|---|
| RUNTIME_ERROR | 臉部塑型執行期間發生不如預期的錯誤 |
| PHOTO_DETECTION_FAIL | 無法正確處理使用者照片,例如未偵測到手 |
| OBJECT_DETECTION_FAIL | 無法正確處理物件照片,例如未偵測到產品 |
| PHOTO_CHECK_INVALID | 使用者照片的姿勢或尺寸無效 |
| INPUT_ERROR | 輸入檔案格式不正確 |
| INPUT_MAIN_IMAGE_EMPTY | 需要使用者圖片 |
- 環境與相依性
| 範例程式語言 / 工具 | 建議的執行環境版本 |
|---|---|
| cURL | - bash >= 3.2 - curl >= 7.58(現代 TLS/HTTP 支援) - jq >= 1.6(穩健的 JSON 解析) |
| Node.js(JavaScript) | Node >= 18(支援全域 fetch) |
| JavaScript | - Chrome / Edge >= 80 - Firefox >= 74 - 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 |