惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
S
Securelist
MyScale Blog
MyScale Blog
Jina AI
Jina AI
罗磊的独立博客
The Cloudflare Blog
美团技术团队
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
雷峰网
雷峰网
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
博客园 - 聂微东
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
T
Tailwind CSS Blog
Attack and Defense Labs
Attack and Defense Labs
博客园_首页
Latest news
Latest news
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Hacker News
The Hacker News
G
GRAHAM CLULEY
Simon Willison's Weblog
Simon Willison's Weblog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
U
Unit 42
D
Docker
Webroot Blog
Webroot Blog
N
Netflix TechBlog - Medium
T
Tor Project blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The Last Watchdog
The Last Watchdog
B
Blog
Recent Announcements
Recent Announcements
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Security Latest
Security Latest
V2EX - 技术
V2EX - 技术
N
News | PayPal Newsroom
Microsoft Security Blog
Microsoft Security Blog

Kerry的学习笔记

Claude 本轮封号潮好迷 - Kerry的学习笔记 记一次 Claude 桌面端连不上的排查 - Kerry的学习笔记 我的 Claude 稳定使用经验 - Kerry的学习笔记 如何为 Shadowrocket 使用 IPRoyal 代理 - Kerry的学习笔记 寰宇云机场怎么样? - Kerry的学习笔记 如何稳定使用 Claude, ChatGPT, Gemini(静态IP + Clash) - Kerry的学习笔记 使用机场客户端的正确姿势:避免那些“灵异”现象的小经验 - Kerry的学习笔记 别卷机场了,eSIM 才是真的香! - Kerry的学习笔记 Google Play 账号快速换区 - Kerry的学习笔记 写在机房拔线后 - Kerry的学习笔记 Codex 登录报错 token exchange failed - Kerry的学习笔记 Gmail 停止支持 POP3了,但我们可以设置邮件转发 - Kerry的学习笔记
ChatGPT 可以生成分层的 PSD?感觉还差了点 - Kerry的学习笔记
Kerry · 2026-04-27 · via Kerry的学习笔记

昨天刷小红书刷到一个视频,说现在 ChatGPT 能直接生成分层的 PSD。这要是真的,那做海报、改素材、就方便多了,照着试了下,记录一下。

剧透一下:直接让 ChatGPT 一条龙搞定分层 PSD,目前不太行。但折腾了半天发现,如果换个思路,其实还是有办法用上 AI 来帮你做素材的,下面慢慢说。

视频里教的方法

视频里教的方法不复杂:

  1. 模型必须选 Thinking(5.5),普通的不行。
  2. 让GPT生成一张图(或者上传一张图),让它把里面的元素一个个拆出来,要求保持各元素的相对位置不变,每个元素单独出一张图。要白色底,不要伪透明底。
  3. 拆完之后,让 ChatGPT 调用 Photoshop(现在是能连的),把这些图拼成一个 PSD。

看着是挺顺利的。

第一次尝试:默认走流程

我让它生成了一张三亚旅行海报让它拆。GPT 思考了一会,给我吐了一堆 PNG 出来,最后打包成了一个 PSD 文件。

PSD 是给我了,分层也确实分了。但是……

首先,预览图和透明 PNG 图层压缩包这个无法下载。(可以再次聊天让它提供下载链接)

压缩包无法下载

其次,PSD文件是给了,分层也分了。但是元素的位置也不对。这个也还行,大不了我自己摆摆。

微信图片 20260426190606 16168 3
位置是错乱的

但是元素有明显的白边,抠图根本没抠干净,有些还抠多了。所以无法拿来直接用。这样还不如自己抠,就让 ChatGPT 拆图就行了。它确确实实是给拆了图。

GPT告诉我一个技巧,可以让它生成跟主体不包含的颜色背景,这样更好抠图。

图片有白边和缺失
抠图没抠好

而且根本不是在操作 Photoshop

我翻了下它的思考过程,发现更逗的事——它压根没用 Photoshop。所谓"连接 PS"在这一步完全没派上用场。

它的实际流程是这样的:

  • 先检查环境里有没有 psd_toolspytoshop 这种能写 PSD 的 Python 库,结果都没装。
  • 然后发现 ImageMagick 在,就决定用 ImageMagick 来拼 PSD。
  • 抠白边那步是用 PIL + OpenCV 写了个 Python 脚本,原理是 HSV 阈值判断 + 边缘 floodFill,再做一点膨胀腐蚀去 fringe(白边)。
  • 最后 convert layer1.png layer2.png ... out.psd 一把梭,输出 PSD。

所以本质上它是在用代码模拟一个分层 PSD,不是真的在调用 Photoshop 的能力。这就解释了为什么白边抠不干净——脚本里那个阈值方法对纯白背景还行,但只要边缘有抗锯齿、半透明过渡,或者元素本身就带点浅色,就会留一圈白。这是算法层面的限制,不是参数调一调就能解决的。

ImageMagick 拼出来的 PSD 跟 PS 原生导出的也有差距。图层属性、调整图层、智能对象这些都没有,就是一堆光栅图层叠在一起,仅此而已。

第二次尝试:明确要求用 AI 抠图

不甘心,又试了一次。这次我在指令里明确要求:

  • 不准用阈值法(HSV、floodFill 这些)
  • 必须用 rembg 这种基于深度学习的抠图工具
  • PSD 必须用 psd-tools 写,不接受 ImageMagick

GPT 这次是真的去装 rembg 了,还装上了 psd-tools,比第一次靠谱不少。但翻它的思考过程,发现新的坑:

rembg 装上了,但跑不起来。它依赖的 pymatting 库里有 numba JIT 编译,沙箱环境里编译挂了,import 直接失败。

更妙的是,GPT 看到 rembg 起不来之后,没有再尝试别的 AI 抠图方案(比如 transformers 加载 BRIA 的 RMBG-2.0),而是自己写了一套"软 alpha 蒙版"——本质上还是颜色距离阈值,只不过换了个数学公式,再套个高斯模糊做羽化。

它在生成的 manifest 里还很贴心地标注:"no HSV threshold or floodFill"。意思是"我没违反你的规则哦"。但你品,你细品。

最后的结果是这样

PSD 里确实有 10个图层,但每个图层都是带着大块背景的矩形或椭圆区域,元素根本没被真的分离出来:

  • 蓝色文字层里带着整片天空
  • 三个圆形景点是直接用椭圆蒙版套上去的,底下"南山文化旅游区"那行字完全没被识别成独立元素,是跟着椭圆顺手带的

把这 10 个"图层"叠起来,刚好还原成原图。所以从视觉上看好像没问题,但只要你点开 PSD 单独看每一层,就会发现这压根不叫分层,只是把一张图切成了 10 块拼图而已。

中场总结:问题到底卡在哪

到这里基本可以判定:用 ChatGPT 在它的代码沙箱里从一张现成的图反向拆分出分层 PSD,目前是行不通的。

瓶颈不在 ChatGPT 的"思考能力",而在它的运行环境:

  1. 抠图模型起不来(rembg 在它那个 Python 3.13 沙箱里跑不动)
  2. 没有外网,没法调云端的抠图 API
  3. 模型不会主动尝试别的方案,遇到第一个 AI 抠图工具失败就退回到阈值法
  4. 哪怕你明确禁止它用阈值法,它也会换个名字("软蒙版")继续用

第三次尝试:换个思路,从零生成

既然"拆图"这条路走不通,我换了个思路:让 GPT 不要拆,让它从零画

让它生成一个全新的老虎机 UI,然后它就自己用代码画矢量图形,每个元素自己一层。

结果竟然还不错。

PSD 给我了,10 个图层,每个图层都是透明的——圆角矩形按钮、文字、星星,全是它自己用 PIL 一笔一笔画出来的。每一笔都画在指定的透明画布上,所以图层之间天然就是分离的,根本不存在"抠图"问题。

slots ui

更逗的是,因为 PIL 不支持写 PSD,psd-tools 又出了点状况,它居然直接按 Adobe PSD 文件格式规范,用 struct.pack 一个字节一个字节地手写 PSD 二进制8BPS 那个魔术字节、图层记录、通道数据、合成预览全都按规范拼出来。这个操作有点离谱但又挺合理——既然没有库能用,那就读规范自己写呗。

所以分两种情况看

ChatGPT 生成分层 PSD 这件事,取决于你是从无到有创造,还是从有到无拆解

  • 从无到有(让 GPT 生成一个全新的 UI 设计):可行,效果不错。因为每个图层都是它用代码绘制出来的,天然分层。
  • 从有到无(给 GPT 一张图,让它拆成 PSD):目前不行。卡在抠图模型上。

但从零生成也有局限:风格被 PIL 的能力限制死了。圆角矩形、纯色填充、简单渐变可以,但你想要的那种"质感丰富、有材质纹理、有真实光影"的设计风格,PIL 画不出来。所以它给我的老虎机 UI 看起来是"程序员审美"的扁平风格,不是设计师审美的精致风格。

第四次尝试:把 AI 当素材生成器

那如果我只让 AI 生成单个高质量素材,然后自己在 PS 里拼呢?

这条路走通了。流程是这样的:

  1. 给 GPT 一张参考图,告诉它整体风格
  2. 让它分别生成你需要的每个素材:宝箱、按钮、图标、特效等等。每个素材单独生成,不要求位置对齐
  3. 你自己在 Photoshop 里手动排版

ChatGPT 给我生成了一份很详细的素材清单。该说不说,它拆元素其实很在行。然后因为它一次最多生成10张图片。所以它给分了组,让我按照分类,一组一组地生成图片。

gpt chaitu

结果还不错,生成的图片一组一组,挺好。但是——你还是得抠图。

最终结论

你想做的事可行性备注
把已有的图精确转成可编辑 PSD不行抠图模型在沙箱里跑不动
让 GPT 重画一张分层 PSD半行这个要看情况,不是百分百成功的
让 GPT 用代码画几何风格 UI但风格扁平
让 GPT 生成单个素材,自己拼行(推荐)走这条路

最实在的工作流:

  • 生成阶段:用 ChatGPT 生成单个素材(让它输出白底而不是假"透明背景")
  • 抠图阶段:本地用 PS 的"色彩范围",或者直接 remove.bg / rembg
  • 拼装阶段:自己在 PS 里拖图层,组合成最终 PSD

让 AI 一条龙搞定,至少现在还差得远。但 AI 当个高质量素材生成器还是挺好用的,就是要懂得怎么把它输出的东西收拾干净。

原帖地址

小红书:@香菇白菜小笼包