对比评测
ChatGPT 虚拟试穿替代方案:实测 4 个试穿 API
ChatGPT 的 Try on 按钮没有 API。我们把相同的人物和服装照片发送给四个线上 HiAPI 模型,并比较了服装保真度、印花、人脸和成本。
ChatGPT 于 2026 年 10 月 1 日为服装和配饰新增了 Try on(试穿)按钮。你上传一张自拍,选择一件商品,ChatGPT Images 2.5 便会渲染出你穿着它的样子。这对购物者来说很好用。但它并不是你可以从自己的店铺、应用或商品目录流水线中调用的东西:它没有试穿接口,没有固定的人像加服装输入,结果取决于对话如何理解你的请求。
如果你需要以 API 形式实现同样的功能,可以从两类模型中选择:专用试穿模型,严格接收一张人物照片和一张服装照片;以及多参考图像编辑器,接收两张图像再加一段文字指令。我们用相同的两组输入,分别跑了两类共四个线上 HiAPI 模型,总计 12 次真实的 /v1/tasks 运行,并在下面展示所有输出。
快速答案
| FASHN Try-On v1.6 | Google Virtual Try-On | FIBO Edit 1.5 | GPT Image 2.5 Sunburst(编辑) | |
|---|---|---|---|---|
| 模型页面 | fashn-tryon-v1.6 | google-virtual-try-on | fibo-edit-1.5 | gpt-image-2.5-sunburst |
| 类型 | 专用试穿 | 专用试穿 | 多参考编辑(1–4 张图像) | 多参考编辑 |
| 是否需要提示词 | 否 | 否 | 是(instruction) |
是(prompt) |
| 服装控制项 | category、garment_photo_type、mode、seed |
无,仅两个图像字段 | 指令措辞,加上 seed |
提示词措辞 |
| 我们运行中的输出 | 832×1248(与输入一致) | 832×1248(与输入一致) | 768×1152 | 832×1248,1K,2:3 |
| 每张图像价格(HiAPI,2026-11-03) | $0.1072 | $0.1075 | $0.0575 | 1K 时 $0.025(2K 时 $0.04,4K 时 $0.06) |
基于这 12 次运行,我们的简短结论是:
- GPT Image 2.5 Sunburst 在两项测试中都还原出最忠实的服装,价格约为试穿模型的四分之一。它是 ChatGPT 该功能背后模型最接近的 API 对应版本。代价是你需要编写提示词,而模型可以自由改动提示词未锁定的任何内容。
- Google Virtual Try-On 集成最简单:两个图像 URL,无需提示词,并且人物的脸部和姿态保持完整。它干净地放置了服装,但裁掉了胸前印花第一个字母。
- FASHN Try-On v1.6 是控制项最多的专用模型,提供 category、photo-type、mode 和
seed字段。在我们的臀长外穿衬衫上,它连续两次返回了裁短的衣长。 - FIBO Edit 1.5 在四者中最干净地渲染了胸前印花。价格为 $0.0575,约为专用模型的一半,但它对人物脸部的偏移比其它模型更大。
ChatGPT 的试穿是什么,不是什么
根据 2026 年 10 月发布时的报道,Try on 按钮会出现在 ChatGPT 内的服装和配饰商品页上。你拍摄或上传一张参考照片,ChatGPT 会保存该照片以备将来试穿使用,图像由 ChatGPT Images 2.5 生成。你也可以上传商品的截图并请求试穿。报道指出,结果可能无法准确反映合身程度或尺码。
对于开发者而言,缺少三样东西:
- 没有接口。 该功能存在于聊天产品中。你的店铺无法向它发送购物者照片和 SKU 图像并拿回一个 URL。
- 没有固定契约。 服装是否正确落位取决于对话,而非命名的输入字段。
- 没有批处理路径。 一个想要让 500 个 SKU 由三位品牌模特展示的商品团队,需要队列、重试和回调。
在 API 侧,同一次发布的图像模型以 gpt-image-2.5-flare 和 gpt-image-2.5-sunburst 提供。如果你想了解产品名称如何映射到这些 ID,请参阅 ChatGPT Images 2.5 与 Flare 和 Sunburst 对比。在下面的测试中,我们使用了 Sunburst 的编辑线,因为它是面向精确编辑的层级。
我们如何测试
我们用 gpt-image-2/text-to-image 生成了两组原始输入对,并将它们上传到公开 URL,然后把完全相同的输入对发送给全部四个模型。
- 输入对 1,结构测试。 一位穿着白色 T 恤和浅蓝色牛仔裤的女性,以及一件平铺的芥末黄宽条纹灯芯绒外穿衬衫:五颗纽扣、一个带盖胸袋、尖领、下摆呈弧形且落在腰部以下。
- 输入对 2,印花测试。 一位穿着灰色 T 恤和橄榄色休闲裤的男性,以及一件平铺的米白色 T 恤,上面印有橙色太阳和海军蓝大写字母
SUNDAY CLUB。
设置在各次运行中保持不变:
- FASHN:
category: "tops"、garment_photo_type: "flat-lay"、mode: "quality"、output_format: "jpeg"、seed: 42(另加一次seed: 7的重复运行) - Google:仅
person_image_url+product_image_url - FIBO:两张图像放在
image_urls中,一句指令,aspect_ratio: "2:3" - GPT Image 2.5 Sunburst:两张图像放在
image_urls中,aspect_ratio: "2:3"、resolution: "1K"
每个任务从提交到出结果大约需要 25–60 秒,按 5 秒轮询间隔测量。全部 12 个任务都在首次提交时成功。

测试 1:灯芯绒外穿衬衫(结构与长度)

从左到右:FASHN、Google、FIBO、GPT Image 2.5 Sunburst。以下是原始分辨率的上半身,首先展示原始人物照片:

我们观察到的现象:
- 四个模型都保留了芥末黄色、深色纽扣、尖领,以及穿着者左胸上的单一带盖口袋。它们都没有把口袋放到错误的一侧。
- FASHN 把外穿衬衫缩短成了露脐短上衣。灯芯绒条纹被渲染出来,但服装长度错误。
- Google 保留了全长衬衫,下摆落在牛仔裤腰头处,略有蓬松感。脸部、头发和姿态与输入照片最接近。
- FIBO 生成了一件外观合理的衬衫,条纹较柔和。脸部有明显偏移:下颌线、头发体积和表情都与输入不同。
- GPT Image 2.5 Sunburst 是唯一一个复现了落在腰部以下的弧形下摆、与平铺图一致的模型,宽条纹清晰可见,脸部也保持完整。
这可以重复吗?
我们用不同的 seed 重跑了 FASHN,并用相同提示词重跑了 GPT Image 2.5 Sunburst:

FASHN 使用 seed: 7 再次输出偏短:衬衫底部敞开,露出腹部。GPT Image 2.5 Sunburst 两次返回了几乎相同的结果。在这件服装上,FASHN 的长度问题是模式性的,而非偶然。
测试 2:印花 T 恤(标志与文字)


印花是试穿通常出问题的地方,所以这里是特写(FASHN、Google、FIBO、使用我们特定提示词的 GPT Image 2.5 Sunburst,以及使用通用提示词的 Sunburst):

- FASHN 把印花放大得太多,以至于
SUNDAY中的S顶到衬衫侧面并被部分截断。 - Google 把印花放在自然大小,但第一个字母也落在侧面褶皱上并被部分遮挡。
- FIBO 干净地渲染了太阳和完整的
SUNDAY CLUB,大小接近平铺图。 - GPT Image 2.5 Sunburst 在两次运行中都正确渲染了完整文字,但印花比原图更小且位置更高。
- 四个模型都保留了插兜的手、橄榄色长裤和米色背景。
如果胸前印花、标志或文字对你的商品目录很重要,无论选择哪个模型,都要对印花增加质量控制检查。
编辑器需要详细提示词吗?
我们的 Sunburst 提示词描述了每件服装的细节(口袋位置、条纹宽度、印花布局)。为了检查这有多重要,我们用一段从不提及服装的通用提示词重跑了两个输入对:
图 1 是一个人。图 2 是一件服装的商品照片。让图 1 中的人穿上图 2 中的服装。保持人物的脸、头发、身体、姿态、所有其他服装、背景和光照不变。精确复现服装的颜色、面料、长度、结构细节以及任何印花或文字。写实商品目录照片。

两个结果都站得住脚:外穿衬衫保留了弧形下摆,印花拼写正确。因此一个模板化提示词可以服务整个商品目录,你不需要为每个 SKU 编写提示词。风险则不同:由于编辑模型会改动提示词未保护的内容,请在每个请求中保留“保持不变”列表。
我们为输入对 1 使用的详细版本提示词如下:
图 1 是一个人。图 2 是一件芥末黄色灯芯绒外穿衬衫。让图 1 中的人穿上图 2 中的外穿衬衫,扣好纽扣。保持她的脸、头发、体型、姿态、牛仔裤、运动鞋、背景和光照与图 1 完全一致。精确复现外穿衬衫:相同的芥末黄色、宽条纹灯芯绒、深棕色纽扣、她左胸上的一个带纽扣盖口袋、尖领、带袖口的长袖。写实全身商品目录照片,无文字。
通过一个 API 调用它们
四个模型都使用相同的异步流程:POST /v1/tasks,然后轮询 GET /v1/tasks/{taskId},直到 status 为 success 或 fail。只有 input 对象会变化。完整契约,包括回调和 Idempotency-Key,见 异步 API 文档。
import os, time, requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
PERSON = "https://your-cdn.example.com/person.jpg"
GARMENT = "https://your-cdn.example.com/garment.jpg"
REQUESTS = {
"fashn-tryon-v1.6": {
"model_image": PERSON,
"garment_image": GARMENT,
"category": "tops", # tops | bottoms | one-pieces | auto
"garment_photo_type": "flat-lay", # auto | model | flat-lay
"mode": "quality", # performance | balanced | quality
"seed": 42,
},
"google-virtual-try-on": {
"person_image_url": PERSON,
"product_image_url": GARMENT,
},
"fibo-edit-1.5/image-to-image": {
"image_urls": [PERSON, GARMENT],
"instruction": "让图 1 中的人穿上图 2 中的服装。"
"保持脸、姿态、其他服装和背景不变。",
"aspect_ratio": "2:3",
},
"gpt-image-2.5-sunburst/image-to-image": {
"image_urls": [PERSON, GARMENT],
"prompt": "图 1 是一个人。图 2 是一件服装的商品照片。"
"让图 1 中的人穿上图 2 中的服装。"
"保持人物的脸、头发、身体、姿态、所有其他服装、"
"背景和光照不变。",
"aspect_ratio": "2:3",
"resolution": "1K", # 1K | 2K | 4K
},
}
def try_on(model: str) -> str:
r = requests.post(API, headers=HEADERS, json={"model": model, "input": REQUESTS[model]})
r.raise_for_status()
task_id = r.json()["data"]["taskId"]
while True:
task = requests.get(f"{API}/{task_id}", headers=HEADERS).json()["data"]
if task["status"] == "success":
return task["output"][0]["url"] # 临时 URL:请下载并存储
if task["status"] == "fail":
raise RuntimeError(task.get("error"))
time.sleep(5)
print(try_on("google-virtual-try-on"))
我们运行中得到的三个细节:
- 编辑线拒绝
quality。 向gpt-image-2.5-sunburst/image-to-image发送"quality": "medium"会返回400 INVALID_REQUEST: additional properties 'quality' not allowed。请仅使用resolution和aspect_ratio控制输出尺寸。 - 输出 URL 会过期。 结果 URL 是临时的(
expireAt在任务输出中),因此请下载图像并存储到你自己的存储中。 - 输入必须是公开的
http(s)URL。 四个模型都接收图像 URL,而不是 base64。请先上传购物者照片,再提交任务。
如何选择
在以下情况下选择专用试穿模型(FASHN 或 Google):
- 购物者或运营人员会提交图像,而你不希望流程中出现任何提示词
- 你希望脸部和姿态尽可能接近输入(Google 在这方面最强)
- 你需要明确的 category 和 garment-photo-type 控制项,以及用于可复现重跑的
seed(FASHN)
在以下情况下选择多参考编辑器(GPT Image 2.5 Sunburst 或 FIBO):
- 服装结构和长度比零提示词的简洁性更重要(Sunburst 在我们的外穿衬衫测试中最强)
- 每张图像成本是决策因素:Sunburst 1K 为 $0.025,FIBO 为 $0.0575,而专用模型约为 $0.107
- 你想在同一次调用中做超出简单换装的造型,例如扣上还是敞开、塞进还是放出、或更换背景
- 印花和文字必须保持可读(FIBO 和 Sunburst 在我们的测试中都完整拼出了印花)
在以下情况下留在 ChatGPT 中: 你只是一个人,想看看某件商品穿在自己身上的效果。你不需要任何代码。
常见问题
ChatGPT 有虚拟试穿 API 吗?
没有。截至 2026 年 11 月,试穿是 ChatGPT 应用的一项功能,从商品页或上传图像触发。同一次发布的图像模型可作为 API 模型使用,但没有带人物和服装字段的试穿专用接口。在 HiAPI 上,你可以通过 /v1/tasks 调用这些图像模型或专用试穿模型。
哪个模型最接近 ChatGPT 使用的模型?
ChatGPT 的试穿运行在 ChatGPT Images 2.5 上。该次发布的 API 模型是 GPT Image 2.5 Flare 和 Sunburst。我们测试了 Sunburst 的图像到图像线,它接收多张参考图像加提示词。
专用试穿模型比通用图像编辑器更好吗?
不一定。在我们的两项测试中,专用模型更容易调用,人脸也最接近输入;而 GPT Image 2.5 Sunburst 更忠实地还原了服装长度和完整印花。在决定之前,请用你自己的服装分别跑两类模型。每种各一张的成本远低于 $0.25。
每次试穿成本是多少?
截至 2026-11-03,在 HiAPI 上:FASHN Try-On v1.6 $0.1072,Google Virtual Try-On $0.1075,FIBO Edit 1.5 $0.0575,GPT Image 2.5 Sunburst 图像到图像 1K 为 $0.025(2K 为 $0.04,4K 为 $0.06)。请查看定价页面了解当前费率。失败的任务不收费。
我能保持购物者的脸部和姿态不变吗?
专用模型正是为此设计的,Google 在我们的运行中最接近。使用编辑器时,请明确说明(“保持脸、头发、身体、姿态、背景不变”)。我们的通用提示词搭配 Sunburst 很好地保持了脸部,而 FIBO 偏移更多。
可以用于下装或连衣裙吗?
FASHN 的 category 接受上装、下装和连身装的值。Google 的模型页面将常见上装、夹克和连衣裙列为合适的候选。我们这里只测试了上装。
结论
ChatGPT 的试穿是面向购物者的功能。对于产品而言,你需要一个接口,而 HiAPI 上通过一个密钥就有四个可靠的接口。如果你想要最少的集成工作,从 Google Virtual Try-On 开始。如果你想要明确控制和可复现的 seed,使用 FASHN Try-On v1.6。如果服装保真度和成本最重要,用模板化提示词测试 GPT Image 2.5 Sunburst。把同样的两张图像发送给其中两个模型,让你的服装来决定。在写代码之前,你可以在任一模型页面的 Playground 中试用。
相关阅读
相关文章
查看全部文章 →-
对比评测
Wan 2.6 Flash vs Wan 2.7:要不要升级?
720P预算与1080P狐狸、汽车成品;逐组标明音频条件与实际档位。
3 -
对比评测
Vidu Q4 Preview vs Kling 3.0:图生视频怎么选?
默认有声、16 秒、5 档分辨率选 Vidu Q4 Preview;首尾帧锁画面选 Kling 3.0。附水上飞机和咖啡师两组同提示词对照。
3 -
对比评测
Replicate 替代方案:hiapi vs Replicate 图像与视频生成对比(2026)
从 Replicate 迁到 hiapi 时,预测调用、webhook 和计费分别要改什么,附 10 步迁移清单。
9