skills$openclaw/youtube-voice-summarizer
franciscoandsam9.7k

by franciscoandsam

youtube-voice-summarizer – OpenClaw Skill

youtube-voice-summarizer is an OpenClaw Skills integration for writing workflows. Transform YouTube videos into podcast-style voice summaries using ElevenLabs TTS

9.7k stars2.6k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026writing

Skill Snapshot

nameyoutube-voice-summarizer
descriptionTransform YouTube videos into podcast-style voice summaries using ElevenLabs TTS OpenClaw Skills integration.
ownerfranciscoandsam
repositoryfranciscoandsam/youtube-voice-summarizer-elevenlabs
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @franciscoandsam/youtube-voice-summarizer-elevenlabs
last updatedFeb 7, 2026

Maintainer

franciscoandsam

franciscoandsam

Maintains youtube-voice-summarizer in the OpenClaw Skills directory.

View GitHub profile
File Explorer
4 files
.
_meta.json
337 B
README.md
1.0 KB
skill.json
2.3 KB
SKILL.md
3.6 KB
SKILL.md

name: youtube-voice-summarizer version: 1.0.0 description: Transform YouTube videos into podcast-style voice summaries using ElevenLabs TTS author: Francisco Cordoba homepage: https://github.com/Franciscomoney/elevenlabs-moltbot license: MIT user-invocable: true metadata: {"openclaw":{"emoji":"🎙️","autoTrigger":{"patterns":["youtube.com/watch","youtu.be/","youtube.com/shorts"]}}}

YouTube Voice Summarizer

Transform any YouTube video into a professional voice summary delivered in under 60 seconds.

What It Does

When a user sends a YouTube URL, this skill:

  1. Extracts the video transcript via Supadata
  2. Generates a concise AI summary via OpenRouter/Cerebras
  3. Converts the summary to natural speech via ElevenLabs
  4. Returns an audio file the user can listen to

Requirements

This skill requires a running backend server. Deploy the summarizer service:

git clone https://github.com/Franciscomoney/elevenlabs-moltbot.git
cd elevenlabs-moltbot
npm install
cp .env.example .env
# Add your API keys to .env
npm start

Required API Keys

ServicePurposeGet Key
ElevenLabsText-to-speechhttps://elevenlabs.io
SupadataYouTube transcriptshttps://supadata.ai
OpenRouterAI summarizationhttps://openrouter.ai

How to Use

When user sends a YouTube URL:

Step 1: Start the voice summary job

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"}'

Returns: {"jobId": "job_xxx", "status": "processing"}

Step 2: Poll for completion (wait 3-5 seconds between checks)

curl -s http://127.0.0.1:3050/api/status/JOB_ID

Keep polling until status is "completed".

Step 3: Return the audio to user

When complete, the response includes:

  • result.audioUrl - The MP3 audio URL (send this to the user!)
  • result.teaser - Short hook text about the content
  • result.summary - Full text summary
  • result.keyPoints - Array of key takeaways

Send the user:

  1. The teaser text as a message
  2. The audio URL so they can listen

Voice Options

VoiceStyle
podcastDeep male narrator (default)
newsBritish authoritative
casualFriendly conversational
female_warmWarm female voice

Summary Lengths

LengthDurationBest For
short1-2 minQuick overview
medium3-5 minBalanced detail
detailed5-10 minComprehensive

Example Flow

User: "Summarize this: https://www.youtube.com/watch?v=dQw4w9WgXcQ"

  1. Start job:
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"}'
  1. Poll status with the returned jobId
  2. When complete, send the audioUrl to the user

Text-Only Summary (No Audio)

For faster, cheaper text-only summaries:

curl -s -X POST http://127.0.0.1:3050/api/quick-summary \
  -H "Content-Type: application/json" \
  -d '{"url":"YOUTUBE_URL","length":"short"}'

Troubleshooting

"Video may not have captions"

  • The video needs subtitles enabled on YouTube
  • Auto-generated captions may take time on new videos

Audio URL not working

  • Ensure BASE_URL in .env is publicly accessible
  • Check firewall allows traffic on port 3050

Cost Per Summary

ServiceCost
Supadata~$0.001
OpenRouter~$0.005-0.02
ElevenLabs~$0.05-0.15
Total~$0.06-0.17
README.md

YouTube Voice Summarizer

Transform any YouTube video into a podcast-style voice summary in under 60 seconds.

Features

  • Fast - Full voice summary in ~60 seconds
  • Natural Voice - ElevenLabs multilingual v2
  • Any Video Length - Works with 10 minutes or 10 hours
  • Multiple Voices - 4 voice styles to choose from
  • Customizable Length - Short, medium, or detailed summaries

Quick Start

  1. Deploy the backend server from GitHub
  2. Configure your API keys (ElevenLabs, Supadata, OpenRouter)
  3. Add this skill to your OpenClaw bot
  4. Send YouTube links and receive voice summaries!

How It Works

YouTube URL → Supadata (transcript) → AI (summary) → ElevenLabs (voice) → You

API Keys Required

ServicePurposeLink
ElevenLabsText-to-speechhttps://elevenlabs.io
SupadataYouTube transcriptshttps://supadata.ai
OpenRouterAI summarizationhttps://openrouter.ai

License

MIT - Francisco Cordoba

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

This skill requires a running backend server. Deploy the summarizer service: ```bash git clone https://github.com/Franciscomoney/elevenlabs-moltbot.git cd elevenlabs-moltbot npm install cp .env.example .env

FAQ

How do I install youtube-voice-summarizer?

Run openclaw add @franciscoandsam/youtube-voice-summarizer-elevenlabs in your terminal. This installs youtube-voice-summarizer into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/franciscoandsam/youtube-voice-summarizer-elevenlabs. Review commits and README documentation before installing.