2026-09-29 · 原文发布日
n8n实操:一个Webhook接口批量产出四平台社媒文案(含可选配图)
这套n8n模板对外暴露一个webhook:POST主题和背景,可选语气、受众、品牌和语言,工作流把请求路由到Claude、Gemini或OpenAI,一次产出LinkedIn、X单帖与串文、Facebook、Instagram四版结构化文案;开启配图开关后还能用gpt-image-1或Gemini图像接口按Instagram创意生成图片,最后文字和图合并成一个JSON返回。字段缺失会返回400。
原文要点
该n8n模板对外暴露 /webhook/social-content 的POST入口,入参含topic、context、provider及可选的tone/audience/brand/CTA/language与配图设置;工作流先归一化并校验载荷,缺字段返回400,再把请求路由到Claude、Gemini或OpenAI生成LinkedIn、X单帖与串文、Facebook、Instagram四版结构化文案。开启image_generation_enabled后可调gpt-image-1或Gemini图像接口按Instagram创意出图,文字与图(或图像错误)合并为一个JSON返回,文本生成失败返回500。
这次做成什么
在本机或自有n8n实例上把这个多平台文案接口跑通:导入模板、配好至少一家文本模型凭据,用一份合成测试请求验证四个平台字段齐全、400/500分支行为正确。练习载荷为本站独立设计。
准备什么
- 一个可登录的n8n实例(自托管或云端),能导入工作流并激活生产webhook
- Anthropic、Google Gemini或OpenAI至少一家的有效API key
- 如需配图,另备OpenAI或Gemini图像接口凭据;没有就把配图总开关关掉
- 一个能发POST的工具,如curl或Postman
具体怎么做
导入模板并配置凭据
在n8n工作流页导入该模板(n8n.io/workflows/20140)。在Credentials里新建Anthropic API、Google Gemini/PaLM API或OpenAI API凭据,并在对应provider节点上选中;不用的provider分支可暂不管。
设置默认行为与开关
打开工作流内的设置载荷节点,把image_generation_enabled先设为false以专注文本链路;如需调整各平台文案的模型或temperature,在对应provider节点里改,具体参数名以模板内实际节点为准。
激活并复制生产webhook地址
点Activate激活工作流,复制生产环境webhook URL(注意不是编辑器里的测试URL),路径应为 /webhook/social-content。
发送合成测试请求
用下方artifacts里的curl命令发送含topic、context、provider的POST,确认返回200且JSON中含linkedin、x_post、x_thread、facebook、instagram等键。
验证错误分支
再发一个缺topic或provider值非法的请求,确认返回400;新建一个无效测试凭据并临时切到文本provider节点(不要改动正式凭据),确认文本失败路径返回500错误JSON后立刻切回。
可直接复制的材料
测试请求载荷(合成示例)
本站虚构练习数据;provider取值与image字段结构需以模板内校验逻辑为准,品牌为虚构。
{
"topic": "新款降噪耳机上市",
"context": "面向通勤白领,主打40小时续航与自适应降噪,首发价899元",
"provider": "anthropic",
"tone": "professional",
"audience": "25-35岁城市通勤族",
"brand": "声阔科技(虚构品牌)",
"cta": "点击主页链接预约试听",
"language": "zh",
"image": { "enabled": false }
}curl调用示例
把URL换成你的生产webhook地址;JSON需单行转义或用-d @payload.json读文件。
curl -X POST "https://你的n8n域名/webhook/social-content" \
-H "Content-Type: application/json" \
-d '{"topic":"新款降噪耳机上市","context":"主打40小时续航与自适应降噪,首发价899元","provider":"anthropic","language":"zh"}'输入与输出示例
本站虚构示意结构,未实际调用;真实键名与嵌套以模板合并节点输出为准。
输入
POST载荷:topic=新款降噪耳机上市,context=面向通勤白领、40小时续航、首发价899元,provider=anthropic,language=zh,image.enabled=false对应输出
{
"linkedin": "通勤两小时,安静只值一副好耳机……(长文,含预约试听CTA)",
"x_post": "40小时续航+自适应降噪,899元首发。通勤党的安静,安排上了。",
"x_thread": ["1/ 每天地铁里被噪音包围?", "2/ 我们做了40小时续航……", "3/ 首发899元,预约试听→"],
"facebook": "给每天通勤的你一份安静……(段落式文案+CTA)",
"instagram": "安静,是通勤的奢侈品🎧 #降噪耳机 #通勤好物",
"image": null
}做完检查这些
- 发送完整载荷返回200,响应JSON同时含LinkedIn、X单帖、X串文、Facebook、Instagram五类字段
- 缺失topic或provider非法时返回400,且不产生任何模型调用扣费
- image_generation_enabled为false时响应不含图片数据;为true且有图像凭据时才出现图片字段或图像错误说明
- 把文本凭据改为无效key后请求返回500错误JSON而非空响应
容易卡住的地方
- 必须激活工作流并使用生产webhook URL,编辑器测试URL只在手动监听时有效
- 配图是独立开关且需单独图像凭据,没配凭据时开启会产生图像错误而非直接失败整个流程
- provider拼写或取值不在模板允许列表内会被校验判为400
- 文案质量依赖模板内提示词,可进provider节点调整,但原文未公开具体提示词内容
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Generate social posts and images with Claude, Gemini, and OpenAI
- 原作者
- Javed Iqbal
- 原始发布日期
- 2026-09-29T09:30:40.459Z
- 来源
- https://n8n.io/workflows/20140