2026-10-13 · 原文发布日
从选题表批量生成并发布竖屏短视频
每天早上读Google Sheets选题队列,优先发布已审核的视频,否则取第一条ready选题:OpenAI写钩子、5至8句配音稿和画面提示、标题与标签,Rendley的AI视频代理据此生成带素材画面、配音、动态字幕和音乐的竖屏视频。默认进入审核状态并给编辑器链接,改完把状态改为approved后导出1080p MP4并发布到绑定的社交账号,结果写回表格。需要Rendley付费套餐和社区节点。
原文要点
原工作流每天定时从Google Sheets选题队列取任务:有approved行就先发布,否则取第一条status为ready的选题。OpenAI负责写钩子、5至8句配音稿(每句带画面提示)、标题和标签,一个Code节点把这些拼成单个提示词交给Rendley的AI视频代理,由它一次生成素材画面、配音、动态字幕、音乐和品牌套件。Wait循环每70秒查一次任务,超过配置轮数就取消。默认先进入review状态并给出编辑器链接,人工把状态改为approved后才导出1080p MP4并发到绑定的社交账号,状态、帖子ID和错误都写回表格。需要Rendley付费套餐、社区节点n8n-nodes-rendley和OpenAI密钥。
这次做成什么
在n8n里搭一条"选题表→AI写稿→AI生成竖屏视频→人工审核→自动发布并回写"的流水线;本站给出独立的表结构、写稿提示词和设置示例,读者按此可自建等价流程,不是提供原工作流文件下载。
准备什么
- n8n实例(自托管或云)并可安装社区节点
- Rendley付费套餐账号、API密钥及已连接的社交账号
- OpenAI API密钥或兼容接口
- 一个Google账号用于存放选题队列表格
具体怎么做
建选题队列表格
新建Google Sheet,第一行依次写入列名:id, topic, audience, status, title, caption, project_id, project_url, post_ids, posted_at, error。填入若干选题并把status设为ready;approved表示待发布、review表示待人工改稿、failed表示出错。
配置触发与读取分支
在n8n新建工作流,加Schedule Trigger设为每天早晨一次;接Google Sheets节点读取整表,再用Code或Filter节点做分支:存在status=approved的行则走发布分支,否则取第一条status=ready行走生成分支,两者都没有就直接结束本次运行。
让OpenAI写脚本和分镜
添加OpenAI节点,粘贴下方写稿提示词,把topic和audience用表达式注入,要求模型返回严格JSON(钩子、5至8句配音稿各带画面提示、标题、配文、标签)。再接一个Code节点把JSON字段拼成一段完整的视频代理指令,即下方"合成代理指令"材料的逻辑。
调用Rendley生成并轮询
安装社区节点n8n-nodes-rendley并配置Rendley凭据。添加其AI视频代理节点,输入上一步合成的指令与品牌套件;之后用Wait节点每70秒循环查询任务状态,设置最大轮数(如20轮),超时或失败则把该行status写为failed并在error列填原因后终止。
审核与发布回写
生成成功后把status写成review、把编辑器链接写入project_url。在Rendley编辑器里改完稿后人工把该行改为approved;下一轮运行时发布分支调用Rendley导出1080p MP4并发布到已绑定社交账号,最后把status改为posted、post_ids和posted_at写回表格。若不想人工审核,可在Settings节点把reviewBeforePosting设为false。
可直接复制的材料
OpenAI写稿与分镜提示词
本站独立编写的示例提示词,变量语法按你的n8n表达式调整;非原作者提示词原文。
你是一名短视频编导。根据选题和受众,输出一段竖屏短视频方案,只返回严格JSON,不要输出多余文字。
选题:{{$json.topic}}
目标受众:{{$json.audience}}
要求:
1. hook:一句15字以内的开场钩子,直接抛问题或反常识结论。
2. lines:5至8句配音稿,每句不超过30字,口语化,每句附一个visual字段说明画面(如"特写手部冲咖啡""仓库货架横移镜头")。
3. title:20字以内的视频标题。
4. caption:发布配文,不超过80字,语气亲切。
5. hashtags:5个标签,不带#号。
JSON结构:{"hook":"","lines":[{"text":"","visual":""}],"title":"","caption":"","hashtags":[]}合成代理指令的Code节点逻辑
本站独立编写的示例代码,字段名需与你实际的Settings节点和Rendley节点参数对齐;未在原模板实测。
// n8n Code 节点(JavaScript),把上一步JSON拼成给视频代理的单条指令
const s = $json; // OpenAI输出的脚本JSON
const cfg = $('Settings').first().json; // Settings节点里的长度/语言/音色等
const shots = s.lines.map((l, i) => `${i + 1}. 配音:"${l.text}"|画面:${l.visual}`).join('\n');
const prompt = `制作一条${cfg.lengthSeconds}秒的竖屏短视频(9:16),语言${cfg.language},配音音色${cfg.voice},画面素材类型${cfg.footage}。开场钩子:"${s.hook}"。分镜与配音:\n${shots}\n要求:配动态字幕、背景音乐,套用我的品牌套件。`;
return [{ json: { agentPrompt: prompt, title: s.title, caption: s.caption, hashtags: s.hashtags } }];选题队列示例行(CSV片段)
本站虚构合成数据,直接粘贴到Google Sheet即可当测试队列;project_id等为示意值。
id,topic,audience,status,title,caption,project_id,project_url,post_ids,posted_at,error
v001,三款平价手冲咖啡豆横评,25-35岁咖啡入门爱好者,ready,,,,,,
v002,办公室5分钟拉伸跟练,久坐上班族,ready,,,,,,
v003,新手养绿植避坑指南,租房青年,approved,,,,proj_8821,https://app.rendley.com/editor/proj_8821,,Settings节点示例配置
本站独立设计的示例参数;length/language/voice/footage/审核开关在原模板Settings节点中核对实际字段名后再改。
{
"lengthSeconds": 45,
"language": "中文",
"voice": "沉稳女声",
"footage": "hybrid",
"reviewBeforePosting": true,
"postingDelayMinutes": 0,
"maxWaitRounds": 20
}输入与输出示例
本站虚构演示输出,非OpenAI或Rendley实际返回;流程未在本站运行。
输入
表格行:id=v001, topic=三款平价手冲咖啡豆横评, audience=25-35岁咖啡入门爱好者, status=ready对应输出
OpenAI节点返回:{"hook":"百元内的咖啡豆,谁最能打?","lines":[{"text":"今天盲测三款百元内咖啡豆。","visual":"三款咖啡豆袋平铺俯拍"},{"text":"第一款酸感明亮,适合冰手冲。","visual":"特写注水和滤杯"},{"text":"第二款坚果香突出,做奶咖很稳。","visual":"浓缩注入牛奶拉花"},{"text":"第三款尾韵带可可香,性价比最高。","visual":"杯测勺舀起咖啡液"},{"text":"结论:预算有限就选第三款。","visual":"举起包装袋对镜头"},{"text":"你常喝哪一款?评论区告诉我。","visual":"字幕条弹出互动提问"}],"title":"百元内咖啡豆横评","caption":"盲测三款平价手冲豆,结果有点意外。","hashtags":["咖啡豆","手冲","咖啡入门","横评","平价好物"]};随后该行status被写为review,project_url填入编辑器链接。做完检查这些
- Schedule触发后,工作流能正确区分approved优先发布与ready新生成两条分支
- OpenAI节点返回可解析的严格JSON且lines数量在5至8句之间
- Rendley任务生成成功后表格出现review状态和有效编辑器链接
- 把状态改为approved后的下一轮运行能导出并发布,post_ids和posted_at写回表格
- 模拟Rendley失败时该行被置为failed且error列有原因、运行停止
容易卡住的地方
- Rendley必须付费套餐并有余额,免费账号无法生成和发布
- 未安装社区节点n8n-nodes-rendley时工作流无法运行
- 每个Google Sheets节点都要单独选定同一张表,漏选会读到空数据
- 70秒轮询间隔和最大轮数决定超时上限,长视频可能超出默认轮数被取消
- 配音稿超8句或单句过长会拉长视频,需在提示词和Settings里双重限制
- 发布前确认社交账号已在Rendley的Social media里完成绑定
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Generate faceless short videos from Google Sheets with OpenAI and Rendley
- 原作者
- Rendley
- 原始发布日期
- 2026-10-13T12:10:55.369Z
- 来源
- https://n8n.io/workflows/20878