2026-10-06 · 原文发布日
批量产出无人声出镜视频的AI配音,Telegram审片
免费n8n模板每天早上从Data Table队列取批量选题,由Gemini按领域与格式生成结构化JSON脚本(失败时切备用模型),再自动检查长度、开头钩子、场景结构、陈词滥调和待核实事实,必要时让Gemini修一遍并保留较优版。随后用Gemini TTS合成WAV旁白,按真实停顿推导分镜节奏生成SRT字幕;可选把音频再转写与脚本逐词比对打分。成品音频与脚本发Telegram,批准则归档、重做则重新排队。
原文要点
原模板为免费n8n工作流:每天定时从名为vs_queue的n8n Data Table拉取排队选题(批量大小可配置),按领域与格式构造提示词让Gemini生成结构化JSON脚本,失败时切备用Gemini模型;随后自动检查长度、开头钩子、场景结构、陈词滥调、画面与待核实事实,可让Gemini修一遍并保留较优版本;再用Gemini TTS生成WAV旁白(带备用TTS模型),按真实停顿推导分镜节奏并生成SRT字幕;可选开启listen-back QA:用Gemini转写音频与脚本逐词比对算出匹配分并找出缺失/多余词。检查结果、匹配分、打包JSON与元数据写回vs_queue行,音频与脚本文本发Telegram等待批准或重做,批准则归档记录Telegram file ID,重做则重新排队。需Gemini(PaLM)凭证、Telegram Bot凭证、公网HTTPS与配置频道参数。
这次做成什么
搭建一条“Data Table选题→Gemini写脚本并自检→TTS出WAV与SRT→Telegram批准/重做”的单选题练习流程,用一个虚构科普选题走完批准路径。
准备什么
- 可登录的n8n实例且实例可被公网HTTPS访问(Telegram按钮回调必需)
- Google Gemini(PaLM) API凭证,含可调用的TTS端点权限
- 用@BotFather创建的Telegram机器人并在n8n配置好凭证且已与机器人对话
- n8n Data Table功能可用,能创建vs_queue表
具体怎么做
建队列与提交选题
在n8n Data Table创建vs_queue表,字段含topic、niche、format、status、checks、listen_score、package_json、tg_file_id;用工作流自带Add topics表单或手动插入一行选题,status设为queued;配置步骤里写好Telegram chat ID、批量大小1、每天运行小时、listen-back开关。
Gemini生成并自检脚本
加Gemini节点用下方脚本提示词,把niche与format拼进提示词,要求输出结构化JSON(钩子、场景数组、旁白全文);加错误分支在主模型失败时重试备用模型;随后加代码节点执行下方检查清单配置中的规则:总字数区间、首句钩子、场景数、陈词滥调词表、需人工核实的事实标记;不达标时可再调一次Gemini修复并比较两版保留较优者。
TTS合成与SRT生成
把旁白全文发给Gemini TTS端点(HTTP请求节点)生成WAV,失败时切备用TTS;用代码节点按标点与停顿时长把旁白切成分镜时间轴并生成SRT字幕文本;可选开启listen-back:调Gemini转写音频,与脚本逐词比对得匹配分并列出缺失/多余词。
回写与Telegram审批
把检查结果、匹配分、打包JSON写回vs_queue对应行;Telegram节点发送WAV音频与脚本文本文件并带批准/重做按钮等待回复;点批准则把status改为approved并记录返回的file ID,点重做则status改回queued并清空产物字段,次日重新进入队列。
可直接复制的材料
Gemini结构化脚本提示词(本站独立编写)
字段名与字数区间为本站练习设定,可按你队列字段调整;备用模型名称以你Gemini凭证可用模型为准。
你是短视频配音编剧。领域:{{$json.niche}};格式:{{$json.format}};选题:{{$json.topic}}。只输出一个JSON对象,不要输出其他文字:{"hook":"第一句钩子,15字以内","scenes":[{"id":1,"visual":"画面描述","voiceover":"该场景旁白"}],"full_voiceover":"全部旁白连贯文本","facts_to_verify":["需要人工核实的事实列表"]}。要求:总旁白120至180字,3至5个场景,避免使用“你知道吗”“震惊”“万万没想到”这类陈词滥调。脚本自动检查规则配置(本站独立编写)
本站设计的检查阈值示例,原模板只列了检查维度未给具体数值,可按需调整。
{
"voiceover_length": {"min": 120, "max": 180, "unit": "中文字符"},
"hook_required": true,
"scene_count": {"min": 3, "max": 5},
"cliches": ["你知道吗", "震惊", "万万没想到", "不看后悔"],
"facts_check": "facts_to_verify非空时标记needs_review=true",
"listen_back": {"enabled": true, "word_match_pass_score": 0.9}
}vs_queue行字段结构(本站独立编写)
一行可直接粘贴进Data Table的示例数据,topic可换成自己的选题。
{
"topic": "为什么螃蟹横着走",
"niche": "动物科普",
"format": "60秒竖屏无人声出镜配音",
"status": "queued",
"checks": "{}",
"listen_score": null,
"package_json": "{}",
"tg_file_id": ""
}输入与输出示例
本站虚构演示,匹配分、时长与file ID均为示意值,未真实调用Gemini或Telegram。
输入
vs_queue中一行:topic=为什么螃蟹横着走,niche=动物科普,format=60秒竖屏无人声出镜配音,status=queued,批量大小1,listen-back开启。对应输出
Gemini返回JSON:hook="螃蟹的腿决定了它只能横着走",scenes共4个,full_voiceover约150字,facts_to_verify含“蟹腿关节只能左右活动”。自检通过(无陈词滥调、场景数4);TTS产出WAV约52秒并生成4条SRT字幕;listen-back转写比对得匹配分0.94,无缺失词;Telegram收到音频与脚本文本,点批准后行状态变为approved并写入file ID示例值BAADBQADgwADx123。做完检查这些
- 自检能拦截含“你知道吗”开头或旁白少于120字的脚本并触发一次修复流程
- 生成的SRT条数与scenes场景数一致,且最后一条时间码与音频时长相符
- 点重做后该行status回到queued且次日定时运行会再次拉取该选题
- 批准路径写回的tg_file_id非空,checks与listen_score字段为有效JSON或数值
容易卡住的地方
- n8n必须公网HTTPS可达,否则Telegram按钮点击后无法恢复等待中的执行
- Gemini TTS为HTTP端点调用,凭证无TTS权限时备用模型也会失败,需先在控制台确认
- Data Table的表名与字段名必须与节点配置完全一致,大小写不一致会取不到行
- listen-back逐词比对受转写质量影响,低匹配分不一定代表配音错误,阈值仅作参考
- 陈词滥调词表是字符串匹配,谐音或变体写法拦不住,必要时人工复核
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Create batch faceless video voice-overs with Google Gemini and Telegram
- 原作者
- Amelqa
- 原始发布日期
- 2026-10-05T19:56:31.785Z
- 来源
- https://n8n.io/workflows/20491