AskVideo — YouTube Transcripts & AI Video Chat
Two core capabilities for agents:
- Transcripts — pull the full transcript (with timestamps) of any YouTube video in one command. Fast, no indexing needed.
- AI chat — ask questions, get summaries, extract information from a video using AI (RAG over the transcript).
When to Use This Skill
Use transcript when:
- User asks for the transcript, subtitles, or captions of a YouTube video
- User wants the raw text of a video to paste somewhere, translate, or process further
- You (the agent) need to read a video's contents to reason about it
- User asks for specific quotes or wants to search the video text
Use ask / chat when:
- User asks a question about a video ("what does he say about X?")
- User wants a summary, bullet points, key takeaways
- User asks for timestamps where a topic is discussed
- User wants structured extraction (list of tools, steps, code snippets, etc.)
Keywords: YouTube transcript, video transcript, video captions, YouTube subtitles, video summary, explain video, what's in this video, video content, video tutorial, video Q&A
Prerequisites
The askvideo CLI must be installed and authenticated:
# Check if installed
which askvideo
# Install if missing
npm install -g askvideo
# First time — create an account (email OTP, free)
askvideo signup
# Or, if the user already has an account
askvideo login
# Sign out when done (optional)
askvideo logout
Signup and login both use email OTP — the user enters their email, receives a 6-digit code, and is authenticated on this machine. The API key is stored in the OS config dir; subsequent commands are non-interactive.
Commands
Get a Transcript (Recommended for Agents)
transcript (alias yt) returns the full transcript of a video. No indexing, no AI — fast.
# Plain transcript with timestamps (default)
askvideo transcript "<youtube-url>"
# Short alias
askvideo yt "<youtube-url>"
# Plain text, no timestamps
askvideo transcript "<youtube-url>" --no-timestamps
# JSON output (best for parsing in agents)
askvideo transcript "<youtube-url>" --json
# Save to file
askvideo transcript "<youtube-url>" -o transcript.txt
askvideo transcript "<youtube-url>" -f srt -o subtitles.srt
# Quiet mode (just the transcript, no decorative output)
askvideo transcript "<youtube-url>" --quiet
Output formats:
txt(default) — readable text, optionally with[m:ss]timestampssrt— SubRip subtitle format, suitable for video playersjson—{ success, video_id, transcript, segments[], duration }
Ask a Single Question
ask indexes the video (first call only) and answers a question. Use --simple for clean non-streaming output.
askvideo ask "<question>" --url "<youtube-url>" --simple
# Examples
askvideo ask "Summarize this video in 3 bullet points" --url "<url>" --simple
askvideo ask "At what timestamp do they discuss pricing?" --url "<url>" --simple
askvideo ask "List all the tools mentioned in this video" --url "<url>" --simple
Interactive Chat
askvideo chat "<youtube-url>"
List Indexed Videos
askvideo videos
Check Credits
askvideo credits
Workflow for Agents
Fast path: transcript only
If the user asks for the transcript or you just need the text, use transcript:
askvideo transcript "<url>" --json --quiet
Parse the JSON, use transcript or segments[] as needed.
AI path: question answering
If the user asks a question about the video, use ask:
askvideo ask "<user's question>" --url "<url>" --simple
First call indexes the video (~30-60s). Subsequent calls with --id <yt_id> are instant.
Auth prerequisite
Before any other command, ensure the user is authenticated. If they see Authentication required, have them run:
askvideo signup # new user
askvideo login # existing user
Response Format
Always present the answer clearly:
Based on the video:
[output from askvideo]
For transcripts, consider summarizing or trimming if the transcript is very long before showing to the user.
Error Handling
| Error | Solution |
|-------|----------|
| Authentication required | Run askvideo signup (new user) or askvideo login (existing) |
| No video credits remaining | User needs to upgrade at https://askvideo.ai/pricing |
| No message credits remaining | User needs to upgrade at https://askvideo.ai/pricing |
| Failed to fetch transcript | Video has no captions — try a different video |
| Invalid YouTube URL | Check the URL format |
Supported Video Types
- Standard YouTube videos with captions/auto-generated transcripts
- YouTube Shorts
- Unlisted videos (if URL is provided)
Limitations
- Requires the video to have a transcript (auto-generated or manual)
transcriptcommand is generous; no per-call charges at current free tierask/chatuse video credits: free plan gets 1 video + 10 messages/month- Video indexing (first
askcall) takes 30-60 seconds
Examples for Common Tasks
Get a clean transcript as plain text
askvideo transcript "<url>" --no-timestamps --quiet
Get a transcript as JSON for programmatic use
askvideo transcript "<url>" --json
Save as SRT subtitles
askvideo yt "<url>" -f srt -o video.srt
Summarize a video
askvideo ask "Give me a comprehensive summary with key takeaways" --url "<url>" --simple
Extract code/commands
askvideo ask "List all the code snippets or commands mentioned" --url "<url>" --simple
Find a specific topic with timestamp
askvideo ask "When and what does the speaker say about <topic>?" --url "<url>" --simple
Links
- Website: https://askvideo.ai
- Transcript tool: https://askvideo.ai/tools/youtube-transcript
- npm Package: https://npmjs.com/package/askvideo
- Support: https://askvideo.ai/support