자동화 툴/n8n

🤖 AI 기반 쇼츠, 영상 자동 생성 (n8n, OpenAI, Flux, Kling, ElevenLabs)

backend.log 2025. 6. 15. 16:54
728x90
반응형

이 작업은 OpenAI와 n8n을 활용하여 자동으로 영상을 생성하고, 

Instagram, TikTok, Youtube등 소셜 네트워크에 업로드하는 시스템입니다.

해당 로직은 n8n에서 제공한 템플릿을 참고하였습니다.

무료로 사용할 수 있어 직접 사용해보면서 공부할 수 있다는게 너무 좋은 거 같아요!!!

쇼츠 매일 올리기 현실적으로 너무 힘들잖아요... ㅜㅜ (게으른 휴먼)

그래서 주제도 정해주고, 영상도 만들어주고, 자막도 생성해주고, 비디오도 생성해주고, 배경음악도 넣어주고, 업로드도 해주는거 없을까...? (AI 너가 다해주라!!!!) 

있더라구요 ?.?

지금은 퀄리티가 전문가들이 만든 것보다 떨어지지만

1년 후 2년 후.. 생각해보면 얼마나 발전할지 Ai의 성장 속도 무시 못하겠더라구요.

오늘 포스팅 참고하셔서 쇼츠 자동 생성하고 수익화해보는 시스템!! 만들어봅시다.

영상 자동화 워크플로어


📃 시작전에 필요한 것들

시작하기 전에 다음이 필요합니다. API를 사용하려면 Key가 필요해요. Key 발급 방법은 GPT한테 물어보면 너무 잘 설명해주니까, chatGPT한테 물어봅시다!!

  1. n8n 설치
    • 개발 필드와 DB에서 다른 n8n 버전과 다른 OS에서도 연동 가능
  2. OpenAI API Key (무료 체험 크레딧 제공)
  3. PiAPI (무료 체험 크레딧 제공)
  4. ElevenLabs (무료 계정)
  5. Creatomate API Key (무료 체험 크레딧 제공)
  6. Google API 설정:
  7. Discord Webhook URL (선택)
  8. upload-post.com 계정 및 API 토큰

📃 1단계. Google 시트에서 영상 주제 바탕으로 비디오 캡션 생성하기

1. PiAPI, Eleven Labs, Creatomate의 API 키를 먼저 세팅합니다.

  • Creatomate에 로그인한 후 새 템플릿을 만들고, 오른쪽 상단의 “source code”를 클릭한 뒤  JSON 코드를 붙여넣으세요. (JSON  코드 링크 참고)
  • "Use Template" 클릭 → "API Integration"을 눌러 template_id를 확인하고, n8n에서 해당 값을 사용합니다.

2. Google Sheet 템플릿을 복사합니다 

3. OpenAI를 통해 영상 아이디어 기반으로 자막 5개를 생성합니다.

  • 이 노드의 프롬프트를 원하는 방식으로 수정할 수 있습니다.

4. 자바스크립트 노드 2개를 이용해 OpenAI 응답을 리스트로 변환하고, 실패 여부를 검증합니다.


💬 1단계 워크플로어 상세 설명

✅ 전체 흐름 요약: 

워크플로어 전체 흐름 이미지
Google Sheet 내용 불러온 결과

  노드명 설명
1 Schedule Trigger node 매일 한 번 워크플로우 자동 실행 (스케줄 트리거)
2 Set API Keys OpenAI, PiAPI, Creatomate, ElevenLabs 등의 API 키 및 템플릿 ID 설정
3 Load Google Sheet 사전에 작성된 Google Sheet에서 오늘 사용할 콘텐츠 아이디어 불러오기
4 Generate Video Captions OpenAI GPT를 사용해 아이디어 기반 자막 5개 생성 (Message Model 노드)
5 Create List OpenAI의 응답을 자바스크립트로 파싱해 리스트 배열로 변환
6 Validate list formatting 리스트가 정상적으로 형성되었는지 검증 (예: 자막이 5개인지 확인)

🔁1-1. Schedule Trigger node

Schedule Trigger 노드를 사용하여 고정된 간격과 시간에 워크플로를 실행할 수 있습니다. 이는 Unix 계열 시스템의 Cron 소프트웨어 유틸리티와 유사한 방식으로 작동합니다.

  • 기능: 이 워크플로우가 매일 한 번 자동 실행되도록 예약합니다.
  • 타입: Cron 트리거
  • 예시 설정: 매일 오전 9시에 실행되도록 설정 (0 9 * * *)

사용자 지정(Cron) 간격

트리거 일정을 설정하려면 사용자 정의 Cron 표현식을 입력하세요.

Cron 표현식을 생성하려면 crontab guru를 사용할 수 있습니다 . crontab guru를 사용하여 생성한 Cron 표현식을 n8n의 표현식 필드에 붙여넣습니다.

     
유형 크론 설명
Every X Seconds */10 * * * * * 10초마다
Every X Minutes */5 * * * * 5분마다
Hourly 0 * * * * 매 시간 정각
Daily 0 6 * * * 매일 오전 6시
Weekly 0 12 * * 1 매주 월요일 정오
Monthly 0 0 1 * * 매월 1일 자정
Every X Days 0 0 */3 * * 3일마다 자정에
Only Weekdays 0 9 * * 1-5 월요일부터 금요일까지 오전 9시
Custom Hourly Range 0 9-17 * * * 매일 오전 9시부터 오후 5시까지 매시간
Quarterly 0 0 1 1,4,7,10 * At midnight on the 1st of January, April, July, and October.

 


🛠 1-2. Edit Fields (Set)

  • 기능: OpenAI, PiAPI(Flux & Kling), Creatomate, ElevenLabs 등 모든 API 키를 환경변수로 설정합니다.
  • 중요 이유: 이후 모든 API 호출에 필요한 Key들을 이 노드에서 세팅해야 하므로 *"시작 전에 꼭 설정"*해야 합니다.
  • 설정 예시:
{
  "OPENAI_API_KEY": "sk-...",
  "PIAPI_KEY": "your-piapi-key",
  "CREATOMATE_API_KEY": "your-creatomate-key",
  "ELEVENLABS_API_KEY": "your-elevenlabs-key"
}



📄 1-3. Google Sheets

  • 기능: Google Sheet에서 영상 주제, 스크립트, 상태등 기본 정보를 불러옵니다.
  • 동작 방식:
    • 사전에 공유된 Google Sheet 템플릿을 복사해 사용
    • 첫 번째 시트에서 "처리되지 않은" 아이디어 한 줄을 불러옴
  •  


💬  1-4. OpenAI node

  • 기능: OpenAI GPT 모델을 사용해 Google Sheet에서 불러온 아이디어를 바탕으로 쇼츠용 자막 5개 생성



🧱  1-5. Code node

  • 기능: OpenAI로부터 받은 "자막 텍스트(예: numbered list)"를 n8n 내부에서 리스트 형태로 파싱합니다.

✅ 1-6. If

  • 기능: 위 단계에서 생성된 리스트가 정확히 5개인지, 파싱이 잘 되었는지 검증합니다.
  • 실패 시: 이후 단계로 진행되지 않음 (에러 처리 또는 Slack/Discord 알림 가능)
  • 성공 시: 다음 단계 (이미지 생성)로 진행
  • 💡 Tip: 이 구조 덕분에 OpenAI 응답이 예상과 다를 경우에도 에러를 감지하고 중단할 수 있어, 전체 플로우가 망가지지 않도록 보장됩니다.

 


📌 다음 단계 예고

내용이 너무 많아서 이후 플로우는 다음과 같은 순서로 블로그에 포스팅하겠습니다 :) 

  1. 자막을 기반으로 이미지 프롬프트 생성 (OpenAI)
  2. 이미지 생성 (Flux by PiAPI)
  3. 이미지 → 비디오 생성 (Kling by PiAPI)
  4. 자막 기반 음성 생성 (ElevenLabs)
  5. 자막/음성/비디오 통합 → 최종 영상 생성 (Creatomate)
  6. 자동 업로드 (upload-post.com) 및 시트 업데이트

 


🤍구독과 댓글, 좋아요는 포스팅에 힘이 됩니다🤍

 

 

 

728x90
반응형