WeChat Article to Poster(公众号文章 → 微信贴图 + 短文案)
Overview
给一条公众号文章链接,把它读透,然后转成一组可直接分发的「贴图」+ 一段短文案。核心是三步:
抓取正文 → 剔除杂质(私人宣传/付费/带货)→ 拆成低密度图文卡片,每张只说一个点。
产出的贴图面向小红书 / 微头条式分发:每次最多 3 张(能少则少,1~2 张能讲清就不要 3 张),深色科技风,SVG 代码 → PNG,每张只说一个点。
何时使用
- 用户给一条公众号链接(
mp.weixin.qq.com/...或含__biz参数),要求"读这篇文章 / 做成贴图 / 转成图文" - 用户说"公众号转贴图""生成微信贴图""把这篇公众号做成卡片""文章转小红书图文"
- 用户给公众号链接并说"配一段文案"
硬性规则(必须全部满足)
- 必须先读原文:未抓取并读完整篇公众号正文前,禁止动笔、禁止生成图片。禁止编造原文没有的事实、数字、案例、观点。原文抓取失败(需登录、被删、仅图片)时,如实告知用户并请其提供正文,不得脑补。
- 剔除三类杂质:私人宣传(作者个人推荐、自我吹捧)、付费推广(付费课程/社群/付费专栏硬广)、带货(商品/服务/优惠券/团购)——以及一切同性质的引流吸粉、加好友、扫码进群内容,一律不写进贴图与文案。只保留文章本身的干货、事实、观点、故事。
- 贴图数量 ≤3 张:能 1 张讲清就 1 张;内容多最多拆 3 张(如:1 张总览卡 + 1 张要点卡 + 1 张总结卡)。禁止超过 3 张;塞不下就砍内容,砍不动的点舍弃。
- 贴图文字密度要低:每张贴图只承载 1~2 个核心点,文字精炼(主标题 ≤16 字、每条要点 ≤22 字),字号大、留白足,一眼扫完。
- 必须走 SVG 流程:先写 SVG 代码(深色科技风规范见
references/poster-prompt-guide.md),再用resvg_py把 SVG 转成 PNG。每次交付时必须把每张图的 SVG 代码原文输出给用户(代码块形式),方便用户自行修改复用。 - 短文案 ≤ 200 字:统计中文汉字 + 数字 + 标点(表情不计但整体要短)。必须带表情(小红书/微信大众常用那类),有换行呼吸感,开头抓人。
- 有钩子:文案开头用一句勾人的提问/悬念/反差,让人想点开看。
- 守红线:政治、色情尽量少讨论;话题能沾钱(搞钱/亏钱/被坑/收益/成本)就优先往钱上靠。原文核心若是政治/色情敏感内容,向用户说明并建议换角度,不硬写。
工作流程
第 1 步:抓取并读完整篇文章
用抓取工具(WebFetch / 浏览器抓取 / 用户提供的正文)读取公众号链接,完整拿到标题 + 正文。
抓取要点:
- 公众号链接常带 __biz、mid、idx、sn 等参数,属正常页面地址,直接抓取即可。
- 优先取正文主体(段落文字),忽略导航、推荐阅读、"点击关注"等页脚。
- 正文含大量配图、二维码时,文字照读,图片与二维码按规则 2 剔除。
- 抓不到时:换 WebFetch 重试;仍失败则请用户直接把正文粘贴过来。
详见 references/fetch-and-extract.md 的抓取与提取清单。
第 2 步:提炼 + 剔杂质
从全文里抓出最戳人的 1~3 个点(一个数字、一句原话、一个反转、一个结论),同时过滤掉:
| 剔除项 | 例子 |
|---|---|
| 私人宣传 | "关注我""我是 XX 老师""我做的项目""我的社群" |
| 付费推广 | 付费课程、付费专栏、训练营、付费咨询报名 |
| 带货 | 商品链接、优惠券、团购、限时折扣、带货话术 |
| 引流吸粉 | 加微信/扫码进群/领取资料/关注公众号涨粉 |
> 判断标准:"这是文章本身的干货,还是作者想从读者身上捞点什么?" 后者一律剔除。
第 3 步:写成 SVG(≤3 张)
把提炼出的点组织成 ≤3 张 SVG 贴图,尺寸 1080 × 1920(竖版手机比例),深色科技风:
- 推荐结构:优先 1 张卡承载全部要点(顶部大标题 + 3~4 个圆角内容卡 + 可选金句卡);内容实在装不下才拆 2~3 张。
- 文字量硬指标:每行 ≤22 字;整张图正文合计 ≤180 字。
- 低密度:卡片之间留 24~30px 间距,卡片内边距 ≥40px,绝不堆满。
视觉规范(完整 SVG 模板见 references/poster-prompt-guide.md):
- 背景:#0b1020 → #141f3d 对角线性渐变 + 两个 8% 透明度的青/紫光晕圆。
- 卡片:#121a33 底 + #26345c 描边、圆角 24;金句/总结卡用 #0f2b3a 底 + #22d3ee 描边突出。
- 文字:大标题白 #ffffff + 浅蓝 #7dd3fc 双色分行;卡内小标题 #7dd3fc 加粗;正文 #c7d2e8;辅助 #a9b7d0。
- 强调条:青→紫渐变 #22d3ee → #a78bfa。
- 字体:'PingFang SC','Microsoft YaHei',sans-serif;emoji 直接写进 <text>(渲染支持彩色 emoji)。
第 4 步:SVG → PNG
用 resvg_py 转换(需先装 resvg-py:pip install resvg-py;中文与彩色 emoji 渲染正常):
import resvg_py
png = resvg_py.svg_to_bytes(svg_string=svg_code) # 返回可迭代的字节
open("poster-01.png", "wb").write(bytes(png))
PNG 存放位置:每张 PNG 转换后保存到当前工作目录;用户指定了归档目录时,按指定目录另存一份,SVG 文件一并保存。
转换后逐张核对:中文有没有错字?文字有没有溢出卡片边界?密度是否过满?不合格就改 SVG 重新转换。
第 5 步:写短文案(≤200 字)
在贴图基础上配一段短文案,规则:
- ≤200 字(汉字+数字+标点),表情不计,写完自查。
- 开头是钩子:一句提问/悬念/反差,让人想点开图。
- 接地气、口语化:像唠嗑,拒绝书面腔、宣传腔、AI 腔。
- 有换行呼吸感:2~4 段。
- 带表情:1~4 个大众常用表情(🤔 😂 💸 📉 😭 🔥 👇 ✨ …),不堆砌。
- 同样过红线 + 剔杂质:不写政治/色情;不写私人宣传、付费推广、带货。
第 6 步:交付(必须附 SVG 代码)
- 展示所有 PNG 贴图 + 短文案。
- 把每张图的 SVG 代码原文用代码块输出给用户——这是硬性要求,用户要基于 SVG 自行改字、改色、复用。
- 交付前用下方自检清单逐项核对。
自检清单
- [ ] 文章正文完整读完了吗?有没有编造原文没有的信息?
- [ ] 有没有把私人宣传 / 付费推广 / 带货 / 引流的内容写进去?(必须为否)
- [ ] 贴图是否 ≤3 张?能 1 张讲清的是否没用 2 张?
- [ ] 每行 ≤22 字、整图正文 ≤180 字、密度够低?
- [ ] SVG 是否按深色科技风规范写(渐变底、圆角卡、双色标题)?
- [ ] PNG 转换后图内中文有没有错字、文字有没有溢出?
- [ ] PNG 与 SVG 是否已保存到用户指定目录(未指定则为当前工作目录)?
- [ ] SVG 代码是否已原文输出给用户?
- [ ] 短文案是否 ≤200 字、开头有钩子、有换行、有表情?
- [ ] 是否尽量少讨论政治与色情?能沾钱时是否往钱上写?
相关技能
tweet-writer:写 ≤100 字推特短推文(无图)。image-tweet-writer:读图片写推文。tweet-rewriter:照原文风格仿写推文。- 本技能:输入是公众号文章链接,输出是贴图组 + ≤200 字短文案(图文卡片向)。
Resources
references/fetch-and-extract.md:公众号链接抓取方法、正文提取清单、剔除规则详解。references/poster-prompt-guide.md:贴图提示词模板、低密度排版规范、HTML 卡片降级方案、正反例。