名称: youtube-voice-summarizer
版本: 1.0.0
描述: 使用 ElevenLabs TTS 将 YouTube 视频转换为播客风格的语音摘要
作者: Francisco Cordoba
主页: https://github.com/Franciscomoney/elevenlabs-moltbot
许可证: MIT
user-invocable: true
元数据: {"openclaw":{"emoji":"🎙️","autoTrigger":{"patterns":["youtube.com/watch","youtu.be/","youtube.com/shorts"]}}}
将任何 YouTube 视频转换为时长不超过 60 秒的专业语音摘要。
当用户发送 YouTube 链接时,本工具会:
1. 通过 Supadata 提取视频字幕
2. 通过 OpenRouter/Cerebras 生成简洁的 AI 摘要
3. 通过 ElevenLabs 将摘要转换为自然语音
4. 返回可供用户收听的音频文件
本工具需要运行一个后端服务器。请按以下步骤部署摘要服务:
git clone https://github.com/Franciscomoney/elevenlabs-moltbot.git
cd elevenlabs-moltbot
npm install
cp .env.example .env
# 将您的 API 密钥添加到 .env 文件中
npm start
| 服务 | 用途 | 获取地址 |
|---|---|---|
| ElevenLabs | 文本转语音 | https://elevenlabs.io |
| Supadata | YouTube 字幕提取 | https://supadata.ai |
| OpenRouter | AI 摘要生成 | https://openrouter.ai |
当用户发送 YouTube 链接时:
curl -s -X POST http://127.0.0.1:3050/api/summarize \
-H "Content-Type: application/json" \
-d '{"url":"YOUTUBE_URL","length":"short","voice":"podcast"}'
返回示例:{"jobId": "job_xxx", "status": "processing"}
curl -s http://127.0.0.1:3050/api/status/JOB_ID
持续轮询,直到状态变为 "completed"。
任务完成后,响应将包含:
- result.audioUrl - MP3 音频文件的 URL(将此发送给用户!)
- result.teaser - 内容简介/引子文本
- result.summary - 完整的文本摘要
- result.keyPoints - 关键要点列表
请向用户发送:
1. 简介文本作为消息
2. 音频 URL,以便他们收听
| 语音 | 风格描述 |
|---|---|
podcast |
深沉的男性旁白(默认) |
news |
英式权威口音 |
casual |
友好的对话风格 |
female_warm |
温暖的女声 |
| 长度 | 预计时长 | 适用场景 |
|---|---|---|
short |
1-2 分钟 | 快速概览 |
medium |
3-5 分钟 | 平衡的细节 |
detailed |
5-10 分钟 | 全面详细 |
用户:"总结一下这个视频:https://www.youtube.com/watch?v=dQw4w9WgXcQ"
curl -s -X POST http://127.0.0.1:3050/api/summarize \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","length":"short","voice":"podcast"}'
jobId 轮询状态audioUrl 发送给用户如需更快速、成本更低的纯文本摘要:
curl -s -X POST http://127.0.0.1:3050/api/quick-summary \
-H "Content-Type: application/json" \
-d '{"url":"YOUTUBE_URL","length":"short"}'
"视频可能没有字幕"
- 视频需要在 YouTube 上启用字幕功能
- 新视频的自动生成字幕可能需要一些时间
音频 URL 无法访问
- 确保 .env 文件中的 BASE_URL 是公开可访问的
- 检查防火墙是否允许 3050 端口的流量
| 服务 | 成本 |
|---|---|
| Supadata | 约 $0.001 |
| OpenRouter | 约 $0.005-0.02 |
| ElevenLabs | 约 $0.05-0.15 |
| 总计 | 约 $0.06-0.17 |