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
빠른 답변
워크플로 다운로드
n8n의 파일에서 가져오기 옵션으로 이를 직접 가져오세요(또는 URL에서 가져오기에 붙여넣으세요):
워크플로 다운로드 (.json)API 키 설정
대시보드에서 키를 발급받은 다음(무료 크레딧 100개, 카드 등록 불필요), n8n 인스턴스에서 사용할 수 있는 환경 변수로 설정하세요:
GETYOUTUBETRANSCRIPT_API_KEY=sk_live_...Blog.Posts.n8nYoutubeTranscriptWorkflow.step2.body2
요청 노드 설정 방법
HTTP Request 노드는 동영상 ID를 쿼리 매개변수로 사용해 스크립트 엔드포인트를 호출합니다:
GET https://getyoutubetranscript.com/api/v1/transcript?v={{ $json.videoId }}
Authorization: Bearer {{ $env.GETYOUTUBETRANSCRIPT_API_KEY }}워크플로의 입력(또는 이전 노드의 출력)에 동영상 ID를 넣으면, 노드가 스크립트, 제목, 작성자, 썸네일을 $json.data.transcript 형태의 JSON으로 반환합니다.
속도 제한을 넘기지 않고 여러 동영상 처리하기
동영상 ID 목록을 HTTP Request 노드에 그대로 넣으면 n8n이 낼 수 있는 최고 속도로 한꺼번에 요청을 보냅니다 - 동영상 5개라면 괜찮지만, 무료 등급의 분당 60회 제한 대비 500개라면 위험합니다. n8n은 이를 조절할 수 있는 두 가지 내장 방법을 제공합니다:
- HTTP Request 노드 → 옵션 추가 → Batching. Items per Batch(한 번에 실행할 요청 수)와 Batch Interval (ms)(배치 간 지연 시간)를 설정하세요. 무료 요금제의 분당 60회 기준으로는 배치 크기 5에 5,000ms 간격이면 여유 있게 예산 안에 들어옵니다.
- Split In Batches + Wait 노드. Split In Batches 노드가 동영상 목록을 청크로 나누고, Wait 노드가 다음 청크로 넘어가기 전에 일시 정지합니다. 이 방식은 완전히 순차적이며(병렬 버스트가 전혀 없음), 제한에 근접해 있거나 뒤에 연결된 API(예: LLM 요약기)에 자체 처리량 상한이 있는 경우 더 안전한 선택입니다.
또한 노드의 재시도 설정에서 Wait Between Tries (ms)를 요청당 예산보다 높게 설정하세요 - 분당 60회 요금제라면 평균적으로 초당 약 1회이므로, 재시도 간격을 1,000ms 이상으로 두면 429에서 같은 제한에 즉시 다시 걸리는 것을 방지할 수 있습니다.
배치 처리 중 실패 다루기
많은 동영상을 처리하다 보면 일부는 실패합니다(비공개 동영상, 자막 없음, 일시적인 429 등). HTTP Request 노드에서 Continue On Fail을 활성화해 하나의 실패가 전체 실행을 멈추지 않도록 하고, 뒤에 IF 노드를 추가해 응답에 따라 분기하세요 - 성공은 요약기로, 실패는 로그나 재시도 대기열로 보내면 잘못된 동영상 ID 하나 때문에 전체 배치를 잃지 않습니다.
요약기로 연결하기
Blog.Posts.n8nYoutubeTranscriptWorkflow.step6.body
전체 엔드포인트 레퍼런스, 크레딧, 속도 제한은 API 문서에 있습니다. n8n 자동화 대신 AI 에이전트를 만드시나요? MCP 서버 설정 가이드를 참고하세요.
n8n 워크플로 FAQ
이걸 위해 커스텀 n8n 노드가 필요한가요?
아니요. 이 API는 일반 REST 엔드포인트이므로 n8n의 내장 HTTP Request 노드가 바로 처리합니다 - 커뮤니티 노드 설치가 필요 없습니다.
API 키를 안전하게 전달하려면 어떻게 하나요?
워크플로 JSON에 키를 하드코딩하는 대신, n8n 환경 변수(예: GETYOUTUBETRANSCRIPT_API_KEY)로 설정하고 HTTP Request 노드의 헤더 필드에서 참조하세요.
HTTP Request 노드의 Batching 옵션과 Split In Batches 노드는 무엇이 다른가요?
HTTP Request 노드의 Batching(Items per Batch + Batch Interval)은 배치당 여러 요청을 간격을 두고 병렬로 보냅니다 - 더 빠르지만 배치 크기가 너무 크면 속도 제한을 넘길 위험이 있습니다. Split In Batches + Wait 노드는 한 배치를 완전히 처리하고 일시 정지한 뒤 다음 배치를 재개합니다 - 더 느리지만 완전히 순차적이라 분당 제한이 빡빡할 때 더 안전합니다.
많은 동영상을 처리할 때 속도 제한을 넘지 않으려면 어떻게 하나요?
HTTP Request 노드의 "Wait Between Tries" 재시도 옵션을 요금제의 요청당 예산보다 높게 설정하세요 - 무료 요금제의 분당 60회(평균 초당 1회) 기준으로는 요청 간격을 대략 1,000ms 이상으로 두거나, 더 높은 처리량의 유료 요금제라면 더 낮춰도 됩니다.
이걸 AI 요약 단계로 연결할 수 있나요?
네 - HTTP Request 노드 뒤에 AI/LLM 노드(OpenAI, Anthropic 등)를 추가하고 {{ $json.data.transcript }}를 입력으로 참조해 반환된 스크립트를 요약하거나 정보를 추출할 수 있습니다.
동영상에 자막이 없거나 요청이 실패하면 어떻게 되나요?
동영상 배치를 처리하는 경우 HTTP Request 노드에서 "Continue On Fail"을 활성화해 잘못된 동영상 하나 때문에 전체 실행이 멈추지 않게 하세요 - 그런 다음 워크플로가 중단되도록 두는 대신 뒤에서 응답 상태로 분기하세요(예: 성공 여부를 확인하는 IF 노드).
실행마다 비용은 얼마나 드나요?
성공한 스크립트 가져오기 1건당 1크레딧이며, REST API를 직접 호출할 때와 동일한 방식입니다. 대시보드에서 카드 등록 없이 무료 크레딧 100개를 받으세요.
관련 콘텐츠
- 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 vs TranscriptAPI
- GetYouTubeTranscript vs youtubetotranscript.com
- GetYouTubeTranscript vs youtube-transcript.io