AI 기반 쇼츠 자동화: n8n 해커톤에서 CU 행사 상품 홍보 영상 기획부터 영상 생성까지의 과정

n8n 해커톤에서 CU 행사상품을 소개하는 쇼츠 자동 생성 시스템을 구축했습니다.

상품 타겟 선정부터 대본 작성, 이미지 생성, 영상 제작까지의 전 과정을 자동화하는 것이 목표였습니다. 시간 관계상 전체 플로우를 완성하지는 못했지만, 핵심인 기획과 영상 제작 부분을 중심으로 실제 구현 과정을 상세히 공유하겠습니다.

(아래 영상은 초기 버전으로, 상품 이미지가 제대로 나오지 않았고 영어 나레이션도 어색했습니다.)

사용 도구:

. ChatGPT + API

. n8n

· Creatomate (나레이션, 영상, 효과음 병합)

· fal.ai (이미지/영상/음성 등 다양한 AI 생성 API 플랫폼)

ㄴ flux-pro (이미지 생성)

ㄴ kling (5초 영상 생성)

ㄴ elevenlabs - 2.5 turbo (나레이션 생성)

ㄴ elevenlabs - sound effects (효과음 생성)

워크플로우는 크게 3구역으로 정했습니다 :

좌측 노란색) 기획, 대본 작성

중앙 녹색) 영상 제작

우측 주황색) SNS 자동 발행

추가 설명은 사진 아래에서 이어가겠습니다.

(노란색 영역과 주황색 영역은 아직 미완성인 상태입니다)

시스템의 흐름을 보여주는 다이어그램

좌측 노란색 영역 설명) 기획, 대본 작성

프로세스의 흐름을 보여주는 다이어그램

좌측 노란색 영역을 만든 의도는 다음과 같습니다.

[1] 영상 타겟 선정 - [2] 타겟에게 적합한 상품 선정 - [3] 타겟&상품을 고려한 대본 작성

부연설명을 하자면

[1] 영상 타겟 선정 : 타겟 리스트에서 하나를 추출합니다. status 값을 통해 이전에 사용되지 않은 타겟을 가지고 옵니다.

-구글 시트 구성

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

-n8n노드 구성 : status 값이 준비 상태인 것 중에서 최상단 row를 가지고 오도록 설정했습니다.

[2] 타겟에게 적합한 상품 선정 : 1에서 뽑은 타겟으로 CU 행사 상품 DB에서 상품을 뽑아 오도록 AI노드를 구성하고 그 결과를 구글 시트에 저장해야 되는데, 시간 관계상 직접 타겟에 대한 상품을 구글 시트에 삽입하여 사용했습니다.

한국어 텍스트가있는 스프레드 시트

[3] 타겟&상품을 고려한 대본 작성 : 1번 2번 결과를 이용해서 대본을 작성하는 AI노드를 구성하고 그 결과를 구글 시트에 저장해야 되는데, 마찬가지로 시간 관계상 직접 타겟&상품을 고려한 대본을 구글 시트에 삽입하여 사용했습니다.

많은 숫자가있는 스프레드 시트

[4] 뒤쪽 워크플로우에서 사용하기 위해 merge combine으로 [1],[2],[3] 각각의 output을 하나의 item으로 묶어주었습니다.

프로세스 단계를 보여주는 다이어그램

merge 결과: 타겟 & 상품명2개 & 상품이미지2개 & 상품특징2개 & 대본이 하나의 item으로 병합

여러 단어가있는 웹 페이지의 스크린 샷

중앙 녹색) 영상 제작

기계 학습 시스템의 프로세스를 보여주는 다이어그램

중앙 녹색 영역을 만든 의도는 다음과 같습니다.

[1] 대본을 음성 나레이션으로 생성 - [2] 상품 특성을 고려한 이미지 생성 - [3] 이미지를 5초 영상으로 생성 - [4] 효과음 생성 - [5] 상품별 영상 제작을 위한 2~4 과정 루프 - [6] 결과를 합쳐 하나의 영상으로 만듦

부연설명을 하자면

[1] 대본을 음성 나레이션으로 생성 : 구글 시트에 있는 대본 내용을 그대로 fal-ai/elevenlabs/tts/turbo-v2.5 을 이용해서 음성 나레이션을 만들었습니다.

웹 요청의 프로세스를 보여주는 다이어그램

[2] 상품 특성을 고려한 이미지 생성: 상품 특성은 노란색 영역에서 타겟에 적합한 상품을 추출할 때 상품 특성도 구글 시트에 prd_point로 저장하게 되는데 image prompt(LLM Chain)을 이용하여 prd_point를 고려한 이미지를 생성을 위한 프롬프트를 만들었습니다. 이렇게 생성한 프롬프트를 flux-pro 로 보내서 이미지 프롬프트에 맞는 이미지를 만들었습니다.

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

-LLM Chain(Image prompt) user message

# 명령:
당신은 고품질 광고 이미지 프롬프트를 설계하는 전문가입니다.
아래 제품명과 해당 스크립트 내용을 바탕으로, 해당 상품의 특성과 타겟 고객층을 직접 반영한 고품질 이미지 프롬프트를 총 3개 생성해 주세요.
이 프롬프트들은 YouTube Shorts 같은 영상 콘텐츠에 사용되며, 하나의 상품을 다양한 상황에서 시각적으로 설명할 수 있어야 합니다.

---
### 제품명: {{ $json.prd_name }}
### 제품특징: {{ $json.prd_point }}
### 스크립트:{{ $json.Narration }}
### 제품 이미지 URL: {{ $json.prd_img }}
---

### 요구사항:
1. **첫 번째 프롬프트**: 상품 고유의 디자인과 특징을 명확히 보여주는 단독 제품샷
   - 제품의 패키지, 색상, 모양 등 고유한 시각적 특징을 강조
   - 깔끔한 배경에서 제품 자체에 집중

2. **두 번째, 세 번째 프롬프트**: 주어진 제품 이미지의 실제 패키지 디자인과 형태를 최대한 활용
   - 실제 제품의 색상, 패키지 디자인, 로고 등을 구체적으로 묘사
   - "실제 제품 이미지를 참고하여" 또는 "주어진 제품의 패키지 디자인을 기반으로" 같은 표현 포함

3. 각 프롬프트는 반드시 스크립트의 내용과 문맥을 시각적으로 반영할 것
   예) '커피와 함께 먹는다'는 문장이 있다면 → 커피와 함께 놓인 장면 포함

4. 한 상품당 총 3개의 프롬프트를 생성할 것
   - 서로 다른 구도와 상황에서 연출 (예: 단독샷, 사용 장면, 라이프스타일 장면 등)

5. **상품 특징 기반 배경 설정:**
   - 제로슈가/저당 제품 → 건강한 라이프스타일 공간 (홈 카페, 요가 매트 근처, 깔끔한 주방 등)
   - 간식류 → 일상적인 휴식 공간 (소파, 책상, 피크닉 등)
   - 귀여운 모양 제품 → 밝고 트렌디한 배경

6. **타겟 고객층 반영:**
   - 건강 관리에 관심 있는 20-30대 → 깔끔하고 모던한 연출
   - 간식을 즐기는 젊은층 → 캐주얼하고 친근한 분위기

7. 광고·SNS용 스타일로 밝고 선명하게 표현
8. 프롬프트는 영어로 작성하고, 200자 이내로 요약할 것
9. photo_realistic, commercial photography, clean lighting, high detail 등의 키워드를 포함할 것
10. 인물은 등장해도 좋지만, 제품이 중심이 되도록 할 것

---

## 예시 출력

**프롬프트 1:**
Studio shot of colorful bear-shaped zero sugar jellies in original packaging, showcasing unique gummy bear design and vibrant colors against pure white background, emphasizing cute character shapes and transparent texture, commercial product photography, clean lighting, high detail

**프롬프트 2:**
Based on the actual product package design, a young woman's hand picking up cute bear gummies from the opened original packaging, sitting at a modern home office desk, showing the real product colors and branding, guilt-free snacking moment, lifestyle commercial photo, sharp focus

**프롬프트 3:**
Using the authentic product packaging as reference, bear-shaped jellies arranged on a clean white plate next to the original package, with yoga mat in background, highlighting the actual product design and zero-sugar healthy lifestyle, commercial food photography, bright natural lighting

**프롬프트 1:**
Close-up product shot of vanilla wafer bar showing distinctive layered texture and golden color, original packaging visible beside it, emphasizing premium vanilla coating and crispy layers against neutral background, commercial snack photography, clean lighting, high detail

**프롬프트 2:**
Referencing the actual product design, vanilla wafer bar snapped in half revealing crispy layers, placed next to original packaging and steaming coffee cup on wooden cafe table, showcasing real product branding and coffee pairing, photo_realistic, warm commercial lighting

**프롬프트 3:**
Based on authentic package design, fitness enthusiast holding the actual low-sugar wafer bar in modern gym setting, original product packaging visible on nearby bench, emphasizing real product colors and healthy active lifestyle, commercial photography, natural lighting

-이미지 프롬프트 생성 결과(영어로 뽑아야 합니다)

다른 유형의 텍스트를 가진 텍스트 편집기의 스크린 샷

-위 프롬프트로 만들어진 이미지 프롬프트를 이용해서 fal-ai/kling-video/v2.1/standard/image-to-video 를 통해 이미지를 제작을 요청한 결과

다양한 제품을 보여주는 제품 페이지의 스크린 샷

[3] 이미지를 5초 영상으로 생성 : 2번에서 만들어진 ‘이미지’와 ‘프롬프트’ 를 기반으로 fal-ai/kling-video/v2.1/standard/image-to-video 에 영상 생성을 요청

한국어의 과정을 보여주는 다이어그램

-Input json 내용

코드 편집기의 스크린 샷

[4] 효과음 생성: 2번 과정과 마찬가지로 적절한 효과음 생성을 위한 프롬프트 작성

프로젝트의 프로세스를 보여주는 다이어그램

[5] 상품별 영상 제작 루프: 상품별 영상을 만들기 위해서 상품 개수만큼 2~4번 과정을 반복할 수 있는 루프를 만들고, 매 루프가 끝날 때마다 조각영상과 효과음을 적재합니다. 적재를 위해서 적재할 값을 SET 노드로 정하고, Merge 노드의 Input2에 연결하면 됩니다. 그럼 매 루프 결과 값을 Merge노드에서 적재하게 되고, 루프가 끝나면 적재 결과를 output으로 줍니다.

한국어로 흐름도의 스크린 샷

[6] 하나의 영상으로 만듦 : 나레이션 + 5초 영상 + 효과음을 merge로 병합하고, 데이터 정제 후 creatomate로 보내서 최종 쇼츠 영상을 완성하였습니다.

HTTP 요청의 흐름을 보여주는 다이어그램

우측 주황색) SNS 자동 발행

자동 발행은 미완성인데 스케줄에 맞춰 업로드 설정 및 첫 댓글에 영상 관련 내용을 추가하는 플로우를 만들 예정이었습니다.

비디오 생성 과정을 보여주는 화면

쇼츠 생성 자동화 워크플로우를 만들 때 참고한 영상:

https://www.youtube.com/watch?v=8nML6B7poHM&t=1377s

어려웠던 점:

원하는 결과를 얻기 위한 프롬프트를 자동으로 생성하기 위한 작업이 쉽지 않았습니다.

영상 소스(상품명, 상품 특징, 상품 이미지, 대본, 타겟)를 구글 시트에서 뽑은 내용을 기반으로

LLM Chain에서 이미지 프롬프트를 생성할 때, 매 워크플로우 실행 시마다 변하는 영상 소스를 기반으로 동적인 프롬프트를 작성하게 하는 과정에 많은 시간을 사용하였습니다.

해당 소스 들을 merge, aggregate, code 노드를 활용하여 관리하는 법을 익혔습니다.

또한 fal.ai 사이트에서 여러 모델에 이미지 프롬프트를 주면서 원하는 결과와 가깝게 결과물을 만들어주는 모델을 선정하는 데에도 신경 썼습니다.

깨달은 점:

기획&대본(노란색 영역) & 자동 발행(주황색 영역) 은 자동화하기 적절한 것 같습니다.

영상 제작(녹색 영역)은 자동화가 가능하겠지만 더욱 정교한 프롬프트와 세밀한 워크플로우를 추가해야 할 것 같습니다.

참고로, 위에서 보여드린 쇼츠 영상 1편을 제작하는 데 든 비용은 $1.8

-fal.ai API 약 $1.7

- creatomate 1.4크레딧 = 약 $0.05

- OpenAI API 약 $0.05 미만


5
3개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요