AI 面部塑形
AI 面部塑形接口可以用程序调整五官——眼睛、鼻子、嘴唇、下颌线,乃至整张脸——控制精准到像素。用它生成隆鼻、下巴填充、丰唇、提眉等各类医美疗程的调整前后对比。
隆鼻 我们的线上隆鼻模拟提供医疗级精度的调整。它和普通修图软件不一样,能对鼻梁、翘度、鼻翼等细节做完整模拟。以假乱真的预览效果,让来访者在咨询之前就把理想比例看清楚、试明白。
下巴填充 通过线上模拟,您可以预览下巴填充后的理想比例。微调下巴长度与下巴形状,看看后缩或偏短的下巴能改善到什么程度。在做任何皮肤填充疗程之前,先找出让您侧脸比例最协调的方案。
嘴唇填充 用户可以尝试不同的填充剂量与唇形,模拟出更丰润的唇部外观,在疗程之前就把想要的效果定下来。
提眉手术 这个功能让用户预览提眉的效果——把眉毛上提并重塑形状,做出更年轻、更有精神的面貌。
本指南将带您走完全流程:
AI 面部塑形接口的流程:
接口地址: /s2s/v2.0/file
需要鉴权: Authorization: Bearer YOUR_API_KEY
流程步骤:
准备图片上传:
- 准备好要上传的自拍照。
- 调用 File 接口
/s2s/v2.0/file取得上传 URL 与对应的file_id。 - 用提供的上传 URL 把自拍照上传上去。
多张人脸时的可选预处理:
- 图中有多于一张人脸时,请先对自拍照做预处理。
设置 AI 面部塑形特效:
- 先选好眼部、脸部、唇部或鼻部的合适塑形参数。
发起 AI 任务并取得 Task ID:
- 把
file_id连同选好的特效配置,通过 HTTP POST 请求送到/s2s/v2.0/task/face-reshape。 - 响应会返回一个唯一的任务 ID,用于标识本次调用。
- 把
轮询任务状态(持续检查):
- 用取得的
task_id通过 HTTP GET 请求定期轮询任务状态(例如GET /s2s/v2.0/task/face-reshape/${task_id})。 - 持续留意:
Task_status = "success"(处理完成)。Task_status = "error"(视情况排查或重试)。
- 状态转为 success 后,按流程继续往下走。
- 用取得的
这套规整的流程能顺畅对接用户输入、自动监控任务,并顺利取回结果。
- API Playground
用官方演练场交互式地体验和测试接口:
- 鉴权
- 请在请求头中以 Bearer Token 方式带上您的 API 密钥:
Authorization: Bearer YOUR_API_KEY
API Key 可在 https://yce.makeupar.com/api-console/en/api-keys/ 获取。
上传图片
您可以把文件直接上传到服务器,也可以在 AI 任务参数中提供有效的图片 URL。
上传接口
POST /s2s/v2.0/file
如果您已有公开可访问的图片 URL,这一步可以跳过。
准备特效模板
预处理 输出以像素坐标表示的检测边界框。请用结果的索引在稍后创建 AI 面部塑形 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 项非零的 AI 面部塑形参数,不能全为 0。 skin_smooth_strength:0~100 skin_smooth_color_intensity:0~100
- 特效格式
- 脸部 默认范围:-100~100 颧骨与下颌的范围:0~100 所有特征值不得同时为 0,至少要有一项特征值非 0
{ "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 所有特征值不得同时为 0,至少要有一项特征值非 0
{ "eye_size_left": 0, "eye_size_right": 0, "eye_distance": 0, "eye_angle": 0, "eye_height": 0, "eye_width": 0, }- 鼻部 默认范围:-100~100 所有特征值不得同时为 0,至少要有一项特征值非 0
{ "nose_bridge_width": 0, "nose_lift": 0, "nose_size": 0, "nose_tip": 0, "nose_tip_width": 0, "nose_wing": 0 }- 唇部 默认范围:-100~100 所有特征值不得同时为 0,至少要有一项特征值非 0
{ "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 面部塑形 AI 任务并轮询结果
图片和完整的特效参数备齐后即可创建任务。接口异步处理请求,您需要轮询任务状态,直到状态变为
success或error。创建任务接口
POST /s2s/v2.0/task/face-reshape轮询接口
GET /s2s/v2.0/task/face-reshape/{task_id}
- AI 面部塑形规格
支持的自拍视角 自拍照中脸部宽高需大于图片宽高的 1/20。 俯仰角、偏航角、翻滚角均须小于 30 度。
![]()
五官自定义参数说明
| 类别 | 参数 | 作用 | 最小(-100 / 0) | 最大(100) |
|---|---|---|---|---|
| 眼睛 | Size(左/右) | 缩放每只眼睛的整体大小 | 小 | 大 |
| 眼睛 | Width | 调整水平跨度 | 窄 | 宽 |
| 眼睛 | Height | 调整垂直跨度 | 窄 / 扁 | 圆 / 高 |
| 眼睛 | Distance | 调整两眼间距 | 近距 | 宽距 |
| 眼睛 | Angle | 调整旋转倾斜 | 内倾 | 外倾 |
| 脸部 | Size(左/右) | 缩放脸部每一侧的大小 | 小 | 大 |
| 脸部 | Chin Shape(左/右) | 调整下巴轮廓宽度 | 窄 | 宽 |
| 脸部 | Chin Length | 调整下巴的垂直长度 | 短 | 长 |
| 脸部 | Width | 调整整体脸部宽度 | 窄 | 宽 |
| 脸部 | Cheekbone | 调整颧骨突出程度 | 原样(0) | 收进去 |
| 脸部 | Jaw | 调整下颌线突出程度 | 原样(0) | 收进去 |
| 嘴唇 | Size | 缩放唇部整体体积 | 小 | 大 |
| 嘴唇 | Width | 调整水平跨度 | 窄 | 宽 |
| 嘴唇 | Upper Height | 调整上唇厚度 | 薄 | 丰 |
| 嘴唇 | Lower Height | 调整下唇厚度 | 薄 | 丰 |
| 嘴唇 | Peak | 调整唇峰锐度 | 平滑 | 明显 |
| 鼻子 | Size | 缩放鼻子整体大小 | 小 | 大 |
| 鼻子 | Lift | 调整垂直位置 | 低 | 高 |
| 鼻子 | Bridge | 调整鼻梁宽度 | 窄 | 宽 |
| 鼻子 | Tip | 调整鼻头的垂直角度 | 上 | 下 |
| 鼻子 | Wing | 调整鼻翼宽度 | 窄 | 宽 |
| 鼻子 | Width | 调整鼻头宽度 | 窄 | 宽 |
说明: “左”与“右”以人物自身视角为准,不是观看者屏幕的左右侧。
- 支持的格式与尺寸
| 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 (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 |