n8n 롱폼 블로그 작성 자동화 #1 - 키워드 검색으로 유튜브 인기 영상 요약

소개

유튜브에서 인기 있는 영상들을 자동으로 수집하고, 자막을 기반으로 요약한 뒤 Google Sheet에 정리하고, 이를 다시 블로그 콘텐츠로 만들어주는 자동화 흐름을 만들어 보기로 했습니다.

"키워드 하나만 입력하면 모든 것이 자동으로 진행되는 구조"가 목표이며, 이제 롱폼 컨텐츠를 잘 만들어주는 Gemini의 요약 능력과 ChatGPT, Claude의 구성/코딩 능력을 더하고, n8n의 유연한 플로우 설계 능력을 결합해 만드는 것을 시도해 봅니다 😎

진행 방법

🔁 전체 흐름 요약

  1. Chat 메시지로 키워드 입력

  2. YouTube API를 통해 인기 영상 검색 및 통계 조회

    1. 7일 이내, 조회수 기준 5개 영상 리스트업

  3. 자막 수집 및 요약 프롬프트 구성

  4. Google Gemini로 요약 생성

  5. 결과를 Google Sheet에 저장

앱 생성 과정을 보여주는 다이어그램

🧩 노드별 기능 정리

  • When chat message received

    • 사용자의 입력 키워드를 수신 (Chat Trigger 역할)

  • Keyword (manual)

    • 메시지에서 키워드 텍스트만 분리

  • Search.list (GET)

    • YouTube Data API의 search.list 호출

    • 파라미터: order=viewCount, publishedAfter=7일 전, maxResults=5

      검은 배경이있는 컴퓨터 화면의 스크린 샷
  • Statistics (GET)

    • YouTube videos.list 호출로 영상의 조회수, 좋아요 수 등의 통계 확보

      웹 브라우저 설정의 스크린 샷
  • Rename Keys

    • Search.list (GET)와 Statistics (GET)에서 얻은 API 응답의 key값 이름이 모두 'items'로 되어 있어서 아래 Merge 노드에서 하나만 남게되어 버림.

    • Rename Keys 노드를 통해서 Search.list의 키값 'Items' > 'SearchItems'로 변경하여 다음 노드로 넘겨주는 기능

  • Merge Search+Stats (combine)

    • 영상 정보와 통계 정보를 하나로 병합

  • Code

    • JSON 정리: 영상별로 id, 제목, URL, 자막용 videoId 등을 n8n의 json 문법에 맞게 정리
      (ChatGPT > o3/o4 mini high 사용)

      한국의 코드 편집기의 스크린 샷
  • Youtube Transcript1

    • 외부 자막 API 호출로 해당 영상 자막 획득

  • Google Gemini Chat Model1

    • 자막 + 프롬프트를 활용해 요약 생성

    • 2.5 Flash 사용

  • Basic LLM Chain1

    • Gemini 호출 결과를 구조화된 포맷으로 정리

    • User Prompt

      다음 유튜브 영상의 자막을 System Prompt에 맞춰 요약해주세요:
      
      영상 제목: {{ $('Code').item.json.snippet.title }}
      자막 내용:
      {{ $json.transcript }}
      
      요약 형식:
      핵심 요약 (2-3문장)
      \n\n
      - 주요 포인트 1
      \n\n
      - 주요 포인트 2
      \n\n
      - 주요 포인트 3
      \n\n
      핵심 인사이트 (1문장)
    • System prompt

      당신은 유튜브 영상 자막을 간결하고 유용하게 요약하는 전문가입니다. 
      다음 규칙을 따라 요약해주세요:
      1. 핵심 내용을 3-5개의 주요 포인트로 정리
      2. 각 포인트는 1-2문장으로 간결하게 작성
      3. 불필요한 접속사나 반복되는 내용 제거
      4. 실용적이고 액션 가능한 정보,“핵심 아이디어와 “중요 정보(숫자, 통계, 고유명사 등)" 추출
      5. 한국어로 자연스럽게 요약
      6. 이모지 사용 금지, 깔끔한 텍스트로만 구성
  • Youtube Field (Set 노드)

    • 영상 제목, 요약, URL 등의 변수값을 Google Sheet에 맞게 mapping

      다양한 옵션이있는 웹 페이지의 스크린 샷
  • Append row in sheet

    • Google Sheet에 결과 추가 저장

      Adobe Acrobat Pro CS5- Adobe Acrobat Pro CS5

결과와 배운 점

  • Gemini 2.5 Flash의 요약 능력과 n8n의 자동화 연결이 매우 강력한 조합이었어요 💡 코딩, 구현, 디버깅 측면에서는 ChatGPT와 Claude의 도움을 병행해서 활용했습니다.

  • YouTube 통계와 자막을 함께 다루기 위해 API 응답 병합과 데이터 가공에 신경 써야 했습니다. 특히 YouTube Data API는 search.listvideos.list라는 서로 다른 API로 나뉘며, 각각 영상의 메타정보와 통계정보를 제공하기 때문에 두 API 호출 결과를 적절히 조합하는 과정이 필요했습니다.

  • Chat Trigger를 통해 완전한 자동화를 실현할 수 있었고, 실제로 키워드 하나만 입력하면 결과가 Sheet에 쌓입니다.

  • 다만, 키워드 검색 결과가 항상 7일 이내에 업로드된 영상만 반환되지는 않으며, 일부 오래된 영상이 포함되고 있어 보완이 필요합니다.

    • (현재 시점 아래와 같이 수정하고 7일 이내 영상만 검색되는 것 확인 완료)

      • name: publishedAfter

      • value: "{{ new Date(Date.now() - 7 24 60 60 1000).toISOString() }}"

  • Notion이나 Airtable로도 연동해 가능하나, 구글로 일단 가보려 합니다!

  • 다음 단계로 구글 시트에 'blogYes'란 컬럼을 하나 만들고, 값을 'Yes'로 입력하면 자동으로 변경사항을 감지해서, 5개 영상 중에서 'Yes'로 변경된 영상들만 Blog 포스팅 글을 생성하는 workflow를 만들어 보고자 합니다.

    한국 텍스트가있는 Google 스프레드 시트의 스크린 샷

1
1개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요