Work with YouTube content end to end — fetch transcripts and turn them into summaries, blog posts, social content, quotes, or show notes; create high-CTR thumbnails (with the user's face from an upload), clone the style of top-ranking thumbnails; and produce SEO-optimised titles + descriptions. Use when the user pastes a YouTube URL, wants to repurpose video content, research competitor videos, make or refresh a thumbnail, or package a video for upload.
Scanned 8/31/2026
Install via CLI
openskills install hyperfx-ai/marketing-skills---
name: youtube
description: Work with YouTube content end to end — fetch transcripts and turn them into summaries, blog posts, social content, quotes, or show notes; create high-CTR thumbnails (with the user's face from an upload), clone the style of top-ranking thumbnails; and produce SEO-optimised titles + descriptions. Use when the user pastes a YouTube URL, wants to repurpose video content, research competitor videos, make or refresh a thumbnail, or package a video for upload.
use_cases:
- Get the transcript of a YouTube video
- Summarize a YouTube video or extract key points without watching
- Turn a video into a blog post, LinkedIn post, or show notes
- Pull verbatim quotes with timestamps
- Generate a YouTube thumbnail from a video idea, transcript, or YouTube URL
- Research the top-performing thumbnails for a search term and clone their style
- Add the user's face (uploaded as an image) to a thumbnail
- Produce an SEO-optimised title set and description for an upcoming video
triggers:
- youtube
- youtube transcript
- youtube video
- video summary
- repurpose video
- show notes
- thumbnail
- youtube thumbnail
- thumbnail clone
- SEO titles
- video description
- youtube title
requires_toolkits:
- youtube_toolkit
suggested_toolkits:
- image_gen
- sandbox
- file_manager
icon: youtube
short_description: Fetch transcripts, repurpose video content, and create thumbnails for YouTube.
---
# YouTube
Fetch the full transcript of any YouTube video and turn it into whatever the user needs — summaries, blog posts, social content, quotes, show notes, or raw text. Then package videos for upload: high-CTR thumbnails, SEO titles, and descriptions.
## Routing
| User intent | Where to go |
| --- | --- |
| Transcript, summary, repurposing, quotes, chapters | This guide (below) |
| Thumbnails, style cloning, SEO titles/descriptions | `references/thumbnails.md` |
## Requirements
- **Hyper MCP installed.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
- **YouTube toolkit enabled** at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps) — provides `youtube_video_transcripts_fetch` and `youtube_videos_read`.
- Thumbnail workflows additionally need the image generation and sandbox toolkits.
If `youtube_video_transcripts_fetch` is not in the tool list, stop and tell the user to enable the YouTube toolkit in Hyper.
## Two tools — pick the right one
| Tool | When to use | Returns |
| --- | --- | --- |
| `youtube_video_transcripts_fetch` | You need the raw transcript text or timestamped segments. Fast, reliable, always get this first. | Full text string + segments with start/duration timestamps |
| `youtube_videos_read` | You need AI-powered extraction from the video — summaries, Q&A, topic segmentation, translation, visual descriptions. | Free-form answer to your instruction |
**Default: start with `youtube_video_transcripts_fetch`.** Use `youtube_videos_read` when you need something the raw text can't give you (e.g. visual descriptions, translation, or a structured extraction from a very long video).
## Critical rules
1. **`youtube_video_transcripts_fetch` takes 15–30 seconds.** It spins up an isolated sandbox. Tell the user it's running and to expect a short wait — don't make them think it's stuck.
2. **Both video IDs and full URLs are accepted.** `"NZLAdOL9fP8"` and `"https://www.youtube.com/watch?v=NZLAdOL9fP8"` both work.
3. **Don't fabricate transcript content.** Always fetch before summarizing. Never rely on training knowledge about what a specific video says.
4. **Very long videos (>2 hours):** `youtube_video_transcripts_fetch` handles these fine. Only use `youtube_videos_read` on long videos if you specifically need AI-powered extraction — it can hit token limits on very long content.
5. **No transcript available:** Some videos have transcripts disabled. If `youtube_video_transcripts_fetch` fails, try `youtube_videos_read` as a fallback — it uses a different extraction method.
## Fetching the transcript
```python
youtube_video_transcripts_fetch(
video_id_or_url="https://www.youtube.com/watch?v=NZLAdOL9fP8",
language="en" # optional — omit to auto-detect
)
```
**Response structure:**
```json
{
"success": true,
"video_id": "NZLAdOL9fP8",
"language": "English (auto-generated)",
"text": "Full transcript as one string...",
"segments": [
{ "text": "This week we launched Hyper MCP.", "start": 0.0, "duration": 3.2 },
{ "text": "It brings Hyper's built-in tools...", "start": 3.2, "duration": 4.1 }
],
"total_duration": 342.0
}
```
Use `text` for most tasks. Use `segments` when you need timestamps (e.g. chapters, clip references, karaoke captions).
## Using youtube_videos_read for AI-powered extraction
```python
youtube_videos_read(
url="https://www.youtube.com/watch?v=NZLAdOL9fP8",
instruction="Summarize the key points. Then list the main features demonstrated, with timestamps."
)
```
Good `instruction` examples:
- `"Extract every claim made about pricing or cost."`
- `"List the action items mentioned, in order."`
- `"Translate this to Spanish."`
- `"What tools or products does the speaker mention by name?"`
- `"Identify the main sections of this video and give me a timestamp for each."`
## What to do with the transcript
Once you have the text, ask the user what they need — or infer it from context:
| What the user wants | What to produce |
| --- | --- |
| Blog post | Restructure the transcript into intro → sections → CTA. Clean up filler words. Add subheadings. |
| LinkedIn / Twitter post | Extract the 1–2 sharpest insights. Rewrite in first person if it's the user's own video. |
| Summary | 3–5 bullet points of key takeaways. |
| Show notes / description | Title, 2-sentence summary, timestamped chapters, links mentioned. |
| Quote extraction | Pull verbatim quotes with `start` timestamps from the segments array. |
| Repurpose for email | Rewrite as a narrative email — opening hook, key insight, CTA. |
| Research / competitive analysis | Summarize what the speaker claims, what products they recommend, and what pain points they describe. |
## Thumbnails and SEO packaging
For making or refreshing thumbnails, cloning the style of top-ranking thumbnails, adding the user's face, and generating SEO titles/descriptions, read `references/thumbnails.md`. Every thumbnail workflow is a sandbox script under `scripts/` (`generate_thumbnail.py`, `research_top_thumbnails.py`, `clone_top_thumbnail_style.py`, `analyze_thumbnail_concepts.py`, `generate_seo_titles.py`, `generate_seo_description.py`) — the reference doc is the routing table and the rules for using them.
## Example outputs
**Input:** `"Get the transcript of https://www.youtube.com/watch?v=NZLAdOL9fP8 and write a LinkedIn post from it"`
**Flow:**
1. Call `youtube_video_transcripts_fetch(video_id_or_url="https://www.youtube.com/watch?v=NZLAdOL9fP8")`
2. Read the returned `text`
3. Identify the 1–2 sharpest moments — what's surprising, useful, or quotable
4. Draft a LinkedIn post in the speaker's voice (first person) with a hook and a clear point
**Input:** `"Summarize this video for me: [URL]"`
**Flow:**
1. Call `youtube_video_transcripts_fetch(video_id_or_url="[URL]")`
2. Return 4–6 bullet points of key takeaways, without padding or filler
**Input:** `"Make me a thumbnail like the top videos for 'AI agents'"`
**Flow:**
1. Read `references/thumbnails.md`
2. Run `scripts/clone_top_thumbnail_style.py` with `query="AI agents"` and the user's topic
3. Show the top thumbnails, let the user pick a rank, re-run with `chosen_rank` to generate
## Related skills
| When to hand off | Skill |
| --- | --- |
| Mining comments from YouTube videos for customer research | [`customer-research`](../customer-research) |
| Finding top YouTube videos by topic | Use `youtube_videos_search_top` directly |
| Generating video content | [`video-generation`](../video-generation) |
No comments yet. Be the first to comment!