Skills yt-assemblyai-monitor
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/azazlf09/yt-assemblyai-monitor" ~/.claude/skills/openclaw-skills-yt-assemblyai-monitor && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/azazlf09/yt-assemblyai-monitor" ~/.openclaw/skills/openclaw-skills-yt-assemblyai-monitor && rm -rf "$T"
manifest:
skills/azazlf09/yt-assemblyai-monitor/SKILL.mdsource content
YouTube Channel Monitor (AssemblyAI)
Monitor YouTube channels and auto-transcribe new videos using AssemblyAI cloud API. Zero local dependencies beyond
requests.
Prerequisites
- AssemblyAI account: https://www.assemblyai.com/app/signup (free, 100 hours/month)
- API Key: from Dashboard
library (usually pre-installed with OpenClaw/Python)requests
Setup API Key
Choose one:
# Option A: environment variable export ASSEMBLYAI_API_KEY="your-key" # Option B: config file echo '{"api_key": "your-key"}' > data/config.json
How It Works
Channel page → innertube API → audio direct URL → AssemblyAI cloud → text + summary
No local audio download, no Whisper, no ffmpeg. AssemblyAI handles everything server-side.
Commands
# Transcribe a single video python3 scripts/monitor.py now "https://www.youtube.com/watch?v=VIDEO_ID" # Add a channel to monitor python3 scripts/monitor.py add "https://www.youtube.com/@ChannelName/videos" "Alias" # Check all channels for new videos + transcribe python3 scripts/monitor.py check [count_per_channel] # List channels python3 scripts/monitor.py list # Remove channel python3 scripts/monitor.py remove "Alias"
Important Notes
- Audio URL extraction uses YouTube's innertube API (pure requests).
- Works on normal residential IPs. Datacenter IPs may get blocked by YouTube.
- If audio URL extraction fails with UNPLAYABLE, the IP may be flagged — this is a YouTube limitation, not a bug.
- Free tier: 100 hours/month of transcription.
- Transcription takes ~70-80% of video duration.
- Results saved to
.data/summaries/{video_id}.json
Output Format
Each result includes:
: full transcriptiontext
: AI-generated paragraph summarysummary
: transcription confidence scoreconfidence
: timestamped segments with speaker labelsutterances
Files
| Path | Purpose |
|---|---|
| monitored channels |
| already-transcribed video IDs |
| transcription results |
| API key (optional) |