| name | xhs-card-generator |
| description | 小红书图文卡片自动生成器。将文章/观点/数据转换成高质量小红书图文笔记(1080×1440,3:4比例)。
使用场景:(1) 将长文/阅读笔记改写成小红书风格并生成配图 (2) 根据热点话题从零创作小红书内容 (3) 批量生成系列图文卡片。
触发词:小红书、xhs、图文卡片、生成配图、小红书内容、自媒体内容
|
小红书图文卡片生成器
将内容拆解成 JSON 数据,用 Puppeteer 渲染 HTML 模板截图生成 1080×1440 PNG 图片。
快速使用
cd ~/.openclaw/workspace/skills/xhs-card-generator
npm install
node scripts/generate.js assets/examples/agent-memory.json ~/Desktop/小红书内容/测试/
完整工作流程
- 选题 → 用户指定话题或给一篇文章
- 调研 → 搜小红书相关话题,分析热门笔记的标题/封面/结构
- 写文章/改写 → 小红书风格:短句、情绪标题、信息密度高
- 拆解 JSON → 将内容拆成 6-10 张卡片,每张选类型
- 生成图片 →
node scripts/generate.js <json> <output-dir>
- 写文案 → 小红书正文放到同目录下
文案.txt
- 输出 →
~/Desktop/小红书内容/小红书-xxx/(图片+文案)
7 种卡片模板
| 类型 | 用途 | 关键字段 |
|---|
cover | 封面 — 黑底大标题,一眼抓住人 | category, title, subtitle, cornerBadge, author, date, tags |
point | 观点页 — 正文+高亮卡+额外卡+标签 | number, title, content, highlightLabel, highlightText, extraLabel, extraText, tags, footerNote |
data | 数据页 — 超大数字居中+三栏卡片+洞察 | sectionTitle, number, label, details[{name,desc}], insightLabel, insightText, source |
list | 列表页 — 圈号要点+副标题 | title, subtitle, items[{text,sub}], bottomNote |
compare | 对比页 — 左红右绿对决+结论卡 | title, leftLabel, leftValue, rightLabel, rightValue, gridItems, verdict, note, pageNum |
quote | 引用页 — 居中名言+破折号来源 | quote, source, contextText |
cta | 关注页 — 深色卡片+统计卡+关注按钮 | emoji, title, subtitle, stats[{value,label}], hashtags |
设计原则
基于小红书高赞笔记分析总结(实测迭代 v1→v6):
封面(cover)
- 黑底,信息流里更抢眼
- 标题 80px+ 占满画面,是绝对主角
- 副标题一句话概括核心卖点
- 不要放细节要点,那是内页的事
观点页(point)
- 白卡片浮在米色底上,带阴影
- 序号和标题同行(省空间)
- 正文 + 高亮卡 + 额外卡 = 3/4 画面
- 标签 + 注释吸底
数据页(data)
- 黑底,视觉锚点
- 超大数字居中,上下对称
- 三栏细节卡片 + 洞察金句,撑满画面
引用页(quote)
- 引用文字上下居中,44px 加粗
- 来源用
—— 破折号引出
- 底部一行小字补充"为什么重要"
对比页(compare)
- 左红右绿正反对决(❌ vs ✅)
- 中间补充卡片
- 黑色结论卡做收尾
- 红色左边框注释
通用
- 每张 1080×1440(3:4 小红书最优比例)
- 米色纹理底
#f0ece4 + 白色圆角卡片 #fff
- 不要居中留白,背景铺满整张图
- 内容撑满 3/4+ 画面,不留大片空白
JSON 数据格式
{
"cards": [
{
"type": "cover",
"category": "技术拆解",
"title": "标题(\\n换行)",
"subtitle": "副标题",
"cornerBadge": "AI",
"author": "作者",
"date": "2026.04",
"tags": ["标签1", "标签2"]
},
{
"type": "point",
"number": "1",
"title": "观点标题",
"content": "正文,支持\\n换行",
"highlightLabel": "核心洞察",
"highlightText": "高亮内容",
"extraLabel": "补充说明",
"extraText": "额外信息",
"tags": ["标签"],
"footerNote": "底部注释"
},
{
"type": "data",
"sectionTitle": "标签",
"number": "87%",
"label": "说明",
"details": [
{ "name": "名称", "desc": "描述" }
],
"insightLabel": "洞察",
"insightText": "金句",
"source": "来源"
},
{
"type": "list",
"title": "标题",
"subtitle": "副标题",
"items": [
{ "text": "要点", "sub": "展开说明" }
],
"bottomNote": "底部注释"
},
{
"type": "compare",
"title": "对比标题",
"leftLabel": "方案A",
"leftValue": "描述",
"rightLabel": "方案B",
"rightValue": "描述",
"gridItems": [
{ "label": "补充", "value": "说明" }
],
"verdict": "结论",
"note": "注释",
"pageNum": "05"
},
{
"type": "quote",
"quote": "名言内容",
"source": "来源(自动加——)",
"contextText": "为什么重要"
},
{
"type": "cta",
"emoji": "🔍",
"title": "关注标题",
"subtitle": "副标题",
"stats": [
{ "value": "每天", "label": "更新频率" }
],
"hashtags": "#标签1 #标签2"
}
]
}
输出规范
- 路径:
~/Desktop/小红书内容/小红书-{标题关键词}/
- 文件:
01_cover.png ~ NN_xxx.png + 文案.txt
- 尺寸:1080×1440(3:4)
- 格式:PNG
依赖
cd ~/.openclaw/workspace/skills/xhs-card-generator
npm install puppeteer-core
需要 Chrome:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
文案模板
小红书正文结构:
标题钩子(情绪/冲突/数字)
一段故事开头(制造共鸣)
核心冲突(两个极端对比)
📌 这篇讲了什么:
① 要点1
② 要点2
③ 要点3
...
💡 核心洞察:一句话金句
评论区互动引导
#标签1 #标签2 #标签3