最近要给一批文章配封面和插图,如果是 md 文档里面一张张上传,有点麻烦,如果还需要一张张在网页里生图、下载、再拖进图床、复制链接贴回文章,更烦。于是用了一套一条命令跑完的流程,记录一下,顺便遇到一个 Clash 的坑。
目标很简单:一条命令 = 生成图片 → 存本地 → 上传图床 → 吐回一个公开 CDN 链接,直接贴进文章。
我手上有个 GPT Image 2.5 的生图接口,是异步任务那种:POST 一个 prompt 拿到 taskId ,再轮询到 success ,拿结果图地址下载下来。这步没什么好说的,大部分生图 API 都是这个套路( createTask + 轮询,或者挂 webhook )。
我一直用 PicList ( PicGo 那一类图床工具)管各个图床的配置。它除了 GUI 拖拽,还常驻一个本地 HTTP 服务,默认 127.0.0.1:36677。直接 POST 一个本地文件路径给它,它就按你当前选的图床上传,返回公开链接:
curl -X POST http://127.0.0.1:36677/upload \
-H "Content-Type: application/json" \
-d '{"list":["/abs/path/to/image.png"]}'
# -> {"success":true,"result":["https://你的图床域名/2026/10/xxxx.png"]}
于是脚本里生完图,把本地文件 POST 给 PicList 就完事。要换图床也只要在 PicList 里切一下默认图床,脚本不动。
第一版跑完,上传说成功,但返回的链接我一访问就打不开,HTTP 441,server: Parking/1.0。
查了半天,是两件事叠一起。
一是我图床那个自定义域名解析其实已经失效了(变成了停放页),之前发的历史图全挂了我都不知道,这个另说。
二是更坑的:本机开着 Clash ( TUN / fake-ip 模式)。那个 cdn.* 域名在本机被解析到了 198.18.0.x( fake-ip 的保留段),所以本机 curl、dig 看到的全是假的,连 dig @8.8.8.8 都被劫持,拿不到真实 IP ,根本判断不了域名通不通。
最后找了个走外网、不经过本机代理的出口去请求那个 URL ,才确认域名对公网到底是什么状态。
教训:本机开了 fake-ip 代理的时候,别信本机对自己 CDN 域名的解析和 curl 结果,判断域名死活得找个不经过本机的出口去测。
一条命令出图 + 配好图床链接,按不同站在 PicList 里切不同图床。脚本是让 AI 帮写的,没几行。
你们批量配图、传图床这块都怎么自动化的?有没有比 PicList 本地 server 更顺的路子?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.