For the complete documentation index, see llms.txt. Markdown variants are available by appending .md to any URL or sending an Accept: text/markdown header. An agent skill is available at /.well-known/agent-skills/site-skill.md.
319
Sponsor

Chat with YouTube

Fetches a video's metadata and transcript, then answers questions with clickable timestamp citations.

Output will stream here when you run the agent.

Summary

The Chat with YouTube Agent answers questions about a video using its transcript. It pulls the video's metadata and full transcript, then summarizes, answers follow-ups, and generates chapter timestamps — each citation a clickable link straight to that moment. Reach for it to skim long talks, lectures, or podcasts without watching end to end.

Installation

$ pnpm dlx shadcn@latest add @agentcn/mastra/chat-with-youtube

Composition

├── config.ts                    # Agent definition (model + config)
├── instructions.md              # Comprehensive YouTube assistant instructions
├── memory.ts                    # Memory instance
├── lib/
│   └── youtube-utils.ts         # Video ID extraction + timestamp formatting
└── tools/
    ├── youtube-metadata.ts      # Fetch video title, author, description, duration
    └── youtube-transcript.ts    # Fetch timestamped transcript segments

How It Works

  1. Get Metadata - fetch-youtube-metadata retrieves video title, author, description, and duration
  2. Get Transcript - fetch-youtube-transcript fetches the full transcript with timestamps
  3. Answer Questions - The agent answers based on transcript content with clickable timestamp citations
  4. Generate Chapters - Creates chapter timestamps in YouTube description format

Customization

  • Swap the model. Edit the model field in config.ts.
  • Add chapters export. Add a tool that writes the chapter list back as a YouTube description or VTT file.
  • Handle missing transcripts. Fall back to an STT service when a video has no captions.
  • Swap metadata source. Use the YouTube Data API for richer metadata.