AI PLAY玩法更新持续收录
← 回到更新流

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开头的一串字符)

具体怎么做

  1. 建表并定字段

    在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备用。

  2. 导入模板并配凭据

    在n8n工作流页通过模板URL 19672导入。逐个节点绑定凭据:Google Sheets节点选Sheets OAuth2,Gmail节点选Gmail OAuth2,Gemini节点粘贴API密钥。在配置节点填入spreadsheet ID、收件邮箱、逗号分隔的频道ID列表,并确认每频道最大抓取数、每轮最大候选数、分数阈值三个参数(本站建议先设 5、10、70 便于观察)。

  3. 先用强制测试候选验证链路

    保留模板里的forced test title(强制测试候选),手动执行一次。预期:Gemini节点产出3条带分数的选题;分数≥阈值的行出现在Video Ideas页;Seen Videos页追加该测试视频ID;收件邮箱收到一封纯文本汇总。若分数全都低于阈值导致无邮件,属正常分支,把阈值临时降到10再跑一次验证邮件路径。

  4. 接真实频道并改为定时

    把测试候选值在配置里清空或禁用,在表单触发器里粘贴真实频道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