
Youtube
This pulls YouTube captions without needing an API key or downloading audio files, which makes it fast and dead simple for transcript extraction. It triggers automatically when you pass in a YouTube URL (regular, shortened, or YouTube Kids). The main catch is it only works when captions exist, either auto-generated or manual, so you'll hit skips on videos without them. You can also combine it with web search to ingest multiple videos at once by searching "youtube Moore's Law" and it'll process whatever comes back. Built on youtube-transcript-api and licensed AGPL-3.0.
- GitHub stars
- 452
- last updated
- Jun 11, 2026
Install
$ npx -y skills add axoviq-ai/synthadoc --skill youtube --agent claude-codeInstalls into .claude/skills of the current project.
Files
YouTube Skill
Extracts the transcript (captions) from a YouTube video using the YouTube caption system — no API key or audio download required. Optionally uses a vision-capable LLM to produce a structured summary (Overview, Topics, Key takeaways) before the raw transcript.
Setup
pip install youtube-transcript-api
Standalone usage
Transcript only (no LLM required):
import asyncio
from synthadoc.skills.youtube.scripts.main import YoutubeSkill
skill = YoutubeSkill() # no provider — returns raw timestamped transcript
async def main():
result = await skill.extract("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
print(result.text) # "[0:00] text [0:04] text ..."
print(result.metadata) # {"video_id": "...", "title": "...", "url": "..."}
asyncio.run(main())
With LLM summarization (pass any provider that implements complete()):
skill = YoutubeSkill(provider=my_provider)
result = await skill.extract(url)
# result.text contains:
# ## Executive Summary
# <Overview / Topics / Key takeaways>
#
# ## Transcript
# [0:00] ...
Sponsors
Details
- Repository
- github.com/axoviq-ai/synthadoc
- Category
- Video & Audio Editing
- License
- AGPL-3.0
- First seen
- Jun 11, 2026