2026-09-17 · 原文发布日
每周自动从竞品YouTube频道挖选题创意
做视频内容的创作者可用的n8n模板:每周定时或通过表单提交竞品YouTube频道ID列表,读取Google Sheets里已处理视频的记录,抓取各频道RSS解析近期上传,过滤掉看过的视频后,把每条新视频的标题与元数据交给Google Gemini生成三个差异化选题标题并打机会分。只有过分数线的主意写入选题表,所有处理过的视频记入已见表防重复,本轮有新选题就用Gmail发一封汇总邮件。抓取上限、候选数和分数阈值都可在配置里调。
原文要点
该n8n模板每周定时或通过表单接收逗号分隔的竞品YouTube频道ID,读取Google Sheets的“Seen Videos”标签页作为状态,逐频道抓取YouTube RSS并合并候选,过滤已见视频后可插入一条强制测试候选,无新视频则停止。每条新视频的标题与元数据交给Google Gemini生成三个差异化选题标题、机会分及辅助字段,仅过阈值的主意写入“Video Ideas”标签页,所有处理过的视频追加进Seen表,本轮有新增选题则经Gmail发送纯文本汇总邮件。每频道抓取上限、每轮候选上限和分数阈值均可在配置中调整,需Google Sheets OAuth2、Gmail OAuth2和Gemini(PaLM) API三组凭据。
这次做成什么
在自己n8n里搭好这条每周竞品选题流水线,并用一条本站设计的测试频道数据跑通一次表单触发,验证去重、打分、落表和邮件四段都生效。
准备什么
- 一个可登录的n8n实例(自托管或云端均可)并能新建工作流
- Google账号:能建Google Sheets、开通Sheets与Gmail的OAuth2凭据
- Google AI Studio的Gemini API密钥(模板标注为PaLM API凭据类型)
- 至少一个真实竞品YouTube频道ID(UC开头的一串字符)
具体怎么做
建表并定字段
在Google Sheets新建一个电子表格,建两个标签页,命名必须和模板配置一致:Seen Videos 与 Video Ideas。Seen Videos首行写 video_id、channel_id、video_title、processed_at 四列;Video Ideas首行写 idea_title、source_video_title、channel_id、opportunity_score、published_at、created_at 六列。复制浏览器地址栏 /d/ 与 /edit 之间的那串spreadsheet ID备用。
导入模板并配凭据
在n8n工作流页通过模板URL 19672导入。逐个节点绑定凭据:Google Sheets节点选Sheets OAuth2,Gmail节点选Gmail OAuth2,Gemini节点粘贴API密钥。在配置节点填入spreadsheet ID、收件邮箱、逗号分隔的频道ID列表,并确认每频道最大抓取数、每轮最大候选数、分数阈值三个参数(本站建议先设 5、10、70 便于观察)。
先用强制测试候选验证链路
保留模板里的forced test title(强制测试候选),手动执行一次。预期:Gemini节点产出3条带分数的选题;分数≥阈值的行出现在Video Ideas页;Seen Videos页追加该测试视频ID;收件邮箱收到一封纯文本汇总。若分数全都低于阈值导致无邮件,属正常分支,把阈值临时降到10再跑一次验证邮件路径。
接真实频道并改为定时
把测试候选值在配置里清空或禁用,在表单触发器里粘贴真实频道ID列表(每行或逗号分隔)跑一次,确认RSS节点能解析出近期上传。确认无误后启用Schedule Trigger设为每周一次(如每周一09:00),停用表单触发或保留作手动补跑入口。
可直接复制的材料
Gemini选题打分提示词(本站独立编写,替换模板默认提示词前先在原节点核对占位符)
本站独立编写,字段名需与原模板Gemini节点的输出解析对齐,未核对原节点前请勿直接覆盖
你是一名视频内容策略师。下面是一条竞品频道新视频的信息:
频道ID:{{channel_id}}
视频标题:{{video_title}}
发布时间:{{published_at}}
请基于这条视频的主题,生成3个差异化选题标题,要求:
1. 三个标题分别采用不同切入角度(教程型、观点型、案例复盘型),不得与原题同义改写;
2. 每个标题不超过30个汉字;
3. 为每个标题打0-100的机会分,评分依据:受众需求强度、与原视频的差异化程度、制作可行性;
4. 只输出JSON数组,不要输出任何其他文字,格式如下:
[{"idea_title":"...","angle":"教程型|观点型|案例复盘型","opportunity_score":0,"reason":"一句话理由"}]工作流配置示例(本站设定值,非原模板文件)
键名为本站按模板描述整理的示意,实际节点参数名以导入后的配置节点为准;forced_test_title留空即关闭测试候选
{
"spreadsheet_id": "粘贴你的表格ID",
"seen_tab": "Seen Videos",
"ideas_tab": "Video Ideas",
"channel_ids": "UCdemoChannelA001,UCdemoChannelB002",
"max_videos_per_channel": 5,
"max_candidates_per_run": 10,
"score_threshold": 70,
"notify_email": "you@example.com",
"forced_test_title": ""
}测试用候选视频合成数据(模拟RSS解析后的一条候选)
本站虚构的两行CSV,可粘进Seen Videos做去重测试:先把第一行预填进Seen表,跑一次应只剩第二行进入Gemini打分
video_id,channel_id,video_title,published_at
ytDemoVid9001,UCdemoChannelA001,我用AI在30天内重建了早餐店官网,2026-09-14T08:30:00Z
ytDemoVid9002,UCdemoChannelA001,夜市摆摊真实收入公开第12周,2026-09-15T11:00:00Z输入与输出示例
本站虚构演示,分数与标题为提示词可能产出的样例,非原作者运行结果
输入
表单提交频道ID列表 UCdemoChannelA001,Seen Videos表已含 ytDemoVid9001;RSS解析得到候选 ytDemoVid9001《我用AI在30天内重建了早餐店官网》与 ytDemoVid9002《夜市摆摊真实收入公开第12周》。对应输出
去重后仅 ytDemoVid9002 进入打分,Video Ideas新增两行(示意):idea_title=《摆摊第12周账本复盘:三个最意外的成本坑》 opportunity_score=82;idea_title=《观点:夜市摆摊还值不值得入场》 opportunity_score=74;第三条教程型得分61低于阈值70未落表。Seen Videos追加 ytDemoVid9002,Gmail发出一封含2条选题的纯文本汇总邮件。做完检查这些
- Seen Videos里预填的 video_id 再次出现时不会进入Gemini节点,日志中过滤分支有记录
- Video Ideas中新增行的 opportunity_score 全部大于等于配置的阈值,低于阈值的选题只在Gemini输出中可见
- 本轮至少落表一条时收件邮箱能收到汇总邮件,且Seen Videos同步追加本轮全部处理过的video_id
- 把每轮候选上限设为1再跑一次,Video Ideas最多只新增一个来源视频的选题
容易卡住的地方
- 两个标签页名称必须与配置完全一致,大小写或空格不符会让读写节点报错或写到错误的表
- YouTube RSS只含频道近期上传,停更较久的频道一轮可能拿不到任何候选,工作流按设计直接停止并非故障
- Gemini返回若夹杂解释文字会导致JSON解析节点失败,提示词里必须强调只输出JSON数组
- 阈值设得过高时连续多轮无邮件属正常,排查前先检查Gemini原始输出分数分布
- 模板凭据类型标注为Google Gemini (PaLM) API,n8n新版本中该凭据入口名称可能不同,以导入后节点实际要求为准
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Mine YouTube competitor content ideas with Google Gemini and Google Sheets
- 原作者
- Lhoussaine Ait Aissa
- 原始发布日期
- 2026-09-17T05:55:54.316Z
- 来源
- https://n8n.io/workflows/19672