2026-10-13 · 原文发布日
CSV每行批量生成信息图短视频
读取本地videos.csv逐行处理:Claude写出钩子、关键数字、卖点、三步骤和八句配音词,代码先行校验避免浪费生成费用;Shotstack用Nano Banana 2生成棚拍图(给了产品图就把真实产品P进画面)、ElevenLabs生成配乐和配音,按版式合成信息图视频,可选加一段5秒Seedance动画,MP4存到本地并输出结果CSV。仅限自托管n8n,需Shotstack社区节点;作者称每条视频约5个Shotstack积分、耗时4到8分钟。
原文要点
原作者的自托管n8n工作流:读本地videos.csv逐行处理,Claude Opus 5.5写钩子、关键数字、卖点、三步、收尾句、八句配音词及配图配乐提示词;Code节点先校验再花钱;Shotstack用Nano Banana 2生成棚拍图(有产品图链接则用Nano Banana 2 Edit把真实产品P进画面)、ElevenLabs生成配乐与配音,按版式合成竖版信息图视频,可选加5秒Seedance动画,MP4存本地并输出结果CSV。作者称每条约5个Shotstack积分(加动画约14)、耗时4到8分钟,需Shotstack社区节点0.2.1+,单行失败不影响其他行。
这次做成什么
在自托管n8n上搭一条“CSV一行→一条竖版信息图短视频”流水线:先用一行测试数据跑通读表、AI写词、校验、生图配音、合成、落盘全流程,再放量批处理。以下练习方案为本站独立设计,原工作流界面与参数需以导入后的实际节点为准。
准备什么
- 自托管n8n 2.x(Docker或npm均可),能读写本地文件目录
- 已安装Shotstack社区节点0.2.1或更高版本
- Shotstack API密钥且账户内有AI生成积分(免费试用约10积分够跑首条)
- Anthropic API密钥,或n8n支持的任意聊天模型密钥
- 一行包含产品文案与品牌色的练习CSV数据
具体怎么做
装节点并导入工作流
在n8n右侧面板或Settings → Community nodes中搜索安装Shotstack社区节点(确认版本≥0.2.1),然后从n8n模板页20839导入工作流;导入后在画布的四个Shotstack节点里逐一填入Shotstack API凭据,在Claude节点填入Anthropic凭据(账户没有Claude Opus 5.5就在该节点模型下拉里换成你有的型号)。
放置CSV并核对文件路径
Docker部署时把练习用的videos.csv放进/home/node/.n8n-files,并在同级建一个空的videos文件夹;npm安装则在Read the CSV、Save the results、Save the video三个节点里把路径改成你自己的文件目录。CSV列必须是:What it is、What to say、Brand colours、Animated AI shot(Yes/No)、Product photo(可选图片链接)。
单行试跑并观察校验
先只留一行数据,点Execute workflow。观察Claude节点是否输出钩子、关键数字、卖点、三个步骤、收尾句、八句配音词和配图/配乐提示词;随后的Code节点会在花任何积分前检查缺字段或超长,若该行被拦截,看结果CSV里记录的失败步骤,修正输入后重跑。
核对产物与结果CSV
跑完后到videos文件夹确认生成了竖版MP4(钩子开场、棚拍图带动画标注、圆环里的关键数字、步骤、卖点、尾卡,各场景对位配音),并打开结果CSV确认该行状态为成功;Animated AI shot设为Yes的行会多一段约5秒Seedance动画,作者称多耗约9.5积分。
可直接复制的材料
练习用videos.csv(合成示例)
本站独立编写的合成练习数据,第二行留空产品图表示走纯生成路线,第三行演示开动画;真实使用时替换成自己的产品信息与可公开访问的产品图直链。
What it is,What to say,Brand colours,Animated AI shot,Product photo
便携榨汁杯,30秒榨一杯鲜果奶昔 充电一次用15次,#FF6B35;#2E86AB,No,
静音桌面风扇,三档风速低至25分贝 USB-C充电续航12小时,#3B8C6E;#F2E8CF,Yes,
Claude写词提示词(本站重写版)
本站按原工作流输出结构独立撰写,字段名是本站自定义,接入时以导入后Claude节点的实际字段与下游Code校验逻辑为准。
你是一名短视频文案。根据下面JSON中的产品信息,输出严格的JSON(不要Markdown代码块),字段如下:
hook:8到16字的开场钩子,制造好奇心;
keyNumber:一个最有冲击力的数字短语,不超过10字;
feature:一句话核心卖点,不超过20字;
steps:恰好3条操作或使用步骤,每条不超过14字;
closing:一句收尾行动号召,不超过16字;
voiceoverLines:恰好8句配音词,每句不超过18字,口语化,顺序对应画面:钩子、产品亮相、关键数字、步骤1、步骤2、步骤3、卖点、收尾;
imagePrompt:一段英文棚拍图提示词,描述纯色背景下的产品静物布光与构图,不出现文字;
musicPrompt:一段英文配乐提示词,说明风格、节奏和情绪,15秒以内可循环。
输入产品信息:{"名称":"{{What it is}}","要说的点":"{{What to say}}","品牌色":"{{Brand colours}}"}花钱前校验代码(Code节点参考实现)
本站独立编写的校验思路示例,用来复现“先校验再生成”的顺序;阈值是本站设定,导入原工作流后以其Code节点实际规则为准。
const d = $json;
const need = ['hook','keyNumber','feature','steps','closing','voiceoverLines','imagePrompt','musicPrompt'];
for (const k of need) {
if (d[k] === undefined || d[k] === null || d[k] === '') {
throw new Error('字段缺失:' + k + ',该行跳过,不消耗生成积分');
}
}
if (!Array.isArray(d.steps) || d.steps.length !== 3) {
throw new Error('steps必须恰好3条');
}
if (!Array.isArray(d.voiceoverLines) || d.voiceoverLines.length !== 8) {
throw new Error('voiceoverLines必须恰好8句');
}
if (String(d.hook).length > 20 || String(d.keyNumber).length > 12) {
throw new Error('hook或keyNumber超长,请缩短后重试');
}
return { json: d };输入与输出示例
本站虚构演示,提示词正文有截断示意,未实际调用任何服务,非原作者运行结果。
输入
一行CSV:便携榨汁杯;要说的点是“30秒榨一杯鲜果奶昔,充电一次用15次”;品牌色#FF6B35与#2E86AB;Animated AI shot=No;无产品图链接。对应输出
Claude输出示意:{"hook":"早上来不及吃早餐?","keyNumber":"充电1次榨15杯","feature":"30秒出杯,随手带走","steps":["放入切好的水果","双击启动等30秒","换上杯盖直接带走"],"closing":"点下方链接,今天就开始","voiceoverLines":["早上总是来不及吃早餐?","这个杯子就是你的移动果汁吧","充电一次,能榨整整15杯","第一步,放入切好的水果","第二步,双击按钮等30秒","第三步,换上杯盖直接出门","细腻无渣,清洗只要冲一冲","点下方链接,今天就开始"],"imagePrompt":"studio product shot of a portable blender cup on an orange backdrop...","musicPrompt":"upbeat light pop, 120bpm, fresh morning mood"};校验通过后进入生图、配音、合成,videos文件夹得到一条竖版MP4,结果CSV记录该行成功。做完检查这些
- videos.csv放在n8n可读的文件目录,五列列名与原文要求完全一致,空Product photo列保留逗号
- 单行试跑时Claude输出的JSON被Code节点校验通过后才出现Shotstack调用,失败行在结果CSV中有失败步骤记录
- videos文件夹生成竖版MP4,画面包含钩子、棚拍图标注、圆环关键数字、三步骤、卖点和尾卡,且能听到ElevenLabs配音
- Animated AI shot=No的行不产生Seedance片段,Yes的行多一段约5秒动画
容易卡住的地方
- 仅支持自托管n8n 2.x,n8n Cloud无法读写本地文件,此流程不能直接用
- Shotstack社区节点低于0.2.1可能缺功能,导入前先确认版本
- npm安装时忘记改三处文件路径会报找不到文件,Docker默认路径是/home/node/.n8n-files
- Product photo需是可公开访问的图片直链,私有链接会导致Nano Banana 2 Edit取图失败
- 作者称每条约5积分(加动画约14)加少量Claude费用、耗时4到8分钟,是作者口径,实际随套餐与队列波动
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Create CSV-driven infographic videos from a CSV with Claude and Shotstack
- 原作者
- Jesus Rojas
- 原始发布日期
- 2026-10-13T04:59:00.675Z
- 来源
- https://n8n.io/workflows/20839