做美食手账做到凌晨一点这活儿是不是有点傻我认识一个做小红书美食账号的朋友最开始每条笔记的配图都是手工排版找模板、抠素材、调字体、配色卡一套下来少则半小时多则一个钟头。更要命的是这个流程根本没有积累性——今天做的图明天还得从头再来。后来我实在看不下去了帮她搭了一条n8n自动化流水线把Claude Skills接进去现在从输入一句我这周想发红糖糍粑到出图全程三分多钟中间不用碰一次设计软件。这篇文章就把这套东西完完整整拆给你看。不是炫技不是纯理论就是一套我自己跑了大半年、一直在用的方案。哪怕你连n8n和Claude Skills是什么都不知道只要愿意照着下面的步骤抄也能搭出一模一样的流程。我会先把为什么这件事值得自动化讲清楚再把n8n和Claude Skills怎么分工、环境怎么准备、每一步怎么配置、提示词模板怎么写、以及我踩过的那些坑全部交代明白。文章最后还会附上我的实测时间线和优化心得保证是从实操里长出来的内容。1. 为什么说手工做手账是时间黑洞一个被忽略的高频场景1.1 一张美食手账的真实工作量很多人以为手账就是找个好看的模板往上一套实际上根本不这么简单。一张能过自己审美这一关的小红书美食手账至少包含这么几个环节确认当天的菜品主题、想一句吸引人的标题文案、找到合适的背景色和字体风格、搭配合适的贴纸或图标元素、最后还要调整版面布局让文字和图片不打架、视觉上有呼吸感。光是找合适的贴纸这一步就能耗掉五六分钟更别提还要考虑不同菜品配不同色调这种细节。我那个朋友做过一个粗略估算手工做一张能发出去的美食手账平均耗时25分钟碰上复杂的版式要40分钟往上。她一个月要发二十来条笔记光做图的时间就是八到十个小时。这些时间全是重复劳动——核心的创意其实五分钟就完成了剩下二十分钟全花在“把想法变成图片”的执行上。执行层面的工作对于AI和自动化来说恰恰是最容易吃下来的部分。1.2 自动化的核心思路把创意和执行拆开这里有一个关键认知自动化的目的不是取代你的创意而是把创意和操作拆成两段。你只需要负责想机器负责做。想做什么美食手账、想用什么风格、想突出什么卖点——这些判断属于创意层必须由人来决定。但选什么字体、怎么配色、贴纸放在哪、文案怎么排版这些属于执行层完全可以用一套标准化的流程跑掉。n8n在中间当调度者把整个链条串起来。Claude Skills则是动脑子的那部分它理解你的模糊需求比如这周想吃冰粉然后输出一个结构化方案——标题文案、颜色偏好、版式建议、贴纸元素清单。后面再有一个渲染环节把方案直接变成一张图片。整条链路里人的参与程度被压到最低你只发一句话后面的活全是自动化干。1.3 这套方案到底适合谁先说清楚不是所有人都需要搭这么一套东西。我总结下来这几种人最值得折腾做小红书美食账号的运营者每周都要稳定出图尤其是那种内容量大、更新频率高的账号。美食博主、探店博主笔记数量多配图风格需要统一但又不想每次手工拖拽。做社群团购、私域运营的人天天要在群里发各种食材、菜品的介绍图需要快速批量生成。手账爱好者但不喜欢被排版操作拖累想专注内容本身。反过来如果你只是偶尔做一两张图手工排个版也没多大成本那这套自动化反而有点大材小用。自动化的价值在于高频重复频率低了性价比不明显。2. n8n和Claude Skills的分工一个管调度一个管动脑2.1 为什么偏偏是n8n市面上做自动化的工具不少我为什么最后落在n8n上一个重要原因是它的编排方式是可视化拖拽节点之间连根线数据就流转过去了修改流程不需要改代码。对于帮别人搭流程这种场景可视化编排能让我快速排查问题哪一步断了看面板就知道。另外一个原因是n8n的触发方式足够丰富——Webhook、定时、表单提交、IM机器人消息都能作为流程的起点覆盖了绝大多数内容生产的入口场景。还有一个冷门的考量点n8n可以自托管数据在你自己手里。做内容的人应该对素材和文案的数据敏感程度有体会把流程跑在一个自己能控制的实例上心里踏实得多。后面我会专门讲自托管的环境准备和避坑。2.2 Claude Skills在流程里到底扮演什么角色先解释一下Claude Skills这个东西。你可以把它理解为给Claude预装好的、可复用的技能模块。普通的聊天式提示词你每次想让它干活都得重新描述一遍要求上下文一长还容易跑偏。Skills则是把某类任务的处理逻辑封装成固定接口调用方只需要把输入传进去就能拿到结构化的输出。在这条自动化流水线里Claude Skills干的是最核心的翻译工作把一句口语化的需求帮我做个冰粉主题的手账要清爽一点翻译成一个标准化的JSON结构标题、副标题、文案、风格标签、配色建议、贴纸元素清单、版式编号。n8n拿到这个JSON后才能往渲染服务里送。如果少了这个翻译层你没法让n8n知道冰粉该配什么颜色、文案写什么——它只是个流程调度器不理解审美。我在实际连接时的做法是在n8n里通过HTTP Request节点调用Claude的接口Skill部分通过协议暴露成一个可调用的端点。n8n把用户需求POST过去Claude返回结构化JSON然后进入下一环。接口层面不复杂真正花心思的是Skill内部那套提示词的设计这个后面用一整节讲。2.3 一条完整链路上的数据流转样例我特别建议新手在搭流程之前先画一遍数据流转关系想清楚每一步的输入是什么、输出是什么。我这条链路跑起来后数据大概是这样的步骤输入处理逻辑输出1. 接收需求用户发来一句话本周想发红糖糍粑要甜暖一点的感觉n8n的Webhook节点接收把原始文本传给Claude Skills2. 需求结构化上面的原始文本Claude Skills解析成手账方案JSON对象标题、文案、风格、配色、贴纸、版式3. 模板匹配JSON里的版式和风格字段n8n的Switch节点分流到对应模板选定模板ID和填充字段4. 渲染出图模板ID内容字段调用渲染服务填充模板并出图生成一张PNG/JPG图片5. 推送结果图片文件n8n把图片发到IM机器人、邮件或网盘人在手机/电脑上收到成品这一步想通之后剩下就是体力活了——把每段连接画到n8n的画布上。3. 环境准备搭一套跑得稳的自动化这些坑你先躺平为敬3.1 n8n自托管和云版怎么选如果你只是做一次性的测试用n8n的云版确实省事注册完就有环境节点拖拽起来一点不卡。但你要考虑的是长期、高频、每天都跑的生产级流程我强烈建议自托管。核心理由有两个一是流控和安全问题云端版本在请求量大时可能被限流而我们的流程动不动就要调AI接口每次调用响应不慢、但数量不少二是自托管能直接把Webhook端口暴露在可控的网络范围内配合带token的URL访问比裸奔在公共云上可控得多。自托管n8n的部署本身不算复杂我只说几个容易漏的细节。环境变量里一定要设置N8N_SECURE_COOKIEfalse这种基础项否则登录态可能出问题WEBHOOK_URL要配成你实际访问的域名不然创建的Webhook自动生成本地地址外部根本调不通。我当初就在WEBHOOK_URL上栽过一次排到半夜才发现是环境变量没配对。3.2 把Claude Skills接进n8n的几种方式接Claude Skills到n8n我试过三条路各有取舍。直接HTTP调用最简单——n8n里的HTTP Request节点直接请求Claude的接口把Skill的指令放在prompt里。这种方式配置量最小适合快速验证。但问题是不够灵活Skill的内部逻辑混在业务代码里想加个新技能就要改流程。第二种是走协议方式把Skill封装成独立服务n8n通过请求这个服务间接调用Claude。这样Skill和流程解耦复用性更好我最后就是用的这种。第三种是用Claude在n8n里的官方集成节点鼠标点点就能连适合完全不想碰代码的人不过自定义能力有限。连接方式配置难度可扩展性适合场景HTTP直连低一般快速验证、流程简单独立服务/协议封装中高长期维护、复用多个Skill官方集成节点极低低纯图形化操作、不碰代码如果你只是搭来自己用第一种就够。如果你想做成一个长期产品哪怕只给自己用我也建议从第一天就用第二种方式后面加风格、加模板会从容很多。3.3 图片渲染这一步怎么落地别一听渲染就觉得要装一堆设计软件完全不需要。我的做法是把每一个手账版式做成一个HTML模板配好CSS样式然后用一个网页转图片的服务或者自建一个小脚本去截图。这样做的最大好处是——模板的调整成本极低你想改圆角、改字体、改间距改一行CSS就完了不用和一堆设计图层搏斗。而且HTML能原生支持变量填充把Claude Skills返回的JSON字段直接嵌进去出片速度非常快。具体的渲染服务我在不同场景下换过好几次有在线截图接口也有本地无头浏览器方案。稳定性排序的话本地方案最稳因为它不受外部服务影响在线接口方便但遇到高峰期偶尔会排队。考虑到我们出图频率其实不会特别夸张在线接口也够用。这个环节的关键不是选哪个服务而是模板本身的质量——模板不给力渲染引擎再快也是一张丑图。4. 从零搭工作流一个可以直接抄作业的分步方案4.1 触发入口让网页表单和IM机器人都能发起任务整条流水线的第一步是让用户能方便地发起一个任务。我最终采用的是Webhook节点加一个自建的小表单页两者都指向同一个入口。表单页就是在网页上填一行字比如帮我出一张桂花糕的美食手账江南风提交后请求会带着这段文字打到n8n的Webhook地址。IM机器人方案也是同理在聊天框里直接发一句话机器人把内容转发给同一个Webhook。n8n的Webhook节点接收参数时默认把所有请求体打进一个JSON对象。我在节点里只保留消息正文其他干扰字段全部丢弃。下面是一个最简单的触发请求示例你可以用命令行直接测试curl -X POST https://你的n8n地址/webhook/meishi-shouzhang \ -H Content-Type: application/json \ -d {\message\: \本周想发红糖糍粑要甜暖一点的感觉\}只要你看到n8n面板上Webhook节点旁边出现了一个绿色的勾就说明请求进来了。这一步不需要写一行业务代码但它是整个自动化的大门大门不牢后面全是白搭。4.2 需求解析用Claude把一句话变成结构化任务有了原始文本下面进入最核心的环节——让Claude Skills去理解和转译。这里我要求的不是让Claude写一段散文式回复而是输出一个严格的JSON对象。你可以在Skill的提示词里明确要求固定的输出schema示例见下{ theme: 红糖糍粑, title: 这一口红糖糍粑甜到心坎里, subtitle: 糯叽叽星人的本命小吃, style: 奶油甜暖风, color_palette: [#D2691E, #FFF8E7, #8B4513, #FFDAB9], sticker_keywords: [红糖, 糍粑, 热气, 软糯], layout_template_id: food_warm_01 }Claude Skills返回这个JSON之后n8n把它原样传给下一步。你会问为什么非要JSON这种格式因为它是一种全流程共识语言——n8n能解析渲染模板能填充人也能一眼看出有没有问题。如果返回的是自然语言下一步的模板匹配就得再做一层解析白白增加出错概率。我在设计Skill的时候专门在系统提示词里加了硬性要求不允许输出JSON以外的任何文字测试跑了几百次格式稳定性一直很可靠。4.3 模板匹配与内容填充让方案真正落到版式上Claude返回的JSON里有layout_template_id这就是模板匹配的钥匙。n8n里我用一个Switch节点根据这个ID把流程分流到不同的渲染分支。比如ID是food_warm_01就走进暖色温馨版式是food_fresh_02就走进清爽夏日版式。每个分支里的HTTP Request节点带上不同的模板参数。这一步的过程很像做填空题——模板搭好了骨架Claude生成的文案、色调、贴纸关键词都是填入空格的内容。有个细节值得提醒模板里的字号大小不能一刀切。长篇文案放小字号短标题拉大字号而Claude返回的标题长度是不可控的。我的做法是在Skill提示词里约束标题字数同时在渲染模板里加上CSS自适应规则比如超出一定长度就自动缩字号。否则就是模板配好了长文案却出了边界图直接废掉。4.4 渲染出图与自动推送让成品主动送上门内容填充完毕n8n把组装好的HTML请求发到渲染服务拿到回传的图片文件。这一步之后可以做很多事保存在本地、上传到网盘、推送到飞书或Telegram机器人、甚至直接调用发布接口发到内容平台。我最常用的组合是保存一份到本地推一份到聊天机器人原因很实际本地存档方便以后复用素材推送到聊天机器人则能让你在手机上随时检查成品质量。推送环节我做了个失败重试机制图片生成失败时n8n会重新调用一次渲染服务如果连续两次失败就直接把错误消息发到聊天窗口人工看到后手动补跑。这个机制看着不高级但正是它让这套流程在无人值守的情况下也能稳定跑上几个月。自动化不是不出错而是要预防出错、能快速处理错误。5. 提示词模板——这套自动化的灵魂照着改就能用5.1 系统提示词的正确写法很多人搭完流程发现出图效果差、风格不稳定十有八九是提示词没写好。Claude Skills的提示词不是随便写两句帮我设计好看的手账就行它必须把输出标准、审美约束、字段格式锁死。下面是我手账Skill里的系统提示词骨架你可以直接抄走改你是一位资深美食手账设计师。用户会发来一条美食主题需求你需要输出一份完整的手账设计方案。 硬性要求 1. 只输出JSON不要输出任何其他文字。 2. JSON必须包含theme, title, subtitle, style, color_palette, sticker_keywords, layout_template_id。 3. title控制在8到16个汉字之间读起来有食欲能激发点击欲。 4. color_palette必须是4个十六进制色值第一个为主背景色整体要和谐。 5. sticker_keywords用3到5个词描述适合这个主题的贴纸元素。 6. layout_template_id必须从以下列表中选择food_warm_01暖色甜食、food_fresh_02清爽冷饮、food_savory_03咸香主食、food_festive_04节日糕点。 风格指引 - 优先选择温暖、明亮、清新方向的配色避免暗沉配色。 - 标题要有网络感和生活气息但不要夸张造作。 - 结合菜品的风味特点选择版式冷饮选清爽版甜食选暖色版。这段提示词真正的关键点在于约束字段和约束风格双管齐下。字段约束保证输出的机器可读性风格约束保证每次输出的审美下限。没有这两层输出就会飘。5.2 模板库的维护思路别让每次生成都从零开始我最开始做这套系统时每来一个新菜品就让Claude想一个新版式结果出来的图风格完全不统一账号整体观感很乱。后来我意识到问题出在模板不是用来生成的而是用来选择的。正确的做法是维护一个小而美的固定模板库——比如七八个基础版式覆盖甜食、冷饮、主食、糕点这几大类。Claude Skills只负责从现有模板中选一个合适的而不是凭空创造。模板库我用一个JSON文件维护每条记录包含模板ID、适用类型、背景色CSS变量、字体字重、贴纸摆放区域。举个例子{ id: food_warm_01, name: 暖色甜食手账, 适用: 红糖糍粑、蛋糕、糖水、面包, primary_color: #FFF8E7, accent_color: #D2691E, font_family: 楷体, STKaiti, sans-serif, title_size: 42px, subtitle_size: 20px, sticker_area: 右上角和左下角 }每次要新增风格只需要往这个文件里加一条记录再做一张对应的HTML模板不需要动n8n流程。这是个典型的数据驱动模板思路做一次维护长期复用。5.3 换风格太麻烦设计一套视觉风格参数有不少人会问我这周想走奶油风下周想走酷黑极简风模板库固定了怎么切换答案是给Skill增加一个风格参数维度。我在提示词里加了一个可选的style_hint字段用户可以在需求里附带风格倾向如果没有Claude根据菜品自动判断。风格值定义成枚举方便后续模板匹配风格枚举值视觉特征适合菜品奶油甜暖风暖白底、棕色系、圆角卡片、柔和阴影甜汤、蛋糕、面包清爽夏日风冷色底、大留白、细边框、清凉图标冰粉、冷饮、水果烟火市井风深色底、暖黄点缀、手写粗体、浓烈质感烧烤、小炒、酸辣粉极简高级风黑白灰、排版大量留白、细字体精致料理、下午茶这个表格是我对几种常见风格的抽象总结你也可以扩自己的。你在n8n里要做的仅仅是让Switch节点多几个分支而已本质上还是同一个流程。6. 真实跑起来之后的记录从翻车到稳定6.1 最常翻车的三个地方这套流程我跑了几个月一开始远没有现在顺畅翻车的地方集中在三个第一是HTTP请求超时。Claude处理需求偶尔慢特别是第一次调用时冷启动响应时间可能超过n8n默认的超时配置。解决办法是在HTTP Request节点里把超时时间从30秒调到120秒同时给重试逻辑留好余量。第二是Claude返回的JSON偶尔不合法。虽然提示词里写了只输出JSON但模型偶尔还是会多带一个尾逗号或者Markdown代码块标记。我的应对方案是加一个格式清洗环节n8n里用一个Function节点做容错提取出{...}之间的内容再解析。不要迷信模型每次都能完美符合格式预处理兜底是必须的。第三是图片文字重叠。这个主要出现在标题较长而模板字号固定的情况我在4.3里提到过用CSS自适应解决但真正根治还是在Skill提示词里把标题字数限制得更严格。从源头堵住乱排版的可能性比事后修正省心得多。6.2 一次线上实测的完整时间线前几天我专门掐了一次表从发送需求到收到成图整个过程一气呵成。这里贴一下具体的时间记录方便你对3分钟出图有个直观概念时间点耗时动作00:000秒在表单页输入想看桂花糕江南风并提交00:011秒n8n Webhook节点收到请求00:054秒HTTP请求到达Claude Skills00:127秒Claude返回结构化JSON方案00:131秒n8n Switch节点完成模板匹配00:163秒渲染服务填模板、出图00:193秒图片推送至聊天机器人从提交到收图一共19秒。这里面最耗时的是Claude思考的那7秒渲染反而快。所以标题说3分钟出图还是保守的实际上大多数请求在几十秒内就能走完除非触发重试或网络波动。这个速度对于内容运营来说基本上等于即时出图。6.3 给新入坑者的一个建议先做小闭环再放大最后奉劝一句不要一上来就想搞定全自动闭环。我的迭代路径是——先用最简单的方式人工跑通单张图片的生成然后把单张图片的流程接到n8n上手工点按钮触发再往后才是加Webhook、加Claude Skills、加自动推送。每走一步都确认输出质量稳定了再进下一步。我见过太多人一开始就追求完全自动化结果节点连了一大片一跑就断根本没法排查。自动化的价值曲线是线性的但它的复杂度曲线是幂次的你一次引入太多新概念翻车概率会急剧上升最后只能放弃。从最小闭环开始反而走得最快。我自己现在每周都在用这套流程给几个固定主题的手账账号出图。每次只需要改改关键词换换菜品名剩下的交给n8n和Claude Skills三十秒收图。如果你也是天天被排版折磨的内容创作者听我一句花一个下午把流程搭起来收益远超这个时间成本。任何一次自动化的成就感都比不上你晚上九点发现自己已经把明天所有的图都做完了的那种轻松。
阅读完成 · 觉得有帮助?