Guizang PPT Skill
op7418 · 技能
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
一个带 webhook、接收语音提问的 n8n 工作流。OpenAI 把你的录音转成文字,Gemini 带着之前的对话回答,ElevenLabs 把回答读出来,作为音频文件返回。
用 webhook 做带记忆的语音聊天,声音来自 ElevenLabs 是一款 n8n 工作流,属于效率类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
Webhook 请求
有东西向 webhook 路径 voice_message 发出 POST 请求时开始运行,请求里有:
一个带语音回答的音频文件,在同一次请求里返回给调用方
开始之前要准备好这些。
语音转文字
用 whisper-1 模型转写录音。
需要OpenAI API 密钥
语言模型
运行 gemini-3.6-flash,在提示词里带着之前的对话来回答转写出的文字。
需要Gemini API 密钥,放在 Google Gemini (PaLM) API 凭据里
文字转语音
把回答变成语音,声音由地址里的声音 ID 决定。
需要ElevenLabs API 密钥,放在 Custom Auth 凭据里,另需一个声音 ID
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流用语音回答语音提问。有东西向它发一段音频录音,OpenAI 把录音转成文字,一个 Gemini 模型带着之前的对话来回答。ElevenLabs 再用你选的声音把回答读出来,调用方在同一次调用里拿回一个音频文件。十一个节点完成全部工作,旁边有四张便签。
正在给应用、自助终端或小设备做语音助手、希望“录音进、声音出”的开发者和创客。如果你需要实时的流式对话,就别选它,因为每次调用只是一问一答。如果不同的调用方需要各自独立的聊天,也别选它,因为记忆是共用的。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 酒店餐饮 | 酒店和餐厅团队 | 在自助终端或页面上放一个说话按钮,并把场所的资料写进提示词 | 一家酒店把入住规则写进提示词,大堂的平板就会播放语音回答。 |
| 教育 | 语言老师 | 给学生一个会开口回答的练口语伙伴 | 老师的练习页面发出学生的录音,播放一条记得上一轮内容的回复。 |
| 硬件和小设备 | 创客 | 用按钮和麦克风通过 HTTP 发送音频 | 一位爱好者的桌面小设备上传录音,并播放返回的声音。 |
| 客户支持 | 小团队 | 在选语音平台之前先听听语音回答是什么效果 | 一位支持负责人试了几个真实问题,听了回复。 |
你需要会一点 n8n,再有三个账号:导入一个文件,添加两个凭据,再给 ElevenLabs 做一个自定义凭据。
任何有调用方能访问到的地址的 n8n 都能运行,另外还要有 OpenAI、Google 和 ElevenLabs 的账号。回复是一个音频文件,所以任何能播放音频的东西都行。
点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。导入之前先把三个账号准备好。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器 |
| OpenAI | 一个 API 密钥,用于语音转文字 |
| Google AI Studio | 一个 Gemini API 密钥 |
| ElevenLabs | 一个 API 密钥,以及声音库里一个声音的 ID |
| 调用方 | 能把录音作为表单上传发出去的东西 |
workflow.json。OpenAI Speech to Text 里选中它。Google Gemini Chat Model 里选中它。xi-api-key 请求头里,在 README 里写作 <YOUR_ELEVENLABS_KEY>。ElevenLabs Generate Audio 里选中它,并在同一个节点里把地址末尾的 <YOUR_VOICE_ID> 换成你的声音 ID。Webhook 上点 Listen for test event,再向它的测试地址发一段简短的录音。把录音作为表单上传发出去,文件放在名为 voice_message 的字段里。OpenAI 接受 flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav 和 webm。三个服务工作期间调用保持打开,回答以音频形式返回。向同一个地址发下一个问题,之前的几轮对话也会带上。
| 要改的 | 在哪里改 |
|---|---|
| 声音 | ElevenLabs Generate Audio 里的 <YOUR_VOICE_ID> |
| 朗读模型 | 同一个节点里再加一个请求体参数 model_id |
| 助手的角色 | Basic LLM Chain 里的消息 |
| 回答用的模型 | Google Gemini Chat Model 里的 models/gemini-3.6-flash |
| 对话 | Window Buffer Memory 里的会话键 voice-chat |
一位学习者录下“西班牙语里怎么礼貌地说早上好?”,把文件发出去。
工作流回给他一个语音回复的音频文件。学习者接着录“那晚上呢?”。这时提示词里已经带着第一个问题和它的回答,所以第二条回复可以接着往下说。把地址交给别人之前,先听一听最初的几条回复,因为语音回答比文字回答更难检查。
新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这个工作流有三件事依次进行:听,借助记忆想,再说。记忆是两个小节点,负责读写聊天记录。先试一段简短的录音。
专家:两个 Chat Memory Manager 节点读写同一个带固定键的 Window Buffer Memory,聊天记录被汇进链的提示词里。
| 节点 | 做什么 | 要知道的 |
|---|---|---|
OpenAI Speech to Text | 转写二进制字段 voice_message | 这个节点发送的是 whisper-1,没有模型设置 |
Get Chat 和 Aggregate | 读出聊天记录并汇成 context | 聊天记录为空时,提示词里会留下 undefined |
Insert Chat 和 Limit | 写入问题和回答,再只留一项 | Insert 会把所有已存的消息都发回来,所以 Limit 避免了每条消息各调用一次 |
ElevenLabs Generate Audio | 把回答文字发给文字转语音 | 没设模型时,ElevenLabs 用 eleven_multilingual_v2 |
一次运行有三个服务计费,每个调用方共用一个聊天。有两个模型名需要留意。
gemini-1.5-flash,它的模型页面也没有任何 Gemini 1.5 模型。Mindket 的副本调用 models/gemini-3.6-flash,这是该页面为 2.0 flash 系列指定的替代,模型页面也把它标为稳定版whisper-1。OpenAI 的弃用页面(2026 年 11 月 12 日查阅)把它列为 2027 年 2 月 26 日关停,替代是 gpt-live-transcribe 或 gpt-transcribe。到那以后,把这个节点换成发给 OpenAI 转写端点的 HTTP Requestundefined,所以新会话里可能看到它一个带 webhook、接收语音提问的 n8n 工作流。你发一段录音,OpenAI 把它转成文字,Gemini 带着之前的对话回答,ElevenLabs 把回答读出来。回复是一个音频文件。
workflow.json:n8n 导出的工作流,11 个节点和四张便签。里面没有任何凭据。README.md:这份设置说明,压缩包里的是英文版。ElevenLabs Generate Audio 的地址末尾原来是文字 {{voice id}},前面还有一个等号。n8n 把它当成表达式,在你替换之前会拒绝它。现在地址是纯文本,以 <YOUR_VOICE_ID> 结尾。Google Gemini Chat Model 原来调用 models/gemini-1.5-flash,Google 已不再列出这个模型。现在它调用 models/gemini-3.6-flash。Window Buffer Memory 原来用一长串测试字符串作会话键,现在键是 voice-chat。<YOUR_ELEVENLABS_KEY>。OpenAI - Speech to Text 现在叫 OpenAI Speech to Text,ElevenLabs - Generate Audio 现在叫 ElevenLabs Generate Audio。workflow.json。OpenAI Speech to Text 里选中它。Google Gemini Chat Model 里选中它。{
"headers": {
"xi-api-key": "<YOUR_ELEVENLABS_KEY>"
}
}
ElevenLabs Generate Audio 里选中这个凭据,位置在 Generic Credential Type 和 Custom Auth 下。在同一个节点里,把地址末尾的 <YOUR_VOICE_ID> 换成你的声音 ID。Webhook,点 Listen for test event。向它的测试地址发一段简短的录音。下面这条命令会发送并把回答存下来:curl -X POST -F "voice_message=@question.mp3" "<TEST ADDRESS>" --output answer.mp3
Webhook 在路径 voice_message 上接收 POST。它等一个节点来回复,所以调用方在同一次调用里就能拿到音频。OpenAI Speech to Text 转写表单字段 voice_message 里的文件。OpenAI 接受 flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav 或 webm,节点发送的模型是 whisper-1。Get Chat 从 Window Buffer Memory 读出已存的消息。Aggregate 把它们汇成一个列表 context。Basic LLM Chain 把转写文字发给 Google Gemini Chat Model。它前面有一条消息,要求模型先读之前的对话,并把对话列成 Human: 和 AI Assistant: 几行。Insert Chat 往记忆里加两条消息:转写文字作为用户的话,回答作为 AI 的话。Limit 只留第一项。这个版本的 Insert Chat 会把所有已存的消息各作为一项发回来,所以没有 Limit 的话,下一个节点会对每一项各运行一次。ElevenLabs Generate Audio 把回答文字发给 ElevenLabs 的文字转语音端点,使用你的声音。Respond to Webhook 把收到的第一个二进制文件发回给调用方。ElevenLabs Generate Audio 里的 <YOUR_VOICE_ID>。model_id。没给的时候,ElevenLabs 用 eleven_multilingual_v2。Basic LLM Chain 里的消息。它现在只有一句“先读之前的对话”,所以把你想要的角色加进去。Google Gemini Chat Model 里的 models/gemini-3.6-flash。Window Buffer Memory 里的 voice-chat。换一个键,就是另一段独立的记录。gemini-1.5-flash,它的模型页面也没有任何 Gemini 1.5 模型。弃用页面把 gemini-3.6-flash 指定为 2.0 flash 系列的替代,模型页面把它标为稳定版。OpenAI Speech to Text 没有模型设置,发送的是 whisper-1。OpenAI 的弃用页面(2026 年 11 月 12 日查阅)把 whisper-1 列为 2027 年 2 月 26 日关停,替代是 gpt-live-transcribe 或 gpt-transcribe。到那以后,把这个节点换成发给 OpenAI 转写端点的 HTTP Request。Basic LLM Chain 在某条记录没有人类或 AI 文字的地方写 undefined,所以新会话里可能看到它。NOTICE.md 706 B README.md 6 KB workflow.json 9 KB
op7418 · 技能
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · 技能
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
zarazhangrui · 技能
Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…
iptv-org · 工具包
把来自多个国家的公开电视直播频道整理成播放列表,任何支持直播流的视频播放器都能打开。适合想看直播的观众,也适合需要频道数据的开发者。
uwg · 工具包
收录来自 OpenModelDB 社区的一组图像放大模型,适合想在自己电脑上用 AI 放大低分辨率图片的人。
PedroMarinhoDev · 工具包
根据文字指令编辑一张图片,或合成最多四张,使用适配 ComfyUI 的 Moss-Image-Edit LoRA。适合使用 MOSS-Image 模型的 ComfyUI 用户。