📚 离职知识库

打工人梗图批量生成 SOP

2026-08-13 沉淀。复刻小红书「工资3000 / 工资30000」系列吉卜力风打工人梗图。 新开会话把这份文件拖进去,就能不重踩坑地复现整套流程。

#一、成品与工具在哪

东西 位置
工具代码 ~/personal/meme-comic/gen.py + overlay.py + config.json + README.md
出图目录 ~/Desktop/AI生图/打工人梗图/(6 张单图 + 3 张拼接长图)
阶跃 key ~/Desktop/配置信息/阶跃星辰API-key.md

一条命令跑全套(6 张约 13 秒):

cd ~/personal/meme-comic
export STEPFUN_API_KEY="<见上面那份配置>"
python3 gen.py config.json

单张重出:python3 gen.py config.json --only 5(3 秒)

#二、整条链路

config.json(标题 + 场景 + 画面内文字)
   ↓ 阶跃 step-image-edit-2 文生图,并发 3
panel_1~6.png(1024×1024,模型渲染大标题和标语)
   ↓ overlay.py 用真字体叠小字(模型写不准的书脊、标签)
   ↓ Pillow 两两上下拼接
merged_1~3.png(直接发小红书)

#三、必须知道的坑

#1. 阶跃按量付费端点已欠费

https://api.stepfun.com/v1 调图片生成返回 402 quota_exceeded

脚本默认走 Step Plan 订阅端点 https://api.stepfun.com/step_plan/v1/images/generations, 用同一把标准 key 就能打通,模型 step-image-edit-2,3 秒/张。 要切回按量付费改环境变量 STEPFUN_BASE_URL

订阅还剩多少 Credit 查不到——/step_plan/v1 下的 credits/balance/usage/me/subscription 全 404,按量端点的 /v1/user/balance 也 404,响应头里没有任何额度字段,官方文档没提供查询 API。 只能登 https://platform.stepfun.com/ 控制台看。 (档位:Flash Mini 400M/¥49、Flash Plus 1600M/¥99、Flash Pro 8000M/¥199、Flash Max 40000M/¥699;1M Credit = ¥1,月末清零)

#2. 中文渲染三条铁律

  • 长句竖排必糊。「质量第一 安全第一 工期必保 使命必达」16 字会挤成一团重叠墨块。 拆成两条各四字贴在不同位置,一次就对。
  • 书脊、小标签这类极小字必编造。别指望模型,交给 overlay.py 叠。
  • 不写「没有粗黑描边」就出扁平卡通。要厚涂手绘质感,提示词里必须同时给 「吉卜力风格厚涂手绘 + 柔和水彩笔触 + 没有粗黑描边」。

另外标题里的谐音字会被悄悄改(「干一天算一天」→「算每一天」),出图后逐字校对标题, 错了 --only N 重出一次,3 秒的事。

#3. 小字叠加层的两个实测参数

  • 字体默认用霞鹜文楷~/Library/Fonts/LXGWWenKai-Regular.ttf,已装)。 手写楷体跟手绘插画最搭。其他别名:qihei(汉仪旗黑,最清晰)、songtiheiti
  • 描边默认 0.03(字号的 3%)。小字叠在书脊、卷轴这类有纹理的底上会糊进背景, 描一圈浅色边能把字拔出来。实测 0.10 太重,笔画会粘连糊成一坨,0.03 刚好。

#4. 叠字坐标跟具体构图绑死

同一条提示词每次出图,书架位置都会挪,写死的坐标就废了。正确流程:

  1. --overlay off 把底图出到满意
  2. 照着定稿图量坐标写进 config.jsonoverlay 字段
  3. 之后别再重新生成底图

#四、Figma MCP:✅ 已实测跑通(2026-08-13)

结论:整条链路能通,成品 PNG 能导回本地。但日常出图仍建议用 Pillow,Figma 留给要精修的场合。

#跑通的完整链路

whoami                        → 拿 planKey(team::xxx)
create_new_file               → 建文件,拿 fileKey
upload_assets                 → 拿单次上传 URL,curl POST 图片字节
use_figma                     → Plugin API 建文本图层
download_assets               → 拿到短期 URL,curl 下载成品 PNG ✅

实测产物:~/Desktop/AI生图/打工人梗图/panel_6_figma版.png 对比图:~/Desktop/梗图小字-Pillow对比Figma.png(两版效果几乎一致)

#踩过的坑

  1. MCP 装法有两种,只有 plugin scope 那种在 CLI 里能用。 claude.ai config scope 的连接器(早期那个 claude.ai Figma)只服务网页端和桌面 App, CLI 里 ToolSearch 永远搜不到工具——Gmail 同 scope 同样搜不到,这是决定性证据。 清 ~/.claude/mcp-needs-auth-cache.json、重启都没用。 必须装 plugin 版,在 /mcp 面板里选中 plugin:figma:figma → Authenticate, 授权后还要重开一次会话工具才加载。

  2. 上传的图会被塞进 400×300 的默认 frame,1024×1024 的方图直接变形。 上传后第一件事就是 frame.resize(1024, 1024)

  3. use_figma 前必须先读 skill://figma/figma-use/SKILL.md(用 ReadMcpResourceTool), 否则容易踩一堆难查的坑。几条硬规则:颜色用 0–1 不是 0–255;改文字前必须 await figma.loadFontAsync();用 return 输出,console.log 拿不到;脚本失败是原子的,不会改文件。

  4. Figma 云端字体库里有 LXGW WenKai TC(繁体版文楷,简体字正常显示), 还有 Noto Sans SC / Noto Serif SC / ZCOOL 系列。用 listAvailableFontsAsync() 查确切 style 名。

  5. Figma 没有原生中文竖排,靠逐字换行实现:text.split("").join("\n") + textAlignHorizontal='CENTER'

  6. 描边等价物strokes + strokeWeight: 1 + strokeAlign: 'OUTSIDE',效果同 Pillow 的 stroke 0.03。

#什么时候用哪个

Pillow Figma MCP
速度 3 毫秒,零网络 4 次云端往返
批量 6 张一条命令 每张都要建文件上传
精修 改配置重跑 能在 Figma 里手动拖,所见即所得
字体 本机字体 Figma 云端字体库

日常批量出图用 Pillow。 要做精细排版、或想手动微调位置,走 Figma。

overlay.py 里的 render_via_figma() 仍是占位实现,只导出 <图名>.overlay.json 坐标规格。 真要接成自动的,照上面那条链路把五步串起来即可。)

#五、换题材怎么做

config.json

{
  "title": "顶部粗黑体大标题",
  "scene": "构图和道具,不含文字",
  "texts": [
    { "where": "左墙白纸标语上", "text": "质量第一" }
  ],
  "overlay": [
    { "text": "摸鱼心经", "x": 0.845, "y": 0.352, "size": 0.03, "vertical": true }
  ]
}
  • texts 交给模型渲染(大标题、标语牌这类中等尺寸文字,准确率高)
  • overlay 交给 Pillow 叠(极小字),x/y 是中心点相对坐标(0~1)

换整套画风和主角:改 gen.py 顶部的 STYLE_PREFIXCHARACTER 两段常量。

来源:沉淀/打工人梗图生成-SOP.md(整理于 2026-08-18)