YouTube To AI RAG
Pricing
from $4.00 / 1,000 video minute processeds
YouTube To AI RAG
Pricing
from $4.00 / 1,000 video minute processeds
Rating
0.0
(0)
Developer
Enrique G.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🎬 YouTube to AI & RAG: Multimodal Markdown & Visual Extractor
Transform any YouTube video into an AI-ready Multimodal Markdown document and structured dataset.
Extract timestamped spoken transcripts synchronized with exact slide, code, and diagram screen captures—ready for ChatGPT, Claude 3.5, Gemini, Cursor, Notion AI, LangChain, and RAG pipelines.
⚡ The Problem: Why Traditional YouTube Scrapers Fail for AI
Most YouTube scrapers on the market only extract plain text transcripts. But in technical tutorials, lectures, webinars, and product demos, over 70% of critical knowledge is visual:
- 📊 Complex architectural diagrams and workflows
- 💻 Code snippets, terminal commands, and IDE windows
- 📈 Financial charts, comparison tables, and slide decks
- 🖥️ UI walkthroughs and visual settings
When you feed plain text into an LLM, the model misses the entire visual context.
YouTube to AI & RAG Extractor solves this completely: it pairs every spoken paragraph with the exact visual frame displayed on screen at that precise second, hosted via permanent high-speed URLs and formatted into token-dense Markdown.
📊 Feature Comparison
| Feature | Standard YouTube Scrapers | YouTube to AI & RAG Extractor |
|---|---|---|
| Output Format | Plain raw text or bulky JSON | ✅ Token-dense Multimodal Markdown + YAML Frontmatter |
| Visual Context | ❌ None (Audio text only) | ✅ Synchronized screen captures of slides, code & diagrams |
| Duplicate Slide Filtering | ❌ None | ✅ Smart Visual Deduplication (no redundant images) |
| Hosted Image URLs | ❌ Broken or local paths | ✅ Permanent cloud-hosted public URLs ready for LLMs |
| Clickable Timestamp Links | ❌ Raw second numbers | ✅ Direct clickable YouTube jump links (https://youtu.be/...) |
| Time Range Trimming | ⚠️ Must download whole video | ✅ Process specific clips (startTime / endTime) |
| LLM & RAG Ready | ❌ Requires custom pipelines | ✅ Drop directly into ChatGPT, Claude, Gemini, or Vector DBs |
📄 Sample Multimodal Markdown Output
When processed, each video generates a clean, token-optimized Markdown document structured like this:
---video_id: "7xTGNNLPyMI"title: "Building Autonomous Agents with Memory & Tool Calling"channel: "AI Engineering Hub"duration: "24:18"time_range: "02:00 - 10:30"total_captures: 8source_url: "https://www.youtube.com/watch?v=7xTGNNLPyMI"---# Building Autonomous Agents with Memory & Tool Calling**Channel:** AI Engineering Hub | **Duration:** 24:18 | **Source:** [https://www.youtube.com/watch?v=7xTGNNLPyMI](https://www.youtube.com/watch?v=7xTGNNLPyMI)**Extracted Range:** 02:00 - 10:30 | **Visual Captures:** 8 screenshots---### ⏱️ [02:15](https://youtu.be/7xTGNNLPyMI?t=135)In this section, we examine the core multi-agent architecture. The supervisor agent coordinates tool execution across worker agents.---### ⏱️ [04:40](https://youtu.be/7xTGNNLPyMI?t=280)Here is the concrete implementation. Notice how the state schema persists conversational history across sub-agent handoffs.---### ⏱️ [07:12](https://youtu.be/7xTGNNLPyMI?t=432)Finally, let's benchmark latency when streaming tokens with local models versus cloud inference endpoints.
🛠️ Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
videoUrls | Array | (Required) | List of YouTube video URLs or 11-character video IDs (supports standard watch URLs, youtu.be, shorts, and live streams). |
captureMode | Select | interval | Choose capture frequency: interval (every N seconds), timestamp (on each transcript phrase), smart_scene (slide changes), or none (text only). |
intervalSeconds | Integer | 15 | Interval in seconds between screenshots when using interval mode (2 to 600 seconds). |
deduplicateFrames | Boolean | true | When enabled, skips redundant screenshots if the slide, code window, or graphic hasn't changed. |
maxScreenshots | Integer | 100 | Safety limit on maximum screenshots per video to control token usage and run speed. |
preferredLanguages | Array | ["en", "es", "auto"] | Prioritized subtitle languages with automatic fallback to original video audio tracks. |
startTime | String | "" | Optional start timestamp (e.g. 02:30, 5, or 01:10:00). |
endTime | String | "" | Optional end timestamp (e.g. 12:45 or 01:30:00). |
imageResolution | Select | 480p | Resolution of captured slides (360p ultra-fast, 480p recommended sharp text balance, 720p high-def). |
outputFormat | Select | both | Formats to deliver: both, markdown_only, or dataset_only. |
proxyConfiguration | Object | Default | Optional proxy settings to access region-restricted videos. |
🤖 Integrations & AI Workflows
1. Direct LLM Context Injection (Claude 3.5 Sonnet, ChatGPT Plus, Gemini)
Download the generated .md file or copy the aiMarkdown field directly into your prompt. Vision-capable models will simultaneously analyze the spoken explanations and the code or architecture shown in the screenshots.
2. LangChain & LlamaIndex RAG Pipelines
Load dataset items directly and convert into documents with visual metadata:
Python (Apify Client & LangChain):
from apify_client import ApifyClientfrom langchain_core.documents import Documentclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("egsand/youtube-to-ai-rag").call(run_input={"videoUrls": ["https://www.youtube.com/watch?v=7xTGNNLPyMI"],"captureMode": "interval","intervalSeconds": 20})dataset_items = client.dataset(run["defaultDatasetId"]).list_items().itemsdocuments = [Document(page_content=item["aiMarkdown"],metadata={"title": item["title"],"url": item["videoUrl"],"duration": item["durationFormatted"]})for item in dataset_items]
JavaScript / TypeScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('egsand/youtube-to-ai-rag').call({videoUrls: ['https://www.youtube.com/watch?v=7xTGNNLPyMI'],captureMode: 'interval',intervalSeconds: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Extracted Markdown for: ${items[0].title}`);
3. Automated Workflows with n8n, Make & Zapier
- Trigger: Watch an RSS feed or YouTube channel for new tutorial uploads.
- Action: Run this Actor with the new video URL.
- Delivery: Send the generated Markdown document to Notion, Obsidian, Slack, or a vector store.
💡 Practical Use Cases
- AI Researchers & Engineers: Ingest entire university lecture series, technical conference talks, and paper presentations into your personal RAG knowledge base.
- Developers & Learners: Summarize 2-hour coding tutorials into clean, readable Markdown guides with all code snippets captured.
- Product Teams & Marketers: Extract competitor demo videos and feature walkthroughs into structured visual reports.
- Content Creators: Repurpose video content into illustrated blog articles, LinkedIn carousels, and newsletter guides.
💰 Transparent Per-Minute Billing
This Actor uses fair Pay-Per-Event (video-minute) pricing based strictly on the processed video duration:
- Minimum 1 Minute (Videos < 60s): Videos or clips shorter than 60 seconds (such as YouTube Shorts) are billed as 1 minute (
1 video-minuteevent). - Per Started Minute Rounding: Partial minutes are rounded up to the next full minute (e.g., a
03:33video is billed as4 minutes). - Clip-Range Savings (
startTime/endTime): If you extract a 5-minute segment from a 2-hour video usingstartTimeandendTime, you are only billed for the 5 minutes processed, not the full 2-hour video.
❓ Frequently Asked Questions (FAQ)
Q: Do the image links expire?
A: No. Screenshots are stored in your Apify Key-Value Store with permanent direct URLs that can be embedded anywhere.
Q: Does it work with videos without official captions?
A: Yes! The actor automatically extracts auto-generated speech recognition tracks whenever manual subtitles are not available. If a video has no spoken audio at all, it automatically generates a visual keyframe timeline.
Q: Can I process only a specific portion of a long video?
A: Yes. Use the startTime and endTime fields (e.g. startTime: "10:00", endTime: "25:30") to extract and pay only for the relevant chapter.
Q: How are short videos under 1 minute billed?
A: Any video or trimmed clip under 60 seconds is billed at the minimum unit of 1 minute (1 video-minute event).