AI 身形塑形
本指南将带您走完全流程:
AI 身形塑形接口的流程:
接口地址: /s2s/v2.0/task/body-reshape
需要鉴权: Authorization: Bearer YOUR_API_KEY
流程步骤:
准备图片上传:
- 准备好要上传的自拍照。
- 调用 File 接口
/s2s/v2.0/file取得上传 URL 与对应的file_id。 - 用提供的上传 URL 把自拍照上传上去。
多人合照的可选预处理:
- 图中有多于一人时,请先对自拍照做预处理。
设置 AI 身形塑形特效:
- 先选好合适的 AI 身形塑形参数。
发起 AI 任务并取得 Task ID:
- 把
file_id连同选好的特效配置,通过 HTTP POST 请求送到/s2s/v2.0/task/body-reshape。 - 响应会返回一个唯一的任务 ID,用于标识本次调用。
- 把
轮询任务状态(持续检查):
- 用取得的
task_id通过 HTTP GET 请求定期轮询任务状态(例如GET /s2s/v2.0/task/body-reshape/${task_id})。 - 持续留意:
Task_status = "success"(处理完成)。Task_status = "error"(视情况排查或重试)。- 状态转为 success 后,按流程继续往下走。
- 用取得的
这套规整的流程能顺畅对接用户输入、自动监控任务,并顺利取回结果。
- API Playground
用官方演练场交互式地体验和测试接口:
- 鉴权
- 请在请求头中以 Bearer Token 方式带上您的 API 密钥:
Authorization: Bearer YOUR_API_KEYAPI Key 可在 https://yce.makeupar.com/api-console/en/api-keys/ 获取。
- 上传图片
您可以把文件直接上传到服务器,也可以在 AI 任务参数中提供有效的图片 URL。
- 上传接口
POST /s2s/v2.0/file如果您已有公开可访问的图片 URL,这一步可以跳过。
- 准备特效模板
预处理 输出以像素坐标表示的检测边界框。请用结果的索引在稍后创建 AI 身形塑形任务。
{
"timed": number,
"result": [
{
"left": number,
"top": number,
"width": number,
"height": number
}
]
}- 特效模板 JSON Schema
{
"version": "1.0",
"index": 0,
"features": {
"arm": 0, // -100~100
"breast_left": 0, // -100~100
"breast_right": 0, // -100~100
"hip": 0, // -100~100
"hip_lift": 0, // -100~100
"leg": 0, // -100~100
"neck_left": 0, // 0~100
"neck_right": 0, // 0~100
"shoulder_left": 0, // -100~100
"shoulder_right": 0, // -100~100
"squared_shoulder_left": 0, // -100~100
"squared_shoulder_right": 0, // -100~100
"slim": 0, // -100~100
"taller": 0, // 0~100
"waist": 0, // -100~100
"belly": 0 // -100~100
}
}index:预处理检测到的身体对象下标。选填,默认 0。 features:至少需要 1 项非零的 AI 身形塑形参数,不能全为 0。
- 请求示例(可直接发送)
{
"src_file_url": "https://plugins-media.makeupar.com/strapi/assets/body_reshape_02_7777218379.jpg",
"version": "1.0",
"index": 0,
"features": {
"arm": 0,
"waist": -20,
"taller": 80,
"squared_shoulder_left": 10,
"squared_shoulder_right": 10,
"neck_left": 0,
"neck_right": 0,
"hip": 10,
"breast_left": 30,
"breast_right": 30,
"slim": -70,
"shoulder_left": 30,
"shoulder_right": 30,
"leg": -30,
"hip_lift": 0,
"belly": -50
}
}- 创建 AI 身形塑形任务并轮询结果
图片和完整的特效参数备齐后即可创建任务。接口异步处理请求,您需要轮询任务状态,直到状态变为 success 或 error。
- 创建任务接口
POST /s2s/v2.0/task/body-reshape- 轮询接口
GET /s2s/v2.0/task/body-reshape/{task_id}- AI 身形塑形规格
支持的自拍视角 全身照,面部表情与身体姿态都要清楚可见。
![]()
可见性与姿态要求
| 部位 | 源图必须满足的条件 |
|---|---|
| 颈部 | 源图中颈部必须可见。 |
| 手臂 | 双臂——上臂、前臂与手——都要完整呈现。 |
| 腿部 | 整条腿都要在画面内。 |
| 臀部 | 臀部需要在画面内。 |
| 提臀 | 臀部需要在画面内。 |
| 肩部 | • 肩部必须可见。 • 不允许举手。 • 不允许 90° 侧身姿态。 |
| 腹部 | 腹部必须可见。 |
| 腰部 | 腰部必须可见。 |
| 胸部 | • 胸部区域需在画面内。 • 拍摄范围应包含臀部(即不能是"不含臀部的半身照")。 • 胸部中间位置必须呈现。 |
| 显瘦 | 肩部需要在画面内。 |
| 增高 | • 臀部必须呈现。 • 半身照应包含腿部(即腿部可见)。 |
AI 身形塑形自定义参数说明
| 类别 | 参数 | 作用 | 最小值(-100 / 0) | 最大值(100) |
|---|---|---|---|---|
| 手臂 | Intensity | 调整手臂粗细 | 细 | 粗 |
| 腹部 | Intensity | 调整腹部凸起 | 平坦 | 凸出 |
| 胸部 | Intensity(左 / 右) | 分别调整两侧胸部体积 | 平坦 | 饱满 |
| 提臀 | Intensity | 调整臀部曲线与上提(起到提臀效果) | 紧致(上提收紧) | 圆润(上提且更饱满) |
| 臀宽 | Intensity | 调整臀部整体宽度 | 窄 | 宽 |
| 腿部 | Intensity | 调整腿部粗细 | 细 | 粗 |
| 颈部 | Intensity(左 / 右) | 分别调整两侧颈部轮廓与收紧 | 原样(0) | 收进去 |
| 肩宽 | Intensity(左 / 右) | 分别调整两侧肩部跨度 | 窄 | 宽 |
| 肩型 | Intensity(左 / 右) | 分别调整两侧肩部角度与斜度 | 溜肩 | 平肩 |
| 显瘦 | Intensity | 调整整体身体曲线 | 纤瘦 | 曲线明显 |
| 增高 | Intensity | 调整整体人物身高 | 原样(0) | 更高 |
| 腰部 | Intensity | 调整腰线的宽窄 | 窄 | 宽 |
说明: “左”与“右”以人物自身视角为准,不是观看者屏幕的左右侧。
- 支持的格式与尺寸
| AI 功能 | 支持尺寸 | 支持文件大小 | 支持格式 |
|---|---|---|---|
| AI 身形塑形 | 长边 <= 2048,短边 >= 320 | < 10MB | jpg/jpeg/png |
- 错误码
| 错误码 | 说明 |
|---|---|
| RUNTIME_ERROR | 运行时发生未知错误 |
| PHOTO_DETECTION_FAIL | 用户图片无法正确处理,例如未检测到手 |
| PHOTO_CHECK_INVALID | 用户图片的姿态或尺寸不符合要求 |
| INPUT_ERROR | 输入文件格式有误 |
| INPUT_MAIN_IMAGE_EMPTY | 必须提供用户图片 |
- 运行环境与依赖
| 示例代码语言 / 工具 | 建议运行时版本 |
|---|---|
| cURL | - bash >= 3.2 - curl >= 7.58 (modern TLS/HTTP support) - jq >= 1.6 (robust JSON parsing) |
| Node.js (JavaScript) | Node >= 18 (for global fetch) |
| JavaScript | - Chrome / Edge >= 80 - Firefox >= 74 - Safari >= 13.1 |
| PHP | PHP >= 7.4 (for modern TLS/compat), ext-curl (recommended) or allow_url_fopen=On + ext-openssl, ext-json |
| Python | Python >= 3.10 (for f-strings), requests >= 2.20.0 |
| Java | Java 11+ (for HttpClient), Jackson Databind >= 2.12.0 |
下载 OpenAPI 描述
语言
服务器
https://yce-api-01.makeupar.com