n8n 롱폼 블로그 작성 자동화 #2 - 유튜브 요약 보고 'Yes' 클릭 시 블로그 생성 워크플로우

소개

첫 번째 자동화에서 수집된 유튜브 영상 목록을 바탕으로, 일정 시간마다 자막을 수집하고 요약을 생성한 뒤, 다시 Google Sheet에 반영하는 반복형 요약 자동화 흐름입니다.

이전에는 키워드 입력부터 시작했지만, 이번에는 이미 확보된 영상 리스트에서 자막을 주기적으로 가져와 최신 요약을 생성하는 데 초점을 맞췄습니다. 정기적인 콘텐츠 업데이트나 재요약이 필요한 경우 유용한 구조입니다.

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

https://www.gpters.org/nocode/post/n8n-rongpom-beulrogeu-jagseong-jadonghwa-1---kiweodeu-geomsaegeuro-yutyubeu-0pVzrr39xPsADfY

진행 방법

🔁 전체 흐름 요약

  1. 일정 스케줄에 따라 자동 실행 (예: 매일 아침 9시)

  2. Google Sheet에서 blogYes 컬럼값이 'yes'인 영상 리스트 불러오기

  3. 각 영상에 대해 자막 수집 및 Gemini 기반 블로그 포스팅 글 생성

  4. 기존 Sheet의 행에 블로그 글을 추가하고, 'blogDone' 컬럼 값을 'Yes'로 변경하여 블로그 생성 완료 여부를 자동으로 표시

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

🧩 노드별 기능 정리

  • Schedule Trigger

    • 정해진 주기(예: 매일 오전 9시)마다 자동 실행

  • Get row(s) in sheet1

    • Google Sheet에서 blogYes 컬럼이 'Yes'이고 blogDone 컬럼이 'No'인 영상만 필터링하여 불러옴 (즉, 구글 시트에서 블로그 작성 Yes를 선택했고, 아직 블로그가 생성되지 않은 항목만 처리 대상)

  • Loop Over Items

    • 영상 목록을 하나씩 반복 처리

      항목 오버 로고 설정의 스크린 샷
  • Youtube Transcript2

    • 영상의 자막 데이터를 외부 API로부터 수집

      YouTube Transcrip 2- 스크린 샷
  • Google Gemini Chat Model2

    • 자막을 기반으로 블로그 포스팅용 글 생성 (모델: Gemini 2.5 Flash)

  • Basic LLM Chain2

    • Gemini 응답을 구조화하고 필요한 포맷으로 정리

      기본 LM 채널 2의 스크린 샷
    • User Prompt

      **YouTube 자막 내용:**
      {{ $json.transcript }}
      ---
      위 YouTube 자막을 바탕으로 네이버 블로그 포스트를 작성해 주세요.
      
      **변환 요청사항:**
      1. **제목**: 명확하고 간결하며, 검색 의도를 반영한 제목 작성
      2. **도입부**: 구체적 숫자나 성과로 시작하여 독자의 관심 유발
      3. **본문 구성**: 
         - 소제목으로 내용을 체계적으로 구분
         - 각 섹션마다 실용적이고 구체적인 정보 제공
         - 개인적 경험이나 관점을 자연스럽게 녹여냄
      4. **가독성**: 
         - 짧은 문단과 적절한 여백 활용
         - 중요 내용은 **굵게** 강조
         - 번호나 불릿 포인트로 정보 정리
      5. **마무리**: 독자에게 도움이 되는 실행 가능한 조언이나 요약
      
      ---
      **추가 요구사항:**
      – 글 전반을 3인칭 객관적 시점으로, “저”나 “나” 같은 1인칭 표현을 쓰지 마세요.  
      – 마치 업계 전문가가 설명하는 리포트나 리뷰처럼 중립적·분석적 톤을 유지해 주세요.  
      – 문장은 평서문 형태로, 주어는 “이 영상”, “이 도구” 등으로 시작해 주세요.  
      – 길이: 1000~1500자  
      – 구조: 제목 → 도입 → 본문(소제목+불릿) → 마무리  
      – 강조: **볼드체**, 번호/불릿, 이모지 금지  
    • System Prompt

      당신은 네이버 검색 알고리즘(C-Rank, D.I.A.+)에 최적화된 블로그 글 작성 전문가입니다. 
      YouTube 자막을 네이버 블로그에 적합한 고품질 콘텐츠로 변환하는 것이 당신의 역할입니다.
      
      ### 네이버 검색 최적화 원칙:
      1. **신뢰성 있는 정보**: 정확한 사실 기반, 구체적 근거 제시
      2. **솔직한 경험**: 실제 체험을 바탕으로 한 구체적 서술
      3. **독창적 정보**: 단순 복사가 아닌 새로운 의견과 분석 포함
      4. **심층적 구성**: 충분한 길이와 알찬 내용으로 독자가 원하는 정보를 폭넓게 제공
      5. **좋은 가독성**: 읽기 편한 문장과 자연스러운 문맥 구성
      
      ### 글쓰기 톤 & 스타일:
      - **초등학생도 이해할 수 있는 단순하고 명확한 언어** 사용
      - **구체적 숫자와 데이터**를 적극 활용하여 신뢰성 확보
      - **"나는", "내가"**로 시작하는 개인적이고 진정성 있는 문체
      - 짧은 문장과 긴 문장을 번갈아 사용하여 **리듬감** 조성
      - **관대한 정보 공유**: 고급 정보도 아낌없이 제공
      
      ### 금지 사항:
      - 키워드 반복 삽입, 숨김 텍스트, 특수문자 과도 삽입
      - 제목과 본문 불일치하는 낚시성 내용
      - 단순 복사나 짜깁기한 내용
      - 의미 없는 일상글이나 기계적 포스팅 패턴
  • Update row in sheet

    • 기존 Google Sheet의 행을 row number로 정확히 매핑하여 업데이트하며, 'blogText' 컬럼에 생성한 블로그 포스팅용 글을 입력하고, 'blogDone' 컬럼 값을 'Yes'로 설정하여 블로그 생성 완료 여부를 명시적으로 표시

      게임 설정의 스크린 샷

결과와 배운 점

  • Google Sheet에서 blogYes = YesblogDone = No 조건으로 정확히 대상을 필터링하는 데까지 꽤 시간을 썼습니다.

    • 결과적으로 단순한 조건 필터 두 개만 넣으면 되는 것인데,

    • 배열로 돌려야 한다는 나만의 생각에 빠져서 시간을 허비했습니다.

  • Loop Over ItemsUpdate Row에서 각각 어떤 데이터를 유지하고 넘겨야 하는지를 디버깅하는 데 애를 먹었습니다.

    • 특히 각 행의 고유 위치를 나타내는 row number를 정확히 추적하지 않으면 업데이트 대상이 어긋날 수 있기 때문에, 처음엔 어떤 시점에 row number를 분기 밖으로 넘기고, 이후에 어떻게 다시 참조할지 논리 흐름을 잡는 데 어려움이 있었습니다.

    • 블로그 본문 삽입과 완료 표시(blogDone = Yes)가 정확한 행에 반영되도록 하기 위해 JSON 구조 정리, 노드 연결 순서, 변수 명칭까지 꼼꼼히 확인해야 했어요.

  • Schedule Trigger를 활용해 주기적인 자동화를 완성할 수 있었고, 블로그 작성 여부를 수동 선택한 뒤 자동으로 처리되는 구조는 실제 운영에서도 매우 실용적이었습니다.

  • 다만, 주기적으로 작동하는 Schedule Trigger 방식보다는, Google Sheet에서 사용자가 'blogYes' 값을 Yes로 변경하는 즉시 블로그 글이 자동으로 생성되는 실시간 반응형 워크플로우로 발전시키고 싶어서, ChatGPT o3와 티키타카를 시작했습니다. ==> #3으로 계속 이어집니다

2

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요