YouTube Transcripts in n8n: HTTP Request Workflow Guide
How to fetch YouTube transcripts inside an n8n workflow using the HTTP Request node - a downloadable workflow JSON, batch processing multiple videos, handling rate limits, and feeding results into an AI summarizer.
00:09:00 · SEP 13, 2026
Trả lời nhanh
Tải workflow
Import trực tiếp qua tùy chọn Import from File của n8n (hoặc dán vào Import from URL):
Tải workflow (.json)Thiết lập API key của bạn
Lấy một key từ dashboard (100 tín dụng miễn phí, không cần thẻ), sau đó đặt nó làm biến môi trường khả dụng cho instance n8n của bạn:
GETYOUTUBETRANSCRIPT_API_KEY=sk_live_...Blog.Posts.n8nYoutubeTranscriptWorkflow.step2.body2
Node request được cấu hình như thế nào
Node HTTP Request gọi endpoint transcript với video ID làm tham số query:
GET https://getyoutubetranscript.com/api/v1/transcript?v={{ $json.videoId }}
Authorization: Bearer {{ $env.GETYOUTUBETRANSCRIPT_API_KEY }}Đưa một video ID vào đầu vào của workflow (hoặc đầu ra của một node trước đó), và node sẽ trả về transcript, tiêu đề, tác giả, và thumbnail dưới dạng JSON tại $json.data.transcript.
Xử lý nhiều video mà không chạm rate limit
Đưa thẳng một danh sách video ID vào node HTTP Request sẽ khiến chúng bắn đi nhanh hết mức n8n có thể - ổn với 5 video, rủi ro với 500 video khi giới hạn gói miễn phí chỉ là 60 req/phút. n8n cho bạn hai cách có sẵn để giãn tốc độ:
- HTTP Request node → Add Option → Batching. Đặt Items per Batch (số request bắn cùng lúc) và Batch Interval (ms) (độ trễ giữa các đợt). Với giới hạn 60 req/phút của gói miễn phí, một batch size là 5 với interval 5.000ms sẽ giữ bạn an toàn dưới ngân sách.
- Split In Batches + node Wait. Node Split In Batches chia danh sách video của bạn thành từng đợt; một node Wait tạm dừng giữa các đợt trước khi vòng lặp tiếp tục sang đợt kế tiếp. Cách này hoàn toàn tuần tự (không có đợt bắn song song nào cả), là lựa chọn an toàn hơn nếu bạn đang gần chạm giới hạn hoặc API bạn nối tiếp phía sau (ví dụ một bộ tóm tắt LLM) cũng có trần thông lượng riêng.
Cũng nên đặt Wait Between Tries (ms) trong cài đặt retry của node cao hơn ngân sách mỗi request của bạn - với gói 60 req/phút, điều đó tương đương khoảng một request mỗi giây trung bình, nên 1.000ms+ giữa các lần thử lại giúp tránh chạm ngay lại cùng một giới hạn khi gặp 429.
Xử lý lỗi trong một lô
Khi xử lý nhiều video, một số sẽ thất bại (video riêng tư, không có phụ đề, một lỗi 429 tạm thời). Bật Continue On Fail trên node HTTP Request để một lỗi không làm dừng cả lượt chạy, sau đó thêm một node IF phía sau để phân nhánh theo response - dẫn các trường hợp thành công sang bộ tóm tắt và trường hợp thất bại sang một log hoặc hàng đợi thử lại, thay vì mất cả lô vì một video ID lỗi.
Nối vào một bộ tóm tắt
Blog.Posts.n8nYoutubeTranscriptWorkflow.step6.body
Tham chiếu endpoint đầy đủ, tín dụng, và rate limit có trong tài liệu API. Đang xây một AI agent thay vì một automation n8n? Xem hướng dẫn thiết lập MCP server.
Câu hỏi thường gặp về workflow n8n
Tôi có cần một node n8n tùy chỉnh cho việc này không?
Không. API này là một endpoint REST thông thường, nên node HTTP Request có sẵn của n8n xử lý được trực tiếp - không cần cài community node.
Làm sao truyền API key một cách an toàn?
Đặt nó làm biến môi trường n8n (ví dụ GETYOUTUBETRANSCRIPT_API_KEY) và tham chiếu nó trong trường header của node HTTP Request, thay vì hardcode key trực tiếp vào JSON của workflow.
Khác biệt giữa tùy chọn Batching của node HTTP Request và một node Split In Batches là gì?
Batching của node HTTP Request (Items per Batch + Batch Interval) gửi nhiều request song song trong mỗi đợt, cách nhau theo interval - nhanh hơn, nhưng rủi ro bắn vượt rate limit nếu batch size quá lớn. Split In Batches + một node Wait xử lý trọn một đợt, tạm dừng, rồi tiếp tục đợt kế tiếp - chậm hơn nhưng hoàn toàn tuần tự, an toàn hơn với các giới hạn theo phút chặt.
Làm sao tránh chạm rate limit khi xử lý nhiều video?
Đặt tùy chọn retry "Wait Between Tries" của node HTTP Request cao hơn ngân sách mỗi request của gói bạn - với gói miễn phí 60 req/phút (trung bình 1 request/giây), giãn request khoảng 1.000ms+ hoặc thấp hơn nếu bạn đang dùng gói trả phí thông lượng cao hơn.
Tôi có thể nối cái này vào một bước tóm tắt AI không?
Có - thêm một node AI/LLM (OpenAI, Anthropic, v.v.) sau node HTTP Request và tham chiếu {{ $json.data.transcript }} làm đầu vào để tóm tắt hoặc trích xuất thông tin từ transcript trả về.
Điều gì xảy ra nếu một video không có phụ đề hoặc request thất bại?
Bật "Continue On Fail" trên node HTTP Request nếu đang xử lý một lô video, để một video lỗi không làm dừng cả lượt chạy - sau đó phân nhánh theo trạng thái response phía sau (ví dụ một node IF kiểm tra thành công) thay vì để workflow dừng lại.
Mỗi lượt chạy tốn bao nhiêu?
1 tín dụng cho mỗi lần lấy transcript thành công, cùng cách tính như gọi trực tiếp REST API. Nhận 100 tín dụng miễn phí không cần thẻ từ dashboard.
Liên quan
- YouTube API Quota Exceeded: Causes and Fixes
- YouTube Transcript API Rate Limit: What It Is and How to Handle 429s
- YouTube Transcript MCP Server: Setup Guide for Claude and Other AI Tools
- GetYouTubeTranscript so với TranscriptAPI
- GetYouTubeTranscript so với youtubetotranscript.com
- GetYouTubeTranscript so với youtube-transcript.io