{"templateId":"api_docs","sharedDataIds":{"apiDocsStore":"api-docs-@l10n/zh-CN/reference/ai_body_reshape.yaml","sidebar":"sidebar-@l10n/zh-CN/reference/sidebars.yaml"},"props":{"definitionId":"@l10n/zh-CN/reference/ai_body_reshape.yaml","settings":{"baseUrlPath":"/zh-cn/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":"# 概览\nAI 身形塑形接口：塑形与瘦身\n用 AI 身体编辑，照片里更有底气！把身材瘦下去、塑形、优化，比例自然又亮眼。腰、手臂、大腿、胸，任何部位都能轻松调整；点一下就是自然出彩的效果。\n\n\n## 接入指南\n本指南将带您走完全流程：\n\nAI 身形塑形接口的流程：\n\n**接口地址：** `/s2s/v2.0/task/body-reshape`\n\n**需要鉴权：** `Authorization: Bearer YOUR_API_KEY`\n\n**流程步骤：**\n\n1. **准备图片上传：**\n    - 准备好要上传的自拍照。\n    - 调用 File 接口 `/s2s/v2.0/file` 取得上传 URL 与对应的 `file_id`。\n    - 用提供的上传 URL 把自拍照上传上去。\n\n2. **多人合照的可选预处理：**\n    - 图中有多于一人时，请先对自拍照做预处理。\n\n3. **设置 AI 身形塑形特效：**\n    - 先选好合适的 AI 身形塑形参数。\n\n4. **发起 AI 任务并取得 Task ID：**\n    - 把 `file_id` 连同选好的特效配置，通过 HTTP POST 请求送到 `/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    - 状态转为 success 后，按流程继续往下走。\n\n这套规整的流程能顺畅对接用户输入、自动监控任务，并顺利取回结果。\n\n---\n\n* API Playground\n\n用官方演练场交互式地体验和测试接口：\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 密钥：\n```\nAuthorization: Bearer YOUR_API_KEY\n```\nAPI Key 可在 https://yce.makeupar.com/api-console/en/api-keys/ 获取。\n\n\n* 1. 上传图片\n\n您可以把文件直接上传到服务器，也可以在 AI 任务参数中提供有效的图片 URL。\n\n* 上传接口\n\n```\nPOST /s2s/v2.0/file\n```\n\n如果您已有公开可访问的图片 URL，这一步可以跳过。\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* 特效模板 JSON Schema\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 项非零的 AI 身形塑形参数，不能全为 0。\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图片和完整的特效参数备齐后即可创建任务。接口异步处理请求，您需要轮询任务状态，直到状态变为 `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**AI 身形塑形自定义参数说明**\n\n| 类别 | 参数 | 作用 | 最小值（-100 / 0） | 最大值（100） |\n| -------- | --------- | -------- | -------------------- | --------------- |\n| 手臂| Intensity | 调整手臂粗细 | 细 | 粗 |\n| 腹部| Intensity | 调整腹部凸起 | 平坦 | 凸出 |\n| 胸部| Intensity（左 / 右） | 分别调整两侧胸部体积 | 平坦 | 饱满 |\n| 提臀 | Intensity | 调整臀部曲线与上提（起到提臀效果） | 紧致（上提收紧） | 圆润（上提且更饱满） |\n| 臀宽 | Intensity | 调整臀部整体宽度 | 窄 | 宽 |\n| 腿部| Intensity | 调整腿部粗细 | 细 | 粗|\n| 颈部| Intensity（左 / 右） | 分别调整两侧颈部轮廓与收紧 | 原样（0）| 收进去 |\n| 肩宽 | Intensity（左 / 右） | 分别调整两侧肩部跨度 | 窄 | 宽 |\n| 肩型 | Intensity（左 / 右） | 分别调整两侧肩部角度与斜度 | 溜肩 | 平肩 |\n| 显瘦| Intensity | 调整整体身体曲线 | 纤瘦 | 曲线明显 |\n| 增高| Intensity | 调整整体人物身高 | 原样（0） | 更高 |\n| 腰部| Intensity | 调整腰线的宽窄 | 窄 | 宽 |\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 (modern TLS/HTTP support)</br>- jq >= 1.6 (robust JSON parsing) |\n| Node.js (JavaScript) | Node >= 18 (for global fetch) |\n| JavaScript | - Chrome / Edge >= 80</br>- Firefox >= 74</br>- Safari >= 13.1 |\n| PHP | PHP >= 7.4 (for modern TLS/compat), ext-curl (recommended) or allow_url_fopen=On + ext-openssl, ext-json |\n| Python | Python >= 3.10 (for f-strings), requests >= 2.20.0 |\n| Java | Java 11+ (for 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-CN","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"master"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/zh-cn/reference/ai_body_reshape","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}