在购物软件上看中一件裙子,模特穿着美得像杂志封面。你下单,收到,往身上一套,嗯,怎么说呢,"卖家秀"和"买家秀"根本是两个物种。
于是退货,再买,再退。
现在有人做了个小网站,思路很简单粗暴:把你的照片、一套你想穿的衣服、一个你喜欢的姿势,三样东西丢进去,AI 直接给你出一张"你穿着它"的照片。
这个项目叫PoseWear,开源,放在 GitHub 上。
它到底是干嘛的?一个公式讲明白
作者自己写了个公式:
人像 + 姿势 + 服饰 = 成品
你可以把它理解成一个"AI 版的搭配素材库 + 试衣间":
第一块:素材库。里面有成千上万张参考图,分四类:
- 姿势
:各种角度的线稿
- 深度姿势
:更精细的人体姿态参考
- 服装
:按季节、类型分好类
- 人像
:AI 生成的虚构人物脸模
每张图都配了中英文提示词,一键复制。做过 AI 绘画的人都知道,"怎么把想法说清楚"是最难的,这里等于给你递了一本现成的"咒语大全"。
第二块:试穿工作台。上传你的照片,挑一件衣服、一个姿势,点生成。大概半分钟一张,一次能出好几张,还能前后对比、打包下载。没有照片也行,可以直接让 AI 凭空出图。
第三块:你自己带"大脑"。这个网站本身不会画图,它是个"遥控器",背后调用的是你自己申请的 AI 服务,比如 OpenAI、谷歌 Gemini(就是大名鼎鼎的"香蕉"图像模型)、字节的豆包 Seedream,或者其他兼容的中转服务。
最让我意外的一点:它几乎不"存在"
这是我觉得这个项目最有意思的地方。
大多数 AI 工具是这样的:你注册账号,上传照片,照片存在人家服务器上,然后按月收费。
衣姿反着来:
- 不用注册
- 没有后端数据库
,也就是说,它根本没有"地方"存你的东西
你的密钥、收藏、生成记录,全部只存在你自己的浏览器里
网站本身不收一分钱,AI 生成的费用,直接从你自己的服务商账户里扣
打个比方:别人开的是"洗照片的店",你得把底片交给他;衣姿给你的是"一台说明书写得很清楚的冲印机",底片从头到尾没离开过你的手。
那么,争议在哪?
这个项目背后,至少有三个值得聊的问题。
争议一:以后"买家秀"还能信吗?
试穿图能这么容易生成,意味着商家同样可以。一张根本没人穿过的衣服,一张从未存在的"模特",都可以做得以假乱真。
当"眼见为实"变成"眼见为 AI",消费者该怎么办?这个问题,项目没法回答,但它确实把问题摆到了台面上。
争议二:素材的版权,到底是谁的?
项目 README 里写得很坦白:仓库里一张图片都没有。姿势、服装图片的版权归原作者所有,代码用的是 MIT 开源协议,但"MIT 只覆盖代码,不覆盖任何图片和数据"。想商用?得先去问原作者。
这种"把图库搬来再包装一层"的玩法,在开源圈里一直有讨论空间。作者的做法是划清边界、署名致谢,而不是假装什么都没发生。至于这条线画得够不够清楚,欢迎你在评论区发表意见。
争议三:AI 换装,会不会被滥用?
这个问题最敏感。把真人照片"穿"上暴露的衣服,是 AI 换装最容易出事的地方。
项目的态度很明确:
- 成人向分类默认隐藏
,要打开得先确认年龄
各家服务商都有自己的安全审核(OpenAI 最严,Gemini 和 Seedream 相对宽松),真人照片配泳装、内衣之类,很容易被拦
作者做了个"减少误拦截"功能,但专门强调:"不会、也不应该绕过对违规内容的审核。"
也就是说,它想解决的是"正常穿搭被误判",而不是"帮你绕过规则"。至于具体效果如何,这个我没法替你验证,各位可以自己试试。
给大家的使用建议
如果你只是想玩一玩:
打开项目的在线体验页(GitHub 页面上有链接)
先逛素材库,找灵感、复制提示词,这部分完全不需要任何技术
想真的"试穿",需要去 OpenAI、Google AI Studio 或火山方舟申请一个 API Key,填进去就行
- 用完记得清除密钥,尤其是在公共电脑上
一个小提醒:生成费用是你自己付的,先小额试试,别一上来就批量狂点。
技术架构:纯静态 + 浏览器直连
从 README 能看出整体设计:
...Python
浏览器(纯前端,无框架)
├── 图库浏览 / 搜索 / 收藏 → app.js
├── 试穿工作台 → studio.js
├── 离线缓存 / 打包下载 → sw.js / zip.js
└── 直接请求 AI 服务商官方接口
↓(仅特定情况)
Cloudflare Pages Function(/api/proxy)→ 转发请求
整个前端不用 React、不用 Vue,原生 JS 搞定,部署在 Cloudflare Pages 上,构建用 Python(生成缩略图、数据、详情页、sitemap、安全响应头),测试用 Playwright。
这是一种很"克制"的技术选型:不引入你不需要的复杂度。
密钥只存在浏览器里
核心思路非常朴素:
数据从你的浏览器出发,直达服务商,中间没有"我们的服务器"这个环节。这就是"不用信任网站作者"的技术基础。
为什么还需要一个代理?
浏览器有个叫跨域(CORS)的安全限制:有些服务商的接口,浏览器直接调用会被拦下。README 提到,豆包 Seedream 默认就经过本站代理来解决这个问题。
代理的原则是"只转发,不留痕"。
"拒绝转发到内网地址"这一点值得单独拎出来说:如果代理不做这个限制,别人就可能借你的代理去探测你内网里的服务,这是一类典型的 SSRF 漏洞。作者在 README 里明确提到了这个防护,说明有安全意识。
多服务商适配:一个接口,多种"方言"
OpenAI、Gemini、Seedream、自定义中转,每家的请求格式都不一样。比如 OpenAI 走 images/edits(multipart 上传),有的中转走 generations(JSON)。
好处是以后加新服务商,只需要多写一个"翻译官",工作台逻辑一行不用改。(这也对应了路线图里的"更多服务商与模型预设"。)
"减少误拦截":提示词的二次改写
这是我觉得最有意思的小设计:发送前,把提示词改写成中性的电商试穿描述,不改变服装和姿势本身。
思路上,就是把"随意的口语描述"规范成"商品图的说法"。比如把带有模糊暗示的措辞,换成"模特展示这件连衣裙的版型"这类中性表达。因为审核模型对措辞很敏感,同样的画面,表述方式不同,被误判的概率就不同。
再强调一遍:目的是降低误伤,而不是规避审核。违规内容该拦还是会拦。
本地存储与离线
生成记录存在IndexedDB,可查看、删除、清空,还支持撤销
做成了PWA,可以安装到桌面,看过的内容离线也能打开
深色模式跟随系统
测试:不花一分钱模拟各种"翻车"
我个人最佩服的是测试部分。用 Playwright拦截各家服务商的接口,模拟:成功、密钥错误、限流、5xx、超时、取消、安全拦截、多张输出……
不需要真实的 Key,就能把所有失败场景跑一遍。这也解释了为什么它能做到"密钥无效、限流、被安全审核拦截分别给出不同提示",因为每一种失败,都被提前"演"过了。
想自己部署?
...Python
git clone https://github.com/atuizz/posewear.git && cd posewear
pip install pillow
python3 scripts/fetch-assets.py # 下载素材(数 GB,耗时较长)
python3 build.py # 构建到 dist/
python3 -m http.server 8787 -d dist
注意素材要自己下载,仓库本身不带图。
写完这个项目,我最大的感受是:
它不是什么"颠覆行业"的大技术,却把一件事做得很干净:不收集你的数据,不绑架你的账号,把控制权还给用户。
至于 AI 试穿会不会改变网购、会不会冲击模特和摄影行业,我觉得现在下结论还太早。但可以肯定的是,"一张照片穿遍所有衣服"这件事,已经从科幻变成了一个人几个周末就能做出来的开源项目。
所以问题来了:
如果以后每张"买家秀"都可能是 AI 生成的,
你还会相信商品详情页吗?
更多transformer,VIT,swin tranformer 参考头条号:人工智能研究所 v号:人工智能研究Suo, 启示AI科技动画详解transformer 在线视频教程