{"templateId":"api_docs","sharedDataIds":{"apiDocsStore":"api-docs-@l10n/zh-TW/reference/ai_body_reshape.yaml","sidebar":"sidebar-@l10n/zh-TW/reference/sidebars.yaml"},"props":{"definitionId":"@l10n/zh-TW/reference/ai_body_reshape.yaml","settings":{"baseUrlPath":"/zh-tw/reference/ai_body_reshape"},"disableAutoScroll":true,"seo":{"title":"AI 身形調整","description":"YouCam API documentation by Perfect Corp. Learn how to use Skin analysis API, Virtual try-on API, Image editing API, and Video generative AI APIs.","siteUrl":"https://docs.perfectcorp.com","keywords":"AI Skin Analysis, AI Clothes, AI Hairstyle, AI Outfits","image":"/assets/favicon.cd6fa4d833b2a573b3c6dae68386b293da205b203402cb0c97b80bd2acc07ea2.8351e24f.png"},"dynamicMarkdocComponents":[],"metadata":{"type":"openapi","title":"AI 身形調整","version":"","description":"# 概述\n用於身形調整與瘦身的 AI 身形調整 API\n用 AI 身體編輯器，在照片中充滿自信！雕塑、重塑並增強您的身體，達到自然、驚豔的比例。輕鬆重塑任何區域——腰、手臂、大腿、胸部等。輕輕一點，即可获得自然、驚豔的結果！\n\n\n## 整合指南\n本指南將引導您完成：\n\nAI 身形調整 API 的工作流程：\n\n**端點：** `/s2s/v2.0/task/body-reshape`\n\n**需要認證：** `Authorization: Bearer YOUR_API_KEY`\n\n**工作流程步驟：**\n\n1. **圖片上傳準備：**\n    - 準備要上傳的自拍圖片。\n    - 呼叫 File API `/s2s/v2.0/file` 取得上傳網址與相關的 `file_id`。\n    - 使用提供的上傳網址上傳自拍圖片。\n\n2. **團體照片的選填前處理：**\n    - 若圖片中有多於一人，請對自拍圖片進行前處理。\n\n3. **身形調整特效設定：**\n    - 先選擇合適的身形調整參數。\n\n4. **啟動 AI 任務並取得任務 ID：**\n    - 透過 HTTP POST 請求，將 `file_id` 與所選特效設定傳送到 `/s2s/v2.0/task/body-reshape`。\n    - 在回應中取得唯一的任務 ID，用以識別這次互動。\n\n5. **輪詢任務狀態（持續檢查）：**\n    - 使用取得的 `task_id`，透過 HTTP GET 請求（例如 `GET /s2s/v2.0/task/body-reshape/${task_id}`）定期輪詢任務狀態。\n    - 持續監控：\n    - `Task_status = \"success\"`（流程完成）。\n    - `Task_status = \"error\"`（視情況解決或重試）。\n    - 狀態轉為成功後，相應更新工作流程。\n\n這個結構化的工作流程確保與使用者輸入的高效整合、任務的自動化監控，以及無縫取得結果。\n\n---\n\n* API Playground\n\n使用我們的官方 playground 進行互動式探索與測試：\n\n**API Playground：**\n[http://yce.makeupar.com/api-console/en/api-playground/ai-body-reshape/](http://yce.makeupar.com/api-console/en/api-playground/ai-body-reshape/)\n\n---\n\n* 認證\n- 使用 **Bearer Token** 將您的 API key 納入請求標頭：\n```\nAuthorization: Bearer YOUR_API_KEY\n```\n您可以在 https://yce.makeupar.com/api-console/en/api-keys/ 找到您的 API Key。\n\n\n* 1. 上傳圖片\n\n您可以直接上傳檔案到伺服器，或在 AI 任務內容中提供有效的圖片網址。\n\n* 上傳端點\n\n```\nPOST /s2s/v2.0/file\n```\n\n或者，若您已有公開的圖片網址，可跳過此步驟。\n\n---\n\n* 2. 準備特效範本\n\n* 前處理\n輸出以像素座標表示的偵測邊界框。使用結果的索引，在稍後建立身形調整 AI 任務。\n```\n{\n\"timed\": number,\n\"result\": [\n{\n \"left\": number,\n \"top\": number,\n \"width\": number,\n \"height\": number\n}\n]\n}\n```\n\n* Effect Template JSON Schemas\n```\n{\n\"version\": \"1.0\",\n\"index\": 0,\n\"features\": {\n\"arm\": 0, // -100~100\n\"breast_left\": 0, // -100~100\n\"breast_right\": 0, // -100~100\n\"hip\": 0, // -100~100\n\"hip_lift\": 0, // -100~100\n\"leg\": 0, // -100~100\n\"neck_left\": 0, // 0~100\n\"neck_right\": 0, // 0~100\n\"shoulder_left\": 0, // -100~100\n\"shoulder_right\": 0, // -100~100\n\"squared_shoulder_left\": 0, // -100~100\n\"squared_shoulder_right\": 0, // -100~100\n\"slim\": 0, // -100~100\n\"taller\": 0, // 0~100\n\"waist\": 0, // -100~100\n\"belly\": 0 // -100~100\n}\n}\n```\nindex：來自前處理的偵測身體索引。選填，預設 0。\nfeatures：必要，至少 1 個非零的身形調整參數，不可全為零。\n\n\n* 內容範例（可直接發送）\n```\n{\n \"src_file_url\": \"https://plugins-media.makeupar.com/strapi/assets/body_reshape_02_7777218379.jpg\",\n \"version\": \"1.0\",\n \"index\": 0,\n \"features\": {\n\"arm\": 0,\n\"waist\": -20,\n\"taller\": 80,\n\"squared_shoulder_left\": 10,\n\"squared_shoulder_right\": 10,\n\"neck_left\": 0,\n\"neck_right\": 0,\n\"hip\": 10,\n\"breast_left\": 30,\n\"breast_right\": 30,\n\"slim\": -70,\n\"shoulder_left\": 30,\n\"shoulder_right\": 30,\n\"leg\": -30,\n\"hip_lift\": 0,\n\"belly\": -50\n }\n}\n```\n\n\n* 3. 建立身形調整 AI 任務並輪詢結果\n\n當您取得圖片與完整的特效內容後，即可建立任務。API 以非同步方式處理請求。您必須輪詢任務狀態，直到達到 `success` 或 `error`。\n\n* 建立任務端點\n\n```\nPOST /s2s/v2.0/task/body-reshape\n```\n\n* 輪詢端點\n\n```\nGET /s2s/v2.0/task/body-reshape/{task_id}\n```\n\n---\n\n## 檔案規格與錯誤\n\n* AI 身形調整規範\n\n**支援的自拍視角**\n全身照，臉部表情與身體姿勢清晰可見。\n\n![](https://plugins-media.makeupar.com/strapi/assets/thumbnail_body_reshape_02_7777218379.jpg)\n\n**可見度與姿勢需求**\n\n| **區域** | **來源圖片中必須滿足的條件** |\n|------------|---------------------------------------------------|\n| **頸部** | 頸部在來源圖片中必須可見。 |\n| **手臂** | 兩側手臂——上臂、前臂與手——都必須完整呈現。 |\n| **腿** | 整條腿必須出現在圖片中。 |\n| **臀部** | 臀部需要可見。 |\n| **臀部提拉** | 臀部需要可見。 |\n| **肩膀** | • 肩膀必須可見。<br>• 不允許舉手。<br>• 不允許 90° 側面姿勢。 |\n| **腹部** | 腹部必須可見。 |\n| **腰** | 腰部必須可見。 |\n| **胸部** | • 胸部區域必須出現在圖片中。<br>• 拍攝應包含臀部（即不是「不含半身的半個身體」）。<br>• 必須呈現胸部中央。 |\n| **瘦身** | 肩膀需要在畫面中。 |\n| **增高** | • 臀部必須出現。<br>• 半身視角應包含腿部（即腿部可見）。 |\n\n\n\n**身形調整自訂參數指南**\n\n| 類別 | 參數 | 功能 | 最小值 (-100 / 0) | 最大值 (100) |\n| -------- | --------- | -------- | -------------------- | --------------- |\n| 手臂| 強度 | 調整手臂的粗細 | 細 | 粗 |\n| 腹部| 強度 | 調整腹部突出 | 平坦 | 突出 |\n| 胸部| 強度（左/右） | 調整兩側的胸部體積 | 平坦 | 飽滿 |\n| 臀部提拉 | 強度 | 調整臀部的曲線與提拉（加入提臀效果） | 雕塑感（提拉且緊實） | 圓潤（提拉且更飽滿） |\n| 臀部大小 | 強度 | 調整臀部的整體寬度 | 窄 | 寬 |\n| 腿| 強度 | 調整腿的粗細 | 細 | 粗|\n| 頸部| 強度（左/右） | 調整兩側的頸部輪廓與雕塑| 原始 (0)| 內收 |\n| 肩膀寬度 | 強度（左/右） | 調整每側肩膀的跨度 | 窄 | 寬 |\n| 肩膀形狀 | 強度（左/右） | 調整每側肩膀的角度與斜度 | 斜肩 | 平肩 |\n| 瘦身| 強度 | 調整整體身體曲線 | 苗條 | 曲線玲瓏 |\n| 增高| 強度 | 調整整體人物身高 | 原始 (0) | 更高 |\n| 腰| 強度 | 調整腰線寬度 | 窄 | 寬 |\n\n**說明：** *“左”與“右”指的是人物的視角，而非螢幕上觀看者的一側。*\n\n\n---\n\n* 支援的格式與尺寸\n\n|AI 功能|支援的尺寸|支援的檔案大小|支援的格式|\n| ---- | ---- | ---- | ---- |\n|AI 身形調整|長邊 <= 2048，短邊 >= 320|< 10MB|jpg/jpeg/png|\n\n* 錯誤代碼\n\n| 錯誤代碼 | 說明 |\n| ---- | ---- |\n| RUNTIME_ERROR | 身形調整執行期間發生不如預期的錯誤 |\n| PHOTO_DETECTION_FAIL | 無法正確處理使用者照片，例如未偵測到手 |\n| PHOTO_CHECK_INVALID | 使用者照片的姿勢或尺寸無效 |\n| INPUT_ERROR | 輸入檔案格式不正確 |\n| INPUT_MAIN_IMAGE_EMPTY | 需要使用者圖片 |\n\n\n* 環境與相依性\n\n| 範例程式語言 / 工具 | 建議的執行環境版本 |\n|---|---|\n| cURL | - bash >= 3.2</br>- curl >= 7.58（現代 TLS/HTTP 支援）</br>- jq >= 1.6（穩健的 JSON 解析） |\n| Node.js（JavaScript） | Node >= 18（支援全域 fetch） |\n| JavaScript | - Chrome / Edge >= 80</br>- Firefox >= 74</br>- Safari >= 13.1 |\n| PHP | PHP >= 7.4（現代 TLS/相容性），ext-curl（建議）或 allow_url_fopen=On + ext-openssl、ext-json |\n| Python | Python >= 3.10（支援 f-strings），requests >= 2.20.0 |\n| Java | Java 11+（支援 HttpClient），Jackson Databind >= 2.12.0 |\n\n---\n\n## 點數消耗\n\n| AI 功能 | 消耗的點數 |\n|---|---|\n| AI 身形調整 V1.0 | 1 |\n\n---\n"},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"docs.perfectcorp.com","port":4000,"ipAddress":"216.73.216.199"},"lang":"zh-TW","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"master"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/zh-tw/reference/ai_body_reshape","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}