公众号封面生成器:我受够了每次都在调字号

封面卡住发文,多半是尺寸、字号和风格。900×383 三种模式,纯 Pillow 绘制,不联网。

一篇写好的文章,最后常常卡在一张封面上。

尺寸差一点,后台就把边缘裁掉一截;主标题多两个字,字号就得从头再试;这一篇深蓝渐变,下一篇黑底白字,读者刷到第三次也认不出这是同一个号。封面是发文链路里最没技术含量、却又最容易返工的一环。

我把这半年攒下来的技能陆续上架到了 WorkBuddy,一共 11 个,这是第 5 篇,讲公众号封面生成器。它不解决审美问题,它解决的是那些「错一次就得重来」的硬约束:尺寸、安全区、字号,还有风格漂移。

一、封面卡在哪

我复盘了一下自己以前做封面卡住的地方,来来回回就四件事。

尺寸和比例。公众号首条封面是 900×383 像素,既不是常见的宽屏比例,也不是方图。拿别的比例的图去裁,裁完总有一边差一点。

安全区。画布中央有一块必须放字的区域,文字贴边就有被裁掉的风险,手动对又很难对准。

字号溢出。主标题写长两个字就超出宽度,只能一遍遍手动缩小,试到刚好塞进去为止。

风格漂移。这一篇是深色科技风,下一篇是蓝紫渐变,读者记不住这是谁写的。参数还散落在各篇的工程文件里,下次要从头再来一遍。

这些都不是「难」,是「重复而且必须做对」。重复而且必须做对的事,适合交给代码。

二、它能做什么

公众号封面生成器(v2.3.0)在技能市场里的分类是「内容创作」。我这次测下来,它主要做五件事。

  1. 出规格正确的封面:输入主标题和副标题,输出一张 900×383 的 PNG,首条封面直接用,不用再裁。

  2. 三种版式可选:居中文字、底图叠加、左文右图,默认走左文右图。

  3. 字号自动缩:主标题从 80px 往下试,直到塞进安全区,不用手动猜。

  4. 右侧图形按主题配:左文右图模式下,右侧是一个中心节点加四个子节点的图形,标签由你按文章内容给。

  5. 完全离线:只依赖 Pillow,不联网、不调用任何在线服务。

技能文档里还定了一条工作流:先确定主副标题,再从文章主题里提一个图标母题,并说清这个图形为什么和内容有关。这一步以前是我最容易偷懒的地方,现在被写成固定动作,反而省事。

产物就是一个 PNG 文件。输出路径自己指定,目录不存在会自动创建;建议文件名带上主题关键词,回头找图方便。

三、三种模式

三种版式背后其实是两个函数。居中文字和底图叠加是同一个函数的两条分支:传 bg_image 就是把你提供的底图铺满画布、文字压在中间;只传 bg_color 就是生成一张同色系渐变底,再叠一层很淡的网格和点阵。两种都是主副标题各一行、水平居中。

左文右图是默认模式,也是单独一个函数:左侧约 55% 放三行文字,右侧约 45% 放主题图形。

这个函数一共七个参数:左侧三行文字、输出路径,加上中心圆文字和四个子节点标签这两组可选值,最后是字体路径。中心圆的默认值是一个版本号式的短标签,四个子节点的默认值是一组并列概念;也就是说,你只要把标题和摘要给对,剩下的位置它已经留好了。

底图叠加需要你自备一张底图,技能不带图库,也不做配图搜索。文档里列了几种常见底图的风格和适用题材:深蓝波浪偏工具类、电路节点偏编程、极简黑曜石偏机器学习。真正决定出图效果的,还是你那张底图本身。

怎么选,我自己的习惯是这样:

  • 有现成的品牌图、摄影图,走底图叠加;

  • 文章是观点、随笔、只有一句话想说清,走居中文字;

  • 技术调研、模型部署、工具测评这类有结构的选题,走左文右图。

技能 description 里给的触发场景也偏后面这一类,模型调研、部署分析、工具测评的配图,默认都走左文右图。

图

四、字体与配色

字号是算出来的,不是试出来的。画布中央的安全区是 600×337 像素,主标题的宽度上限取它的 95%,也就是 570 像素。系统从 80px 开始试:量一遍单行宽度,放不下就把字号减 1 再量,直到放下为止,主标题的下限是 24px。副标题从主标题的 0.82 倍起算,范围是 22px 到比主标题小 4px。主副标题间距固定 22px,整组文字在安全区里垂直居中。

有一条硬约束要说清楚:主副标题强制单行,绝不换行。因为换行会让文字块高度失控,所以它选择缩字号。这也意味着主标题不适合放长句,缩到 24px 以下就不好看了。

文字还带黑色描边,主标题 3px、副标题 2px。所以叠在任何底图上都还能读,这也是底图叠加模式敢把字压在中间的原因。

图

配色定成暖纸编辑风,是刻意的。背景是暖奶油纸色 #F4EFE6,标题是炭黑 #24221F,主图形是陶土橙 #D97757,另外留了一个柔和赭黄 #C89A45 只作少量强调。

为什么不用深蓝渐变?因为这个技能的定位是「个人科技作者的研究手记」,不是企业宣传物料。纸色、炭黑、陶土橙是印刷物和人文编辑的语汇,放在一屏深蓝发光的科技封面里,反而更容易被认出来。所以它默认不用紫色科技渐变、不用霓虹光效、不用条纹或网格背景,也不会因为文章讲的是 AI 就自动改成深蓝紫。

右侧图形得说实话。它不是 AI 生图,是纯几何绘制:一个陶土橙的中心圆,加四个圆角子节点,中间用线连起来。四个子节点的图形母题是固定的四种,柱状、分层、芯片、服务;你能换的是标签文字,还有中心圆里的两三个字,中心文字会按 105 像素宽度自动缩字号。

好处是确定性和可复现:同样的参数永远出同样的图,不抽卡。代价是它不理解语义,图形母题是「挑一个最接近的」,不是「为这篇文章画一个画面」。

技能包里还放了一张参考图,作为默认风格的视觉基准。以后想换配色,可以对着它比一眼,避免改着改着又滑回深蓝渐变那一套。

图

五、怎么调用

在 WorkBuddy 上,它和其他技能一样:进技能市场,点技能右上角的加号安装,然后就在对话里用自然语言调用。技能的 description 里写清了用途和触发词,AI 会据此自动触发,不需要你记函数名。

可以直接这样说:

  • 「帮我把这篇文章做成公众号封面图,左文右图那种,标题写……副标题写……」

  • 「生成一张微信封面,主标题是『……』,副标题是『……』」

  • 「用我给的这张底图做封面,标题居中,字号别太小」

要自己接进脚本,两个入口长这样:

# 默认模式:左文右图(暖纸编辑风) from scripts.generate_split_cover import generate_split_infographic_cover generate_split_infographic_cover( model_name="公众号封面生成器 v2.3", # 左侧第一行 headline="发文不该卡在封面上", # 左侧第二行 subtitle="三种模式 · 安全区 · 字号自动缩减", center_label="封面", # 右侧中心圆的文字 diagram_labels=("尺寸", "安全区", "字号", "风格"), output_path="./output/cover.png", )

# 居中文字 / 底图叠加 from scripts.generate_cover import generate_wechat_cover generate_wechat_cover( main_title="主标题一行", sub_title="副标题一行", output_path="./output/cover_center.png", bg_image="/path/to/your_bg.png", # 有底图就传这个 # bg_color="#0d1b2a", # 或者只给一个底色 )

六、边界与注意

它不会画图。这是最需要提前知道的一点:整张封面都是几何图形和文字画出来的,没有生成模型参与。右侧图形是按内容挑一个最接近的母题,不是生成一张画面。要 AI 配图,得换别的工具。

主标题要短。主副标题强制单行、绝不换行,超宽就缩字号,最小能缩到 24px。真要塞一句长标题,字会小到缩略图里看不清。

角标小字是写死的。左文右图模式的顶部和底部各有一行英文小字,目前不通过参数传入。它是按模型调研类文章准备的,用在其他主题上会显得不搭,这点我还没改。

默认风格不是深色科技风。如果你要点名深色,可以明确指定底色(文档里列的参考值是深蓝 #0d1b2a、极夜黑 #0a0a0f、科技紫 #1a0a2e、墨绿 #0a1a15),或者直接把底图传进去。它不会自作主张帮你选深色。

依赖只有两个。Python 3 加 Pillow,pip install pillow 就够;中文字体要系统里有,Windows 上常见的是 Noto Sans CJK 或微软雅黑,macOS 和 Linux 各有自己的查找路径。找不到字体会退回默认字体,中文就显示不出来。我这次在 Windows 上零配置直接跑通。

不含上传功能。它不保存任何凭据,产物就是一个 PNG 文件。上传和填 thumb_media_id 还是你自己在后台做;如果环境里有发布类工具,可以把它的 upload_image() 返回的 media_id 用作草稿的封面。

只保证不出错,不保证好看。尺寸、安全区、字号、风格统一,这四件事它兜住;好不好看,还是你自己的事。

尺寸只覆盖首条封面。它按公众号首条封面的规格输出,同一次推送里其他位置要用的图,尺寸和比例都不一样,不在这个技能的范围内,别直接拿它顶。

最后给一条最短路径,先跑通再改参数:

pip install pillow python scripts/generate_split_cover.py # 用脚本自带的示例参数跑一张,确认字体和依赖正常

跑通后会在当前目录生成一张示例封面,确认没问题再换成你自己的标题。

我是文茂,热衷于分享 AI 工具与开发者生态观察。觉得有用欢迎点赞、在看、转发三连。


公众号封面生成器:我受够了每次都在调字号
https://maoyu92.github.io/2026/09/16/07 AI笔记/AI写作与发布/a005_公众号封面生成器:我受够了每次都在调字号/
作者
陈文茂
发布于
2026年9月16日
许可协议