公众号文字贴图生成器
概述
用户给出一个主题,输出公众号短内容包:5 个标题备选 + 3-5 张 1:1 PNG 文字贴图 + 300 字以内精简正文。文字贴图内容从正文精简版中提炼,用 Python Pillow 本地渲染,保证文字精准、无水印、可二次修改。
核心能力
- 标题生成:输出 5 个标题备选,每个附带标题公式标签和一句话推荐理由。
- 正文生成:输出 300 字以内精简正文,结构为开头钩子 → 核心观点 → 结尾引导。
- 文字贴图生成:输出 3-5 张 1080×1080 PNG 图片,每张 1-2 行核心文字。
- 风格切换:支持新闻早报、知识科普、产品种草、情绪金句四种版式。
- 降级输出:Pillow 不可用时,改为输出 HTML 代码块。
触发场景
用户说出以下任意表达时激活本 Skill:
- "帮我写个公众号短文案"
- "出几张文字贴图配正文"
- "做公众号文字卡片"
- "文字贴图加文案"
- "帮我写 300 字公众号内容"
- "公众号标题和正文"
输入
| 字段 | 必需 | 说明 |
|---|---|---|
| 主题/关键词 | 是 | 用户要写的公众号主题 |
| 风格 | 否 | 新闻早报 / 知识科普 / 产品种草 / 情绪金句;未指定时自动推断,默认知识科普 |
| 贴图数量 | 否 | 3-5 张;未指定时默认 3 张 |
| 补充素材 | 否 | 用户提供的额外背景、数据、观点 |
输出
1. 标题备选(5 个)
每个标题包含:
- 标题文本
- 公式标签:悬念 / 数字 / 情绪 / 反常识 / 场景
- 推荐理由:一句话说明为什么这个标题可能有效
2. 精简正文(300 字以内)
结构:
1. 开头钩子:1-2 句话抓住注意力
2. 核心观点:2-3 个短段落,每段 1-3 句话
3. 结尾引导:1 句话引导关注、点赞、转发或评论
语气要求:短段落、口语化、适合手机阅读。
3. 文字贴图(3-5 张 PNG)
每张规格:
- 尺寸:1080×1080 像素
- 格式:PNG
- 文字:1-2 行核心文字
- 内容来源:从正文中提炼的金句、要点、数据或卖点
- 风格:与整体风格一致
工作流程
Step 1:识别主题与风格
- 读取用户输入的主题/关键词。
- 如果用户未指定风格,按以下规则推断:
- 主题含热点/事件/资讯 → 新闻早报
- 主题含知识/方法/干货 → 知识科普
- 主题含产品/推荐/好物 → 产品种草
- 主题含情感/观点/共鸣 → 情绪金句 - 如果用户未指定贴图数量,默认 3 张。
Step 2:生成标题
按以下五种公式各生成 1 个标题:
- 悬念型:用疑问或留白激发好奇
- 数字型:用具体数字增强可信度
- 情绪型:用情绪词引发共鸣
- 反常识型:用反差打破预期
- 场景型:用具体场景让读者代入
每个标题给出推荐理由。标题长度控制在公众号展示安全范围内(64 字符以内)。
Step 3:生成正文
按以下结构生成 300 字以内正文:
1. 开头钩子:直接点题或提出痛点
2. 核心观点:分 2-3 个短段落展开
3. 结尾引导:用一句话收尾并引导互动
不编造数据、引文或事实;无法确认的内容标注"建议核实"。
Step 4:提炼贴图文案
从正文或主题中提炼 3-5 个要点,每个要点转换为 1-2 行文字,适合放在正方形卡片上。要点类型包括:
- 金句:一句有力的话
- 数据:一个关键数字
- 痛点:一个读者痛点
- 方法:一个可操作建议
- 结论:一个核心结论
Step 5:生成 PNG 贴图
调用 scripts/generate_cards.py:
python scripts/generate_cards.py \
--style <news|knowledge|product|quotes> \
--count <3|4|5> \
--output-dir <output-dir> \
--payload '<json-string>'
--payload 为 JSON 字符串,包含:
- title:主标题
- points:字符串数组,每个元素为 1-2 行文字
- style:风格标识
脚本读取 assets/<style>-card.json 中的配色、字体、布局参数,用 Pillow 渲染 PNG 到输出目录,文件命名为 card_01.png、card_02.png 等。
Step 6:呈现结果
- 用文字回复输出:5 个标题 + 300 字正文 + 贴图内容清单。
- 用
present_files呈现生成的 PNG 文件。 - 如果 Pillow 不可用,改为输出 HTML 代码块,并告知用户可浏览器截图。
风格规范
新闻早报
- 适用:热点事件、行业资讯
- 视觉:深色背景 + 高对比强调色,模拟新闻头条
- 元素:日期标签、"今日热点"标签、大标题、关键数据点
知识科普
- 适用:知识分享、干货总结
- 视觉:浅色背景 + 清晰排版
- 元素:数字序号、要点条、轻量图标占位
产品种草
- 适用:产品推荐、好物分享
- 视觉:暖色调背景
- 元素:卖点短语、价值标签、使用场景
情绪金句
- 适用:情感、成长、观点表达
- 视觉:文艺感配色
- 元素:一句核心金句 + 小字解读
安全边界
- 不编造数据、事实、名人引文;无法确认处标注"建议核实"。
- 不代登录公众号平台、不代发布文章、不修改用户已有内容。
- 不生成标题党违规、敏感、夸大医疗/投资/功效类内容。
- 不使用 AI 生图,只用本地 Pillow 渲染文字贴图。
- 不自动执行任何平台操作。
质量自查清单
- 标题是否生成 5 个,每个都有公式标签和推荐理由。
- 正文是否 300 字以内,结构是否完整。
- 贴图数量是否在 3-5 张之间。
- 每张贴图文字是否控制在 1-2 行。
- PNG 文件是否成功生成。
- 风格是否与主题匹配。
- 是否存在编造数据或敏感内容。
停止条件
- 用户未提供主题 → 询问用户主题。
- Pillow 不可用 → 降级为输出 HTML 代码块,不中断主流程。
- 生成内容涉及敏感/违规/夸大 → 停止生成并说明原因。
常见坑点
- 标题字数:公众号列表标题显示上限约 64 字符,但实际吸引点击的标题建议控制在 26 字以内。
- 正文一屏原则:300 字以内的正文可在主流手机上完整显示一屏,避免用户因过长而跳出。
- 贴图裁切:公众号正文中的正方形图片在信息流预览时可能被自动居中裁切,核心文字应放在画面中心区域。
- 原创声明:如果正文引用他人数据或观点,输出中需标注"建议核实",避免原创声明违规。
- 诱导分享:结尾引导中避免出现"转发到朋友圈""截图领取"等违反平台规则的强诱导话术。
- 字体版权:脚本使用系统自带字体(微软雅黑等),商用前请确认字体授权范围。
输出示例
主题:为什么越来越多人开始存金?
标题备选:
1. 《金价又涨了,为什么年轻人开始存金?》(反常识)—— 打破"年轻人不理财"的刻板印象
2. 《3 个信号告诉你,黄金为什么又火了》(数字)—— 用具体信号降低阅读门槛
3. 《存钱不如存金?这届年轻人算过一笔账》(悬念)—— 用疑问引发好奇
4. 《不是黄金贵,是钱不值钱了》(情绪)—— 戳中通胀焦虑
5. 《在银行排队买金的年轻人,到底在买什么?》(场景)—— 用画面感代入
正文:
金价创新高,银行买金的年轻人却排起了队。不是他们突然变富,而是存钱越来越没安全感。黄金不能升值暴富,但能让他们觉得"钱还在"。这一代人的理财,从"赚多少"变成了"别亏"。你最近有买金的想法吗?
文字贴图:
1. 金价创新高 / 年轻人却在排队买金
2. 存钱不如存金? / 这届年轻人算过一笔账
3. 理财的尽头 / 是"别亏"
资源说明
assets/
news-card.json:新闻早报风格配色与布局参数knowledge-card.json:知识科普风格配色与布局参数product-card.json:产品种草风格配色与布局参数quotes-card.json:情绪金句风格配色与布局参数
scripts/
check_environment.py:检查 Python 和 Pillow 是否可用generate_cards.py:生成 PNG 文字贴图
references/
visual-styles.md:四种风格的详细视觉规范setup-guide.md:Pillow 安装与配置说明output-templates.md:标题、正文、贴图的输出模板