AI 时装虚拟试穿
AI 时装虚拟试穿是一间虚拟试衣间,不用真穿就能试遍各种衣服。它借助 AI 与图片编辑技术,把服装叠合到您的照片上,让您看清不同风格、不同版型穿在自己身形上的样子。网购、找穿搭灵感,或纯粹玩一玩时尚点子,都很合适。用 AI 时装虚拟试穿体验虚拟试穿。上传任意服装参考图,与您的照片互换穿搭,瞬间换一整套行头。
- API Playground 您可以用 API Playground 测试 AI 时装虚拟试穿的虚拟试穿功能,边试边熟悉试穿流程,理解会更透彻。
API Playground 地址: https://yce.makeupar.com/api-console/en/api-playground/ai-clothes/
- AI 时装虚拟试穿接口使用指引
本指引说明如何上传图片、准备参考服装,以及创建虚拟试穿任务。
- 第 1 步:用 File 接口上传文件
用 File 接口(/s2s/v2.0/file)上传目标用户图片。
图片要求:
- 上传一张高分辨率的全身照。
- 确保照片把整个人体完整、清楚地呈现出来。
- 避免背景里有多人,或杂乱干扰的物体。
请求示例:
curl --request POST \
--url https://yce-api-01.makeupar.com/s2s/v2.0/file \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--data '{
"files": [
{
"content_type": "image/jpg",
"file_name": "full_body_photo_01_3dbd1b6683.jpg",
"file_size": 547541
}
]
}'- 第 2 步:取得 File 接口响应
响应中包含:
- 用于创建 AI 任务的
file_id。 - 用于上传实际图片文件的
requests.url。
响应示例:
{
"status": 200,
"data": {
"files": [
{
"content_type": "image/jpg",
"file_name": "full_body_photo_01_3dbd1b6683.jpg",
"file_id": "SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9/13W5TOD8/u/FfjK3xgCQ+hRt9MJXBFaud",
"requests": [
{
"method": "PUT",
"url": "https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...",
"headers": {
"Content-Length": "547541",
"Content-Type": "image/jpg"
}
}
]
}
]
}
}- 第 3 步:把图片上传到提供的 URL
用 File 接口响应中的 requests.url 上传图片:
curl --location --request PUT 'https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...' \
--header 'Content-Type: image/jpg' \
--header 'Content-Length: 547541' \
--data-binary @'./full_body_photo_01_3dbd1b6683.jpg'第 4 步:准备参考服装
4.1 上传参考服装图片
您可以:
- 用 File 接口(
/s2s/v2.0/file)上传服装图片,或 - 提供一个有效的图片 URL。
支持的服装图片:
- 服装的商品图。
- 真人全身照,作为穿搭参考。
详细规格见 文件规格与错误码。
- 第 5 步:创建 AI 任务
用 AI 任务接口(/s2s/v2.0/task/cloth-v4)创建虚拟试穿任务。
参数:
- 用户图片:
src_file_id或src_file_url。 - 服装图片:
ref_file_id、ref_file_url或template_id。
请求示例:
curl --request POST \
--url https://yce-api-01.makeupar.com/s2s/v2.0/task/cloth-v4 \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--data '{
"src_file_url": "https://plugins-media.makeupar.com/strapi/assets/clothes_03_cccd5d4803.jpeg",
"ref_file_url": "https://plugins-media.makeupar.com/strapi/assets/clothes_reference_full_body_01_5a000d999f.png",
"garment_category": "full_body"
}'响应示例:
{
"status": 200,
"data": {
"task_id": "SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9_13W5TOD8_u_GPi6NqQ3dhlmN-6ntFwhzT"
}
}- 第 6 步:轮询任务结果
用任务 ID 查看状态:
curl --request GET \
--url https://yce-api-01.makeupar.com/s2s/v2.0/task/cloth-v4/<YOUR_TASK_ID> \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json'- 第 7 步:取回结果
成功的响应会给出结果图片的下载 URL:
{
"status": 200,
"data": {
"error": null,
"results": {
"url": "https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature..."
},
"task_status": "success"
}
}API 密钥无效的报错响应:
{
"status": 401,
"error": "Unauthorized",
"error_code": "InvalidAccessToken"
}应用场景: 


拍摄建议: 
- 支持的格式与尺寸
| 类型 | 支持尺寸 | 支持文件大小 | 支持格式 |
|---|---|---|---|
| 目标用户图片 | 建议 1024×768,最小 512×384,最长边 4096 px。 - 仅支持单人。 - 为达到最佳效果,人物应占据画面至少 80%。 - 图片只需包含上半身,从胸部往上即可。腹部不必露出,但肩膀须可见。 - 脸部必须完整可见,不得被遮挡。 - 身体须正对镜头、站姿(不要坐着或蹲着)。 | < 10MB | jpg/png |
| 服装参考图片 | 建议 1024×768,最小 512×384,最长边 4096 px。 - 使用真人服装照作为参考时 - 只能有一位人物。 - 可见的服装区域必须完整覆盖要试穿的部位。 - 举例:全身试穿时,不能拿半身服装图来用。 - 举例:下半身试穿时,不能只用裤子的一部分。 - 服装不得被严重遮挡(例如被长发或手臂盖住)。 - 脸部必须完整可见,不得被遮挡。 - 身体须正对镜头、站姿(不要坐着或蹲着)。 - 使用商品图作为参考时 - 必须是单件服装的正面商品图。 - 不要使用合成图(例如一张图里同时有上衣和下装)。 - 下半身只支持实际穿着的服装,不支持单件商品图。 | < 10MB | jpg/png |
错误码
错误码(预处理)
| 错误码 | 说明 |
|---|---|
| exceed_max_filesize | 源图或参考图过大。长边不得超过 4096 像素。 |
| error_below_min_image_size | 源图或参考图过小。长边不得小于 128 像素。 |
| error_pose | 无法从上传的人物源图中检测出姿态。 |
| error_invalid_ref | 参考图无效,例如图片为空,或主体未完整呈现。 |
| error_apply_region_mismatch | 源图中的套用区域与参考图不匹配,无法套用任何修改。 |
| error_invalid_src | 源图只有下半身或只有脚部时。 |
- 错误码(引擎)
| 错误码 | 说明 |
|---|---|
| invalid_parameter | - 服装类别无效。 - Style_id 不在 inference_style_list 中。 - src_keys、dst_keys 或 acts 无效。 - ref_keys 或 template_ref_image 无效。 - 上述参数必须且只能提供一个。 |
| error_download_image | 源图或参考图下载失败。 |
| exceed_max_filesize | 源图或参考图过大。文件大小不得超过 10 MB。 |
| error_nsfw_content_detected | 在结果图中检测到疑似不适宜内容(NSFW)。 |
| error_editing_failed | 编辑失败:结果图与原图过于相似。 |
| unknown_internal_error | - 模型加载失败。 - 调度算法类型无效。 - 未加载引擎。 - 文件不在上传结果中。 |
| error_multi_person | 在"normal"或"strict"多人过滤设置下,系统在源图或参考图中检测到多人。 |
- 运行环境与依赖
| 示例代码语言 / 工具 | 建议运行时版本 |
|---|---|
| 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