1. 유튜브 쇼츠 100% 자동 제작 방법 (AI + n8n 활용) [0]

thumbnail AI와 자동화 도구 n8n을 활용하여 유튜브 쇼츠 제작 전 과정을 자동화하는 방법을 알아본다.

1.1. 자동화 시스템 개요 [0]

  1. 자동화 시스템의 목표 [0]
    1. 나레이션 생성부터 영상 편집, 유튜브 업로드까지 전 과정을 자동화한다. [3]
    2. AI 도구와 n8n을 연동하여 효율적인 콘텐츠 제작을 목표로 한다. [1]

1.2. n8n 소개 및 활용 [6]

  1. n8n은 Make, Zapier와 유사한 자동화 도구이다. [7]
  2. 에이전트 생성에 특화된 장점을 가지고 있다. [7]
  3. AI 도구 연동이 원활하여 자동화 시스템 구축에 유리하다. [8]

1.3. 자동화 제작 단계별 과정 [9]

  1. 나레이션 음성 생성 [9]
    1. 텍스트 기반의 나레이션 음성을 생성한다. [9]
  2. 이미지 및 영상 클립 생성 [10]
    1. 생성된 나레이션을 바탕으로 이미지를 생성한다. [10]
    2. 총 5장의 이미지를 생성하여 25초 분량의 영상을 제작한다. [11]
  3. 효과음 생성 및 추가 [12]
    1. 영상에 어울리는 효과음(배경음)을 생성한다. [12]
  4. 영상 클립 통합 및 편집 [12]
    1. 나레이션, 영상 클립, 효과음을 '크리에이터 메이트' 도구로 합친다. [12]
  5. 최종 영상 생성 및 유튜브 업로드 [13]
    1. 합쳐진 클립으로 최종 영상을 생성한다. [13]
    2. 완성된 영상을 유튜브에 자동으로 업로드한다. [13]

2. 자동화 시스템 구축 상세 과정 [20]

n8n 워크플로우를 통해 각 자동화 단계를 구현하는 상세 과정을 설명한다.

2.1. n8n 워크플로우 설정 및 도구 연동 [22]

  1. n8n 접속 및 시작 [22]
    1. n8n.io에 접속하여 가입 및 로그인한다. [23]
    2. 구독제(월 24유로) 또는 자체 서버 설치 방식으로 이용 가능하다. [26]
    3. 초기 가입 시 2주 무료 체험이 제공된다. [30]
    4. '스크래치로 시작하기'를 통해 새로운 워크플로우를 생성한다. [32]
  2. 사용 도구 소개 [35]
    1. ChatGPT: 나레이션 및 이미지 프롬프트 생성에 활용한다. [35]
    2. n8n: 전체 자동화 워크플로우를 구축하고 관리한다. [35]
    3. 크리에이터 메이트: 영상 편집 및 최종 영상 생성을 담당한다. [35]
    4. AI (11Labs, ReCraft 등): 음성, 이미지, 사운드 이펙트 생성에 활용한다. [35]

2.2. 나레이션 및 이미지 프롬프트 생성 [38]

  1. ChatGPT를 활용한 나레이션 및 캡션 생성 [38]
    1. 미리 준비된 구글 시트 템플릿에 ChatGPT 프롬프트를 입력한다. [39]
    2. 프롬프트는 저작권 문제가 없는 나레이션 생성을 요청하며, 제목, 나레이션, 상태, 캡션, 발행 정보 등을 포함한다. [43]
    3. GPT-3.5 Turbo 모델을 사용하여 결과물을 생성한다. [46]
    4. 생성된 결과물(제목, 나레이션, 캡션)을 구글 시트에 복사하여 붙여넣는다. [48]
  2. n8n 워크플로우에서 구글 시트 데이터 가져오기 [55]
    1. 트리거 설정: '매뉴얼리' 트리거를 사용하여 워크플로우를 수동으로 실행한다. [58]
    2. Google Sheets 모듈: 'Get Rows' 오퍼레이션을 사용하여 특정 시트에서 데이터를 가져온다. [61]
      1. 문서 연결: n8n과 Google Sheets 연동은 별도 문서 참조가 필요하다. [63]
      2. 시트 선택: '쇼츠 팩토리 1.0' 템플릿의 '시트 1'에서 데이터를 가져온다. [67]
      3. 필터 적용: '스테이터스'가 '준비'인 행만 필터링한다. [69]
      4. 단일 행 가져오기: 'Return Only First Matching Row' 옵션을 사용하여 첫 번째 행만 가져온다. [72]
    3. 데이터 확인: 가져온 데이터가 올바르게 로드되었는지 확인한다. [73]

2.3. 나레이션 음성 생성 (11Labs API 활용) [79]

  1. HTTP Request 모듈 설정 [80]
    1. 메소드: 'POST'로 설정한다. [82]
    2. URL: 11Labs TTS Turbo 2.5 버전 API 엔드포인트를 입력한다. [83]
    3. 헤더 설정:
      1. Authorization: 11Labs API 키를 입력하여 인증한다. [87]
        1. API 키 발급: 8i.com에 가입 후 API 키를 발급받는다. [89]
        2. 키 형식: 'Bearer [API Key]' 형식으로 입력한다. [94]
      2. Content-Type: 'application/json'으로 설정한다. [95]
  2. JSON Body 설정 [99]
    1. 텍스트: 구글 시트에서 가져온 나레이션 데이터를 입력한다. [103]
    2. 모델: '11Labs Turbo 2.5' 모델을 사용한다. [106]
    3. 언어 코드: 한국어(KO)를 지정한다. [114]
  3. 음성 생성 요청 및 결과 확인 [119]
    1. 테스트 실행: n8n에서 테스트해도 횟수 차감이 되지 않는다. [119]
    2. 요청 확인: 11Labs 플레이그라운드에서 생성된 음성 요청 및 생성 시간을 확인할 수 있다. [124]
    3. 음성 재생: 생성된 음성을 직접 들어보고 품질을 확인한다. [126]

2.4. 이미지 생성 (ReCraft API 활용) [150]

  1. Basic LLM Chain 모듈 설정 [151]
    1. 모델: OpenAI 모델 (GPT-4.0 또는 Nano)을 선택한다. [162]
    2. 프롬프트: 스크립트에 따라 몰입감 있는 프롬프트 5개를 생성하도록 요청한다. [158]
      1. 영어 프롬프트: 더 나은 결과 생성을 위해 영어로 작성한다. [159]
      2. 예시 제공: 원하는 결과물의 예시를 제공한다. [159]
    3. 스크립트 입력: 나레이션 멘트와 동일한 내용을 입력한다. [161]
    4. 아웃풋 파서: 'Number of Items'를 '5'로 설정하여 5개의 프롬프트를 리스트 형태로 받는다. [168]
  2. 이미지 생성 요청 (ReCraft API 활용) [178]
    1. HTTP Request 모듈 설정:
      1. 메소드: 'POST'로 설정한다. [183]
      2. URL: ReCraft 이미지 생성 API 엔드포인트를 입력한다. [185]
      3. 헤더 및 API 키: 11Labs와 동일하게 설정한다. [187]
    2. JSON Body 설정:
      1. 텍스트: 이전 단계에서 생성된 이미지 프롬프트를 입력한다. [188]
      2. 이미지 사이즈: 16:9 세로형(포트레이트)으로 설정한다. [190]
      3. 스타일: '네온' 스타일을 적용하여 일관성을 높인다. [191]
    3. 이미지 생성 요청 및 결과 확인 [194]
      1. 테스트 실행: 5개의 이미지를 요청한다. [195]
      2. 결과 확인: ReCraft에서 생성된 5장의 이미지를 확인한다. [197]
    4. Wait 모듈 추가: 이미지 생성에 소요되는 시간(약 10초)을 고려하여 15초의 대기 시간을 설정한다. [203]
    5. 이미지 파일 가져오기: ReCraft API를 통해 생성된 이미지 파일을 가져온다. [206]

2.5. 영상 클립 생성 (Cling API 활용) [214]

  1. Cling API 연동 [215]
    1. HTTP Request 모듈 설정:
      1. 메소드: 'POST'로 설정한다. [218]
      2. URL: Cling 1.6 스탠더드 버전 API 엔드포인트를 입력한다. [226]
      3. API 키 및 헤더: 이전 단계와 동일하게 설정한다. [235]
    2. JSON Body 설정:
      1. 프롬프트: 이미지 생성 시 사용했던 프롬프트를 그대로 입력한다. [236]
      2. 이미지 URL: 이전 단계에서 가져온 이미지 URL을 입력한다. [239]
      3. 듀레이션: 5초로 설정한다. [240]
      4. 비율: 9:16으로 설정한다. [240]
      5. 네거티브 프롬프트: 블러, 디스톨트 등 원치 않는 효과를 제외하도록 설정한다. [241]
  2. 영상 생성 요청 및 결과 확인 [243]
    1. 테스트 실행: 5개의 영상 생성을 요청한다. [244]
    2. 대기 시간 설정: 영상 생성에 약 180-200초가 소요되므로, 200-220초의 대기 시간을 설정한다. (테스트 시에는 1초로 설정) [246]
    3. 영상 파일 가져오기: 생성된 영상 파일을 가져온다. [250]
      1. 진행 상태 확인: Cling API 로그에서 영상 생성 진행 상태를 확인할 수 있다. [255]

2.6. 효과음 생성 (11Labs API 활용) [260]

  1. 효과음 생성 프롬프트 설정 [260]
    1. OpenAI 모듈 설정: GPT-4.1 Nano 모델을 사용한다. [289]
    2. 프롬프트: 이미지에 맞는 효과음을 생성하도록 요청한다. [261]
      1. 영어 및 간결한 생성: 효과음 생성 시 영어와 간결한 표현이 효과적이다. [268]
      2. 따옴표 제거: 따옴표가 포함되면 오류가 발생할 수 있으므로 제거한다. [269]
      3. 이미지 프롬프트 입력: 생성된 이미지 프롬프트를 활용한다. [276]
  2. 효과음 생성 요청 (11Labs API 활용) [295]
    1. HTTP Request 모듈 설정:
      1. 메소드: 'POST'로 설정한다. [298]
      2. URL: 11Labs 사운드 이펙트 API 엔드포인트를 입력한다. [295]
      3. API 키 및 헤더: 이전 단계와 동일하게 설정한다. [298]
    2. JSON Body 설정:
      1. 듀레이션: 5초로 설정한다. [300]
      2. 텍스트: 이전 단계에서 생성된 효과음 프롬프트를 입력한다. [301]
    3. 효과음 생성 요청 및 결과 확인 [304]
      1. 테스트 실행: 5개의 효과음 생성을 요청한다. [305]
      2. 생성 시간 확인: 약 10초가 소요된다. [307]
      3. 대기 시간 설정: 15초의 대기 시간을 설정한다. (테스트 시 1초로 설정) [307]
      4. 효과음 파일 가져오기: 생성된 효과음 파일을 가져온다. [312]

2.7. 영상 편집 및 통합 (크리에이터 메이트 활용) [329]

  1. 데이터 통합 (Merge 모듈) [330]
    1. Merge 모듈: 나레이션 음성, 5개 영상 클립, 5개 효과음을 하나로 합친다. [331]
    2. 모드: 'Append' 모드를 사용하여 순차적으로 데이터를 합친다. [334]
    3. 결과: 총 11개의 아이템이 하나로 통합된다. [338]
  2. 데이터 정리 (Aggregate 모듈) [339]
    1. Aggregate 모듈: 통합된 데이터를 보기 쉽게 하나의 데이터로 합친다. [340]
    2. 필드 이름 수정: URL이 흩어져 있는 것을 보기 좋게 정리한다. [348]
      1. 오디오 (나레이션): 가장 위에 위치한다. [358]
      2. 비디오 (5개): 영상 클립들을 포함한다. [358]
      3. 오디오 (효과음 5개): 사운드 이펙트들을 포함한다. [358]
      4. 임의 이름 부여: '신 1-5', '사운드 1-5', '나레이션' 등으로 이름을 부여하여 가독성을 높인다. [359]
  3. 크리에이터 메이트 연동 및 영상 렌더링 [362]
    1. 크리에이터 메이트 소개: 웹 기반 영상 편집 도구로, URL을 합쳐 영상을 편집한다. [364]
      1. 무료 크레딧: 가입 시 50 크레딧을 무료로 제공하며, 유료 전환 시 월 49달러부터 시작한다. [366]
      2. 템플릿 활용: 9:16 세로형 템플릿을 사용한다. [374]
    2. HTTP Request 모듈 설정:
      1. 메소드: 'POST'로 설정한다. [387]
      2. URL: 크리에이터 메이트 API 엔드포인트(api.creatormate.com/v1/renders)를 입력한다. [388]
      3. Authorization 헤더: 크리에이터 메이트 API 키를 입력한다. [391]
    3. JSON Body 설정:
      1. 템플릿 ID: 미리 만들어둔 템플릿 ID를 입력한다. [406]
      2. 수정 사항 (Modification):
        1. 나레이션 소스: n8n에서 가져온 나레이션 음성 URL을 입력한다. [404]
        2. 영상 클립 소스: n8n에서 가져온 5개 영상 클립 URL을 입력한다. [405]
        3. 효과음 소스: n8n에서 가져온 5개 효과음 URL을 입력한다. [405]
    4. 영상 렌더링 요청 및 결과 확인 [409]
      1. 테스트 실행: 영상 생성을 요청한다. [409]
      2. 처리 시간: 약 30-40초가 소요된다. [414]
      3. 결과 확인: 생성된 영상 URL을 확인한다. [419]

2.8. 구글 시트 업데이트 및 유튜브 업로드 [425]

  1. 구글 시트 상태 업데이트 [425]
    1. Google Sheets 모듈: 'Update Row' 오퍼레이션을 사용하여 상태를 업데이트한다. [427]
    2. 시트 선택: '쇼츠 팩토리 1.0' 템플릿의 '시트 1'을 선택한다. [431]
    3. 매칭 기준: 로우 넘버를 기준으로 업데이트한다. [433]
    4. 업데이트 내용:
      1. 결과 URL: 생성된 영상의 URL을 입력한다. [436]
      2. 상태 변경: '준비'에서 '생성 완료'로 변경한다. [442]
  2. 유튜브 업로드 [450]
    1. 트리거 설정: '스케줄링' 트리거를 사용하여 특정 시간에 자동 업로드를 설정한다. [455]
    2. Google Sheets 모듈: 'Get Rows' 오퍼레이션으로 '생성 완료' 상태의 데이터를 가져온다. [460]
    3. URL 가져오기: 가져온 영상 URL을 n8n 내에서 처리할 수 있도록 'Get' 모듈로 다시 가져온다. [467]
    4. YouTube 모듈: 'Upload Video' 오퍼레이션을 사용한다. [471]
      1. 영상 파일: n8n에서 처리된 영상 파일을 업로드한다. [474]
      2. 제목: 구글 시트의 '서브젝트'를 사용한다. [475]
      3. 국가 코드: 'KR' (한국)로 설정한다. [475]
      4. 카테고리: 'Film & Animation'으로 설정한다. [475]
      5. 공개 상태: 'Unlisted'(미공개)로 설정한다. [485]
    5. 첫 댓글 달기 (HTTP Request 모듈) [493]
      1. API 연동: 유튜브 API를 사용하여 댓글을 작성한다. (복잡하여 생략됨) [498]
      2. JSON Body: 업로드된 영상 ID와 미리 준비된 캡션을 사용하여 댓글을 작성한다. [501]
  3. 최종 구글 시트 업데이트 [512]
    1. Google Sheets 모듈: 'Update Row' 오퍼레이션을 사용하여 최종 상태를 업데이트한다. [514]
    2. 매칭 기준: 로우 넘버를 기준으로 한다. [515]
    3. 업데이트 내용:
      1. 발행 상태: '발행 완료'로 변경한다. [516]
      2. 업로드 URL: 유튜브 영상의 URL을 추가한다. [517]
    4. 결과 확인: 업데이트된 구글 시트에서 발행 완료 및 업로드 URL을 확인한다. [530]