AI 에이전트 1개로 마케팅 팀 만들기 (무료 n8n 템플릿)

채널 아이콘
Nate Herk | AI Automation 구독자 67,200명

요약

이 영상에서는 AI 에이전트 하나와 no-code 워크플로우 플랫폼 n8n을 활용해 이미지, 블로그·링크드인 게시물, 동영상 등 마케팅 콘텐츠를 자동 생성하는 과정을 보여줍니다. 텔레그램 인터페이스로 음성·텍스트 지시를 전달하고, 이미지 생성·편집, 블로그 작성, 동영상 제작, 사운드 효과 삽입까지 6가지 개별 워크플로우를 모듈화해 간편하게 호출합니다. OpenAI·PI API·Runway·11Labs·CreativeMate 등을 연동해 효율적 비용으로 고품질 마케팅 콘텐츠를 자동화하는 방법과 전체 세팅 과정을 단계별로 안내합니다.

주요 키워드

n8n AI 에이전트 워크플로우 텔레그램 노드 이미지 생성 이미지 편집 블로그 포스트 동영상 생성 CreativeMate 사운드 프롬프트

하이라이트

  • 🔑 AI 에이전트 하나로 n8n에서 6가지 마케팅 도구를 모듈화해 자동 실행할 수 있습니다.
  • ⚡️ 텔레그램 노드를 통해 음성·텍스트 지시를 에이전트에 전달하고 결과를 실시간으로 수신합니다.
  • 🌟 이미지 생성 워크플로우는 OpenAI와 PI API Flux 모델을 결합해 비용과 품질을 모두 잡았습니다.
  • 📌 편집 툴 워크플로우는 마지막 생성 이미지 ID를 조회해 동일한 이미지를 일관성 있게 수정합니다.
  • 🚀 블로그·링크드인 워크플로우는 실시간 웹 검색(Tavali) 결과를 반영해 전문적인 게시물을 작성합니다.
  • 🎥 동영상 제작 워크플로우는 4개 컷별 이미지와 사운드 프롬프트를 Runway·11Labs로 처리해 20초 숏폼 영상을 완성합니다.
  • 💡 CreativeMate 템플릿 API 연동으로 영상·사운드를 통합 렌더링해 최종 편집 단계까지 자동화합니다.
  • 📈 전체 시스템 비용 구조를 정리해 OpenAI 이미지·편집, Runway 동영상, 11Labs 음향, CreativeMate 크레딧 비용을 비교합니다.
  • 🔧 모든 JSON 워크플로우 템플릿과 구글 시트·CreativeMate 세팅 가이드를 무료로 제공합니다.

용어 설명

n8n

no-code 방식으로 워크플로우 자동화를 구현하는 오픈소스 플랫폼

AI 에이전트

사용자의 입력을 이해하고 각종 작업을 수행하는 인공지능 기반 가상 비서

텔레그램 노드

n8n 워크플로우 내에서 텔레그램 메시지 전송·수신을 처리하는 노드

하위 워크플로우(서브플로우)

메인 워크플로우에 호출되어 독립 모듈처럼 실행되는 분리된 워크플로우

구조화된 출력(Structured Output)

에이전트가 결과를 JSON 형태로 정형화해 파싱하기 쉽게 만드는 기법

분기 노드(Split Node)

하나의 입력을 여러 경로로 나눠 병렬 처리할 때 사용하는 노드

HTTP Request 노드

외부 API를 호출하고 응답을 받아 워크플로우에 활용하는 n8n 노드

CreativeMate

템플릿 기반 영상 렌더링 서비스(크리에이트메이트)

[00:00:00] 개요 및 목표 설명

AI 에이전트를 활용한 마케팅 콘텐츠 자동화 목표를 설명합니다. no-code n8n 플랫폼과 워크플로우 구조를 간략히 소개합니다.

AI 에이전트 하나로 마케팅 팀을 구축했으며, 이 에이전트는 동영상 제작, LinkedIn/블로그 포스팅, 이미지 생성/편집, 이미지 데이터베이스 검색 등 6가지 도구를 사용할 수 있습니다.
시스템 구현에 필요한 다양한 템플릿과 워크플로우를 소개하고, 무료로 설정하는 방법을 설명할 예정입니다.
[00:00:34] 라이브 데모: 이미지 생성 요청

텔레그램으로 ‘캣푸드 할인 플라이어’ 이미지를 요청합니다. 에이전트가 OpenAI 이미지 모델로 생성 후 전송합니다.

텔레그램을 통해 음성이나 텍스트로 에이전트와 소통하며, 실시간으로 고양이 사료 플래시 세일 전단지 제작을 시연합니다.
생성된 이미지를 더 현실감 있게 편집하는 과정을 보여주며, 이미지 생성과 편집에는 각각 약 1분이 소요됩니다.
[00:01:49] 라이브 데모: 이미지 편집 요청

방금 받은 이미지에 사실감을 높여 달라 지시합니다. 에이전트가 구글 드라이브에서 불러와 OpenAI 편집 모델로 수정합니다.

완성된 작업은 마케팅 팀 로그에 기록되며, 구글 드라이브에 자동으로 저장됩니다.
콘텐츠 생성 기능을 시연하면서 수면이 생산성에 미치는 영향에 대한 블로그 포스트 작성을 요청합니다.
[00:02:10] 라이브 데모: 블로그·링크드인 콘텐츠 생성

‘수면이 생산성에 미치는 영향’ 블로그 포스트 요청을 전송합니다. 에이전트가 실시간 웹 검색 결과를 반영해 완성본과 그래픽을 제작합니다.

이전에 제작한 LinkedIn 콘텐츠 워크플로우를 설명하며, 리서치, 포스트 작성, 이미지 생성 등의 전체 과정을 소개합니다.
생성된 결과물을 확인하며 '충분한 휴식을 취한 마음이 더 많은 일을 해낸다'라는 주제의 그래픽과 블로그 포스트를 검토합니다.
[00:03:15] 라이브 데모: 동영상 생성 요청

‘비버가 집을 짓는 장면’ 20초 영상을 요청합니다. 에이전트가 4단계로 나눈 이미지와 사운드로 숏폼 영상을 생성합니다.

비버가 집을 짓는 영상 생성을 시연하면서, n8n의 비디오 워크플로우 처리 과정과 제한사항을 설명합니다.
에이전트 에러가 발생했지만, 텔레그램을 통해 생성된 영상을 정상적으로 확인할 수 있음을 보여줍니다.
비버가 집을 짓는 AI 생성 영상을 시연하며, 음향 효과와 함께 생성된 결과물을 보여줍니다. 비버가 댐을 짓는 것처럼 보이지만 최종적으로는 집이 완성됩니다.
페이스리스 비디오 탭에서 실행 결과를 확인하고, 음향 효과가 포함된 영상 생성 프로세스를 설명합니다. 현재 개선이 필요한 부분들도 언급합니다.
[00:05:09] 워크플로우 구조와 도구 개요

6가지 하위 워크플로우(이미지 생성·편집·검색, 블로그·링크드인, 동영상)를 설명합니다. 메인 에이전트와 노드 간 연동 방식을 보여줍니다.

무료 스쿨 커뮤니티를 통해 모든 리소스를 제공받을 수 있음을 설명하고, JSON, 구글 시트 템플릿, Creatmate 렌더링 템플릿 등의 자료를 소개합니다.
마케팅 팀 AI 에이전트의 기본 구조와 기능을 설명합니다. 음성과 텍스트 입력을 표준화하여 처리하는 방식과 시스템 프롬프트의 주요 내용을 소개합니다.
에이전트에게 이미지 생성과 편집 기능을 설명하고, 사용자가 '더 사실적으로' 같은 수정 요청을 할 때 최근 이미지를 편집하도록 설정했습니다.
블로그 포스트나 링크드인 포스트 요청 시 자동으로 콘텐츠를 생성하고, 모든 결과물은 텔레그램에서 클릭 가능한 링크로 제공됩니다.
워크플로우의 핵심인 6가지 도구 중 이미지 생성 도구의 설정 방법을 설명하고, 워크플로우 입력 파라미터 설정 과정을 상세히 다룹니다.
[00:07:43] 이미지 생성 워크플로우 분석

OpenAI 이미지 생성 엔드포인트 호출 과정을 분석합니다. 생성된 base64를 파일로 변환·전송·구글 드라이브 업로드·시트 로깅을 설명합니다.

이미지 제목과 프롬프트 파라미터 설정 방법을 설명하고, 텔레그램 채팅 ID를 동적 변수로 활용하는 방법을 시연합니다.
라이브 데모에서 이미지 프롬프트 에이전트가 어떻게 작동하는지 설명하고, 시스템 프롬프트를 통해 이미지 생성 지침을 제공하는 과정을 보여줍니다.
ChatGPT의 새로운 이미지 모델을 사용하여 HTTP 요청을 처리하고, base64 JSON 문자열을 실제 이미지로 변환하는 과정을 설명합니다.
생성된 바이너리 이미지 데이터를 활용하여 여러 작업을 수행하기 위해 워크플로우를 분기하는 과정을 설명합니다.
n8n에서 워크플로우 분할 시 위에서 아래로 작동하며, 첫 번째로 텔레그램으로 이미지를 전송합니다.
구글 드라이브와 시트에 데이터를 저장하는 과정을 설명합니다. chat ID 설정과 바이너리 파일 전송 방법을 상세히 다룹니다.
구글 드라이브에 이미지 업로드 과정과 파일 명명 규칙을 설명하고, 실제 저장된 이미지를 확인하는 과정을 보여줍니다.
[00:11:53] 블로그·링크드인 워크플로우 분석

Tavali 웹 검색을 통한 콘텐츠 자료 수집 과정을 설명합니다. 에이전트별 작성 스타일과 이미지 생성 연동 방식을 보여줍니다.

구글 시트에 데이터 기록 과정을 설명하며, 제목, 유형, 요청, ID, 링크 등의 정보를 매핑하는 방법을 자세히 다룹니다.
이미지 편집 워크플로우를 소개하며, OpenAI의 이미지 편집 엔드포인트 사용법과 필요한 입력값들을 설명합니다.
이미지 편집 기능 시연: 역기를 드는 악어 이미지에 헤드폰을 추가하는 예시를 통해 이미지 편집 과정을 설명합니다.
워크플로우 실행 과정 분석: 고양이 사료 특가 전단지를 더 사실적으로 만드는 과정에서 이미지 ID 처리와 데이터베이스 검색 방법을 설명합니다.
OpenAI 이미지 편집 프로세스: 바이너리 파일과 프롬프트를 전송하여 이미지를 편집하고, 결과를 텔레그램과 구글 드라이브에 저장하는 과정을 상세히 설명합니다.
이미지 검색 도구 소개: 기존 이미지를 검색하거나 편집을 위한 이미지 ID를 찾는 두 가지 주요 기능에 대해 설명을 시작합니다.
워크플로우의 의도 확인 과정에 대해 설명합니다. 사용자가 이미지를 가져올지 편집할지에 따라 워크플로우가 다르게 작동하며, 이미지 제목과 텔레그램 채팅 ID도 함께 전달됩니다.
실시간 실행 데모를 통해 이미지 검색 에이전트의 작동 방식을 설명합니다. 에이전트는 데이터베이스에서 이미지를 검색하고 이름, ID, 링크를 반환합니다.
[00:16:00] 동영상·사운드 효과 워크플로우 분석

Flux 모델로 이미지 4컷을 생성합니다. Runway로 영상화 후 11Labs 사운드 프롬프트를 추가해 CreativeMate에서 렌더링합니다.

워크플로우의 조건문 처리 과정을 설명합니다. 이미지를 찾을 수 없는 경우와 찾은 경우에 따른 다른 처리 방식, 그리고 구조화된 출력 형식에 대해 다룹니다.
사용자 의도에 따른 워크플로우 분기를 설명합니다. 이미지 가져오기와 편집하기에 따라 다른 처리 과정을 거치며, 최종적으로 메인 워크플로우로 필요한 정보를 전달합니다.
블로그 포스팅과 링크드인 포스팅의 프롬프트 차이와 설정 방법에 대해 설명합니다.
블로그 워크플로우에서는 모델이 정의한 주제와, 타겟 독자층을 설정하여 맞춤형 콘텐츠를 생성합니다.
Tavali를 통한 웹 검색 기능을 가진 블로그 포스팅 에이전트의 시스템 프롬프트와 작동 방식을 설명합니다.
블로그 작성 프로세스에서 실시간 웹 검색, 타겟 독자층 고려, 출처 링크 제공 등의 주요 기능을 설명합니다.
완성된 블로그 포스트를 이미지 프롬프트 에이전트에 전달하여 콘텐츠에 맞는 시각자료를 생성하는 과정을 설명합니다.
이미지 생성 프로세스에서 제목과 프롬프트를 함께 출력하도록 설정하고, 구조화된 출력 파서를 통해 이를 관리합니다.
HTTP 요청 시 발생할 수 있는 따옴표 문제를 해결하기 위해 특별한 함수를 사용하며, 이미지 생성 시 같은 엔드포인트를 활용합니다.
블로그 포스트 생성 과정에서 바이너리 데이터와 텍스트 내용을 분리하여 처리하고, 드라이브와 시트에 저장하는 시스템을 구축했습니다.
LinkedIn용 콘텐츠는 같은 워크플로우를 사용하지만, 플랫폼에 맞는 다른 작성 스타일과 그래픽 스타일을 적용합니다.
비디오 생성 워크플로우는 가장 복잡한 구조를 가지고 있으며, 얼굴 없는 쇼츠 제작 프로젝트에서 영감을 받아 개발되었습니다.
데모 실행 과정을 보여주며, 비버가 집을 짓는 주제로 4개의 이미지와 영상을 만들 것임을 설명합니다.
이미지 프롬프트 에이전트의 역할과 시스템 프롬프트 설정에 대해 설명하며, 비주얼 스토리를 4부분으로 구조화하는 방법을 소개합니다.
출력 형식과 분할 과정을 설명하며, 하나의 항목을 네 개의 개별 항목으로 변환하는 과정을 상세히 다룹니다.
PI API를 사용한 이미지 생성 프로세스와 각 단계별 이미지 생성 과정을 설명합니다.
이미지 생성 대기 시간과 상태 확인 프로세스에 대해 설명하며, 최종 결과물 확인 방법을 보여줍니다.
폴링 방식의 워크플로우 설정의 중요성을 설명합니다. 90초 단순 대기가 아닌, 모든 이미지가 완성될 때까지 확인하는 방식으로 작업해야 함을 강조합니다.
URL 형태의 이미지를 Runway를 통해 비디오로 변환하는 과정을 설명합니다. 프롬프트 이미지와 텍스트를 함께 전송하여 비디오 생성을 진행합니다.
사운드 에이전트를 활용한 음향 효과 생성 과정을 설명합니다. 각 장면별로 개별적인 사운드 프롬프트를 생성하고 11 Labs를 통해 5초 길이의 사운드 클립으로 변환합니다.
영상이 너무 길어지는 것을 방지하기 위해 빠르게 설명을 진행하고 있으며, 자세한 내용은 앞서 언급한 영상 breakdown을 참고하라고 안내합니다.
최종 단계에서는 렌더링과 로깅 작업을 수행하며, 4개의 비디오와 오디오 항목을 병합하고 성공 메시지와 필요한 링크들을 정리합니다.
Create Mate 템플릿 사용 방법을 설명하며, 소스 에디터에서 스크립트를 붙여넣고 API 통합을 설정하는 과정을 안내합니다.
이미지와 비디오 생성 과정을 설명하며, 처리 시간이 약 25초 소요되고 URL을 통해 최종 결과물을 다운로드받는 과정을 보여줍니다.
마무리 단계로 텔레그램으로 결과물 전송과 로그 기록 과정을 설명하고, 다음으로 시스템 가격 책정에 대해 논의할 것임을 예고합니다.
[00:28:32] 비용 구조 및 설치 가이드

OpenAI·PI API·Runway·11Labs·CreativeMate별 비용을 비교합니다. 무료 템플릿 다운로드와 n8n·구글시트·CreativeMate 세팅 절차를 안내합니다.

클라우드 호스팅 비용은 월 27달러 정도이며, OpenAI의 이미지 생성 서비스는 이미지당 19-20센트가 소요됩니다.
이 모델은 LinkedIn과 블로그 포스팅에도 사용되며, DALL-E 2나 3와 같은 더 저렴한 대안도 있습니다.
비디오 생성 워크플로우에서는 Stability AI API를 사용하여 이미지당 1.5센트로 비용을 절감하고, Runway를 통한 비디오 생성은 5초당 25센트가 듭니다.
Create 서비스는 무료 체험판으로 50크레딧을 제공하며, 2000크레딧으로 약 200개의 비디오나 2000개의 이미지를 생성할 수 있습니다.
음향 효과는 Eleven Labs의 월 5달러 스타터 플랜을 사용하고, 텍스트 생성과 추론은 Open Router를 통해 GPT-4와 GPT-4 Mini를 활용합니다.
API 사용 비용에 대해 설명합니다. 입출력 토큰당 가격과 41 미니 모델의 가격 정보를 공유합니다.
워크플로우 설정 방법을 안내합니다. 프리스쿨 커뮤니티에서 필요한 리소스와 JSON 템플릿을 다운로드하는 방법을 설명합니다.
워크플로우 가져오기와 설정 과정을 상세히 설명합니다. JSON 파일 임포트 방법과 API 키 설정 방법을 안내합니다.
Google Sheets 템플릿 설정과 Creatate 템플릿 통합 방법을 설명합니다. 각 단계별 설정 방법과 주의사항을 안내합니다.
유료 커뮤니티 소개와 제공되는 교육 내용을 설명합니다. 초보자를 위한 과정과 라이브 콜 지원 등 다양한 학습 리소스를 소개합니다.
오늘 여러분께 보여드릴 것은
AI 에이전트 하나로 구축한 AI 마케팅 팀입니다.
보시다시피 이 에이전트는
6가지 도구를 사용할 수 있습니다.
동영상, LinkedIn 게시물,
블로그 게시물 작성, 이미지 생성,
이미지 편집, 그리고
이미지 데이터베이스 검색이 가능합니다.
왼쪽에서 오른쪽으로
워크플로우가 이렇게 구성되어 있습니다.
동영상 제작, LinkedIn 게시물,
블로그 게시물, 이미지 생성,
이미지 편집,
그리고 이미지 데이터베이스 검색입니다.
이것을 구현하기 위해서는
필요한 리소스들이 많습니다.
다양한 템플릿들과
여러 워크플로우들이 필요한데,
이 모든 것을 무료로 다운로드하고
설정하는 방법을 영상 후반부에 보여드리겠습니다.
하지만 먼저 라이브 데모를 보여드리고,
그 다음 구축 과정을 설명하겠습니다.
물론 가격 정책과
전체 시스템 운영 비용도 다룰 예정입니다.
보시다시피
우리는 에이전트와
텔레그램을 통해 소통하며,
음성이나 텍스트로 입력할 수 있습니다.
이것을 옆으로 옮기고
텔레그램을 열어보겠습니다.
보시다시피 여기 이전에 만든 영상이 있는데,
이번에는 이미지를 만들어보겠습니다.
고양이 사료 전단지를 만들어보죠.
고양이 사료 플래시 세일 전단지를 만들어주세요.
자, 방금 요청을 보냈습니다.
보시다시피 음성이 텍스트로 변환되고,
마케팅 팀 에이전트가 처리하여
이미지 생성 도구를 사용할 것입니다.
지금 워크플로우가 처리 중이고,
잠시 후에 이미지가 완성되면
다시 확인해보겠습니다.
좋습니다, 방금 완성된 것 같네요.
보시다시피 메시지가 도착했습니다.
고양이 사료 플래시 세일 전단지가 완성되었네요.
꽤 멋진 고양이 이미지가 나왔습니다.
이제 이것을 편집해서
더 현실감 있게 만들어보죠.
편집을 요청하기 전에
먼저 로그를 확인해보겠습니다.
로그를 보면
새로운 이미지가 생성되었고
cat food/sale이라는 이름의 이미지입니다.
여기 프롬프트와
클릭 가능한 링크가 있습니다.
이 이미지는 우리의 구글 드라이브에
저장되어 있습니다.
이제 이것을 더 현실감 있게 만들어보죠.
이미지를 편집해서
더 현실적으로 만들어주세요.
에이전트가 이미지 데이터베이스에서
원본 이미지를 가져와서 편집할 것입니다.
편집이 완료되면 다시 확인해보겠습니다.
편집이 완료되었네요.
참고로 말씀드리면,
이미지 생성과 편집은
각각 약 1분 정도 소요됩니다.
결과를 보시죠.
보시다시피 더 현실감 있는 전단지가 완성되었습니다.
사료를 먹고 있는 주황색 고양이가
매우 실제같이 표현되었고, 플래시 세일 문구도 있네요.
마케팅 팀 로그에서
새로운 이미지를 확인할 수 있습니다.
편집 유형으로 기록되어 있고,
프롬프트와 함께
구글 드라이브 링크도 있습니다.
새로운 이미지와 함께요. 자, 이제
콘텐츠 생성 기능 중 하나를 시도해볼까요?
수면이 생산성에 미치는 영향에 대한
블로그 포스트를 작성해주세요
좋아요, 실행해보겠습니다.
이 워크플로우는 제가 며칠 전에 만든
전체 워크플로우 영상에서 영감을 받았어요.
위쪽에 링크를 걸어두었습니다.
기본적으로 LinkedIn 콘텐츠를 만드는 것이었는데
당연히 리서치도 하고,
포스트를 작성하고,
이미지 프롬프트를 만들고
그 이미지를 가져오죠.
로그를 기록하고 콘텐츠를 전송하는
모든 작업을 수행합니다.
전체 과정을 보고 싶으시다면
위의 영상을 확인해주세요. 자, 에이전트가
작업을 완료했네요.
텔레그램을 클릭해서 결과를 확인해보겠습니다.
여기 그래픽이 있네요. '충분한 휴식을 취한 마음이
더 많은 일을 해낸다'라고 되어있고
위쪽 화살표 등이 보이시죠.
그리고 실제 블로그 포스트도 있습니다.
하단에는 참고 자료도 포함되어 있고요.
로그를 클릭하면 실제 블로그 포스트를
확인할 수 있습니다.
보시다시피 앞서 같은 예시로
테스트했었는데, 이게 그때의 이미지예요.
이건 좀 다른 스타일의 그래픽으로
통계 자료가 더 많이 포함되어 있죠.
방금 만든 이미지는 이렇게 생겼고
둘 다 블로그에 올리기에
매우 훌륭한 그래픽입니다.
자신있게 사용할 수 있을 정도로요.
보시다시피 이게 가장 최근 실행 결과인데
제목이 있고,
타입은 포스트로 되어있으며
실제 포스트 내용이 여기 있습니다.
마지막으로 영상을 한번 빠르게 만들어볼게요.
비버가 집을 짓는 영상을
만들어달라고 해보겠습니다.
실행해보고 어떻게 되는지 보죠.
실행되는 동안
설명을 좀 드리자면
지금 이렇게 생긴
비디오 워크플로우를 호출하고 있는데요
이 실행 과정은 보통
2-3분, 때로는 더 걸릴 수 있습니다.
대기 시간이 있는 이유는
이미지 생성을 기다려야 하고
영상도 생성되어야 하기 때문입니다.
실제로 일어나는 일은
여기 마케팅 에이전트가
보시다시피
대기하다가 시간 초과가 되어
여기서 응답을 받지 못하게 됩니다.
그래서 제가 한 방법은
이 워크플로우 형태로 응답을 받는 거예요.
여기서 영상을 다운로드하고
텔레그램으로 보내고
출력을 로그로 남깁니다. 현재 n8n의
서브플로우가 작동하는 방식이
대기 단계에서 도구 레벨이 아닌
에이전트 레벨에서 대기하기 때문에
이렇게 처리하고 있습니다.
여기서 에러가 발생하겠지만
텔레그램에서는 실제 영상을 받을 수 있어요.
실행이 완료되면 보여드리겠습니다.
좋아요, 방금 완료됐네요.
보시다시피 텔레그램 노드는
에이전트 에러로 실패했지만
영상은 정상적으로 받았습니다.
이제 이걸 클릭해서
영상을 확인해보겠습니다.
잠깐 영상을 보시죠.
좋은 음향 효과가 들어갔네요.
음, 비버가 댐을 만들고 있네요,
집을 짓는 게 아니라.
실제 집을 기대했는데,
뭐 어쨌든...
마지막에는 집이 완성되었네요.
여러분께 실행이
실제로 완료되었다는 것을
보여드리기 위해
페이스리스 비디오 탭의 실행 결과로 전환하겠습니다.
여기서 새로고침을 해보면,
이 작업이 성공적으로 완료되었고
메시지를 보면 '비버가 집을 짓는
모습을 보여주는데, 비버가 나뭇가지를
모으는 것부터 등등'이라고 나와있죠.
그리고 이제 프로세스를 거쳐
음향 효과와 함께 실제 영상이 만들어집니다.
물론 완벽하지는 않은데,
이 부분은 현재
개선 중인 것으로 알고 있습니다.
또한 비버가 네 개의 클립에서
완전히 동일하게 보이지 않는 점도 있죠.
이는 프롬프트 조정과 다른 요소들로
개선할 수 있습니다.
하지만 이것은 시작하기에
좋은 템플릿입니다.
자, 이제 데모를 보았고
이 도구들이 어떻게 작동하는지 봤으니
모든 워크플로우를 분석해보겠습니다.
하지만 그전에 한 가지 말씀드릴 것은,
이 모든 리소스를 무료로
받으시려면 제 무료 스쿨 커뮤니티에
가입하시면 됩니다. 링크는
설명란에 있습니다. 영상 제목으로
검색하시거나
YouTube 리소스를 클릭하시면
이 영상과 관련된 게시물을 찾을 수 있습니다.
클릭하시면 다운로드할 수 있는
JSON이 여기 있고,
필요한 구글 시트 템플릿 링크와
Creatmate 렌더링 템플릿
링크도 있습니다.
영상 후반부에서는
실제로 무엇을 해야 하고
어떻게 설정해야 하는지
보여드릴 건데요,
이 여섯 가지 워크플로우를
다운로드하고 제대로
연결되어 있는지 확인해야 합니다.
자, 이제 실제 분석을 시작해보겠습니다.
먼저 실제 마케팅 팀 에이전트와
어떤 입력을 받고 무엇을 하도록
지시하는지 이야기해보겠습니다.
음성이나 텍스트를 입력받을 수 있습니다.
우리가 한 일은 이 두 출력을
표준화해서 에이전트에
'text'라는 필드로 전달하는 것입니다.
JSON.ext로 참조하는데,
이는 기본적으로 음성이든
타이핑이든 에이전트가 동일한 방식으로
처리할 수 있다는 의미입니다.
그리고 실제 시스템 프롬프트를 보면
도구가 많은 것에 비해 그리 복잡하지 않습니다.
개요를 보면 '당신은 마케팅 팀 AI 에이전트입니다.
사용자가 이미지를 생성하고 편집하며
요청에 따라 콘텐츠를 만드는 것을
돕는 것이 당신의 임무입니다.'라고 되어있죠.
다음으로 제가 항상 하는 것은
어떤 도구가 있고
각각 언제 사용하는지 알려주는 것입니다.
보시다시피 매우 간단하게 설명되어 있습니다.
이미지 생성: 이미지를 만들 때 사용하세요.
이미지 편집: 이미지를 편집할 때 사용하세요.
사용자가 '편집' 대신 '수정'이라고 할 수도 있습니다.
예를 들어, 제가 이미지를 만들어달라고 요청하고
나서
'더 사실적으로 만들어줘'라고 하면
에이전트는 편집 명령으로 인식합니다. 그 다음에는
이미지 데이터베이스를 검색할 수 있게 했죠.
블로그 포스트, 링크드인 게시물,
비디오, 그리고 생각 도구도 있는데
혹시 생각 도구를 모르시는 분들을 위해 설명하자면
여기 아래에 있는 도구입니다. 이에 대한
영상을 만들었는데, 위에 태그해두겠습니다.
어쨌든, 우리는 단순히
각각의 도구를 언제 사용할지
간단하게 지정했습니다. 그리고
몇 가지 지침을 추가했는데, 예를 들어 사용자가
이미지를 편집하거나 수정하라고 할 때
이는 데이터베이스의
가장 최근 이미지를 편집하고 싶다는 의미입니다.
따라서 우리는 두 가지 방법을 사용할 수 있는데
메모리에서 이미지 ID를 가져와서
편집에 사용하거나
데이터베이스를 검색해서
최신 이미지를 가져올 수 있습니다. 마지막으로, 사용자가
블로그나 링크드인 포스트를 요청하면
도구를 사용하고 '여기 요청하신
포스트입니다. 즐겨보세요'라고 출력합니다.
실제 워크플로우에서
포스트 내용이 전송되기 때문에
두 번 전송되는 것을
방지하고 싶었습니다. 마지막으로
텔레그램에서 모든 것을
클릭 가능한 링크로 반환하도록 했습니다. 보시다시피
텔레그램에서 모든 콘텐츠를
클릭할 수 있습니다. 이미지든
편집본이든 무엇이든
실제로 클릭해서
볼 수 있게 했죠. 좋습니다. 기본적으로
이게 전부입니다. 음,
텔레그램에서 입력을 받아
텔레그램으로 응답하는 건데요.
진짜 마법같은 일이 일어나는 건
이 여섯 가지 도구입니다. 먼저
이미지 생성 도구를 보겠습니다.
우리가 create image라고 이름 붙였죠.
이미지를 만들 때 이 도구를 호출합니다. 그리고
워크플로우를 연결했습니다.
여러분이 이미지 생성 워크플로우를
다운로드하면, 기본적으로
리스트에서 선택하고 검색하면 됩니다.
저는 제 것을
create image라고 이름 지었는데
검색해서 찾으시고
올바른 워크플로우를
연결하시기만 하면 됩니다. 그 다음으로 워크플로우
입력을 설정했습니다. 기본적으로 이
메인 에이전트에게 하위 워크플로우로
무엇을 보낼지 지정했습니다. 이미지 생성
하위 워크플로우에서 지정하는 방법은
'다른 워크플로우에 의해 실행될 때' 트리거로
시작해야 합니다.
메인 에이전트가 호출하기 때문이죠.
이 트리거에서
입력을 선택할 수 있습니다. 모든 데이터를
받아들이는 대신, 우리는 세 가지 필드를
정의했습니다. 이미지 제목,
이미지 프롬프트, 그리고 텔레그램 채팅
ID입니다. 이를 통해 텔레그램으로
다시 보낼 수 있죠. 실제로 이
트리거에서 세 필드를 정의하면
워크플로우 입력 옵션이
에이전트의 n8n 워크플로우 호출 도구에 나타납니다.
그리고 우리가 한 것은
여기 이 버튼을 사용했는데
모델이 파라미터를 어떻게
채울지 정의하도록 했습니다. 우리는
이미지 제목 파라미터를
이미지의 제목으로 채우는데,
4단어를 넘지 않도록 했습니다.
이미지 프롬프트는 사용자가 요청한
이미지로 채우도록 했고,
채팅 ID의 경우에는
텔레그램 채팅 트리거에서 오는
동적 변수를 사용합니다.
텔레그램에서 테스트를 해볼게요.
간단히 'hi'라고
입력해보겠습니다. 텍스트 입력이
들어오면 응답하는 것을 보실 수 있죠.
'hi'라고 응답하는데,
여기서 중요한 건 텔레그램의 채팅 ID가
여기에 있다는 겁니다. 그리고
이 값을 현재 워크플로우로
전달하게 됩니다. 보시다시피
이 동적 변수가 전달되어
나중에 이 워크플로우에서
사진을 올바른 위치로 다시 보낼 때
참조할 수 있습니다.
자, 이제 라이브 데모에서
실행했던 내용을 살펴보겠습니다.
데이터가 어떻게 흐르는지 보시죠.
첫 번째는 이미지 프롬프트 에이전트입니다.
보시다시피 이것은 고양이 사료
플래시 세일이었죠. 메인 워크플로우에서
이미지 프롬프트를 받아옵니다.
그리고 여기 시스템 프롬프트가 있는데
이것은 기본적으로
이미지 프롬프트 텍스트를 만드는 방법을 알려줍니다.
전체를 다 읽지는 않겠지만
템플릿을 다운로드하시면
이 내용이 모두 들어있습니다.
우리가 원했던 것은
매우 상세하고, 주요 주제와
배경, 스타일, 그리고 추가적인
세부사항을 포함하는 것이었죠.
여기서 보시면 '밝고 시선을 사로잡는
반려동물 주인을 위한 전단지' 등
다양한 설명이 출력됩니다.
이는 이미지 모델에 전달되는데,
우리는 ChatGPT의 새로운 이미지 모델을 사용하고 있습니다.
정말 대단한 성능을 보여주죠.
여기서 OpenAI의 이미지 생성 모델에
HTTP 요청을 포맷팅합니다.
이 요청 설정에 대해
너무 자세히 설명하지는 않겠습니다만,
이에 대한 전체 영상을 만들어놨고
위에 링크를 걸어두었으니
확인해보시기 바랍니다.
어쨌든, 우리는 기본적으로
이미지 프롬프트를
여기로 전달하고 있습니다.
보시다시피 여기서
새로운 이미지 모델을 사용하고 있죠.
이전 에이전트에서 받은
이미지 프롬프트를 전달하면
매우 큰 base64 JSON 문자열이 출력됩니다.
너무 커서 컴퓨터가 좀 버벅이네요.
우리가 하고 싶은 것은
이 JSON 문자열을 실제 이미지인
바이너리 데이터로 변환하는 것입니다.
그래서 이 파일 변환 노드를
사용합니다. 이 필드를 끌어다 놓으면
이렇게 되는거죠.
그리고 출력을
'data'라는 필드로
지정하면 여기서 받을 수 있고,
'보기'를 클릭하면
생성된 실제 이미지를 볼 수 있습니다.
바이너리로 두 가지를 하고 싶어서
경로를 분기했습니다.
첫 번째로 할 일은
n8n에서 경로를 분할할 때
위에서 아래로 순차적으로 작동하게 됩니다.
첫 번째로 하는 것은
텔레그램으로 이미지를 다시 보내는 것입니다.
그 다음으로 우리가 하고 싶은 것은
드라이브와 구글 시트에 데이터를 저장하는 것입니다.
여기서 우리가 한 것은
chat ID를 설정했습니다. 이것은
트리거에서 가져온 것입니다. 보시다시피
다른 워크플로우 트리거에서 실행된 것을 참조하고 있죠.
그리고 우리는
바이너리 파일을 보내기로 했습니다.
data라는 필드에 있는 바이너리 파일을
보시다시피 data가 바로 여기 있죠.
그리고 이것을 전송하기만 하면 됩니다.
정말 간단하죠. 그 다음으로 하는 것은
바이너리 데이터를 가져와서
구글 드라이브에 업로드하는 것입니다.
파일 이름의 경우, 기본적으로
메인 에이전트가 보낸 제목을 가져왔습니다.
제목.png로 설정하고 드라이브의 폴더를 선택했습니다.
만약 구글 자격 증명 설정에
어려움을 겪고 계신다면
제가 만든 이 튜토리얼을 확인해보세요.
어쨌든, 이것이 드라이브에 cat food/sale로 저장되었고
제 구글 드라이브를 보시면
cat food/flash sale 전단지가 있습니다.
클릭해보면 우리의 캣푸드 사진이 나옵니다.
그리고 여기 재미있는 점은
다른 버전도 볼 수 있는데
여기 수정된 버전이 있습니다.
더 사실적으로 만들어달라고 요청한 버전이죠.
더 현실감 있게 만든 버전입니다.
좋습니다. 구글 드라이브에 저장한 후에는
시트에 출력을 기록하고 싶었습니다.
다시 한 번, 구글에 로그인하고
marketing team log라는 문서의
첫 번째 시트를 참조합니다.
그리고 보내고 싶은 열들을 매핑했습니다.
제목, 유형, 요청, ID, 링크, 포스트가 있죠.
이번에는 포스트는 비워두었지만
제목은 첫 번째 트리거에서 가져왔습니다.
포스트는 비워두었고
제목은 첫 트리거에서 가져온 제목을 사용했습니다.
왼쪽 사이드바를 쭉 내려서
트리거까지 스크롤하고
여기에 있는 이미지 제목을 끌어다 놓았습니다.
유형은 항상 'image'로 고정했고
요청에는 이미지 프롬프트를 끌어다 놓았습니다.
ID의 경우에는 구글 드라이브
ID를 가져왔는데, 이는 나중에 수정할 때 필요합니다.
여기 아래에 ID를 끌어다 놓았죠.
나중에 수정할 때 필요한 것이죠.
ID를 여기 아래로 끌어다 놓았습니다.
링크의 경우에는 구글 드라이브의
웹 뷰 링크를 가져왔는데
구글 드라이브에서 찾을 수 있으며
실제로 볼 수 있게 해줍니다.
이것이 메인 에이전트가 텔레그램으로
다시 보내는 것이고
"여기 이미지가 있습니다.
보고 싶으시다면 이 링크를 클릭하세요"라고 말하죠.
좋습니다. 이것이 이미지 생성 워크플로우였고
이제 이미지 편집 워크플로우를 살펴보겠습니다.
워크플로우를 참조한다는 점에서 매우 비슷한데
이미지, 요청, 채팅 ID,
특정 입력값들을 정의하고
사진 ID를 정의합니다.
이것이 중요한 이유는 OpenAI의 이미지 편집
엔드포인트에서는 이미지를 보내고
"이것을 수정해주세요"라고 요청해야 하기 때문입니다.
좋은 예시를 보여드리자면
"이것을 수정해주시겠어요?"라고 하면 됩니다.
여기 좋은 예시가 있는데
일관성을 유지하도록
첫 번째로, 제가 역기를 드는 악어를
만들어달라고 요청했어요.
보시다시피 덤벨을 두 개 들고 있죠.
사실 이건 약간 이상한데,
뒤에 표지판들이 있고
그리고 나서 제가 할 수 있는 건
이미지 편집을 요청하는 거예요.
그러면 비슷한 느낌을 유지하면서
편집이 되죠. 여기서 보시면
편집 요청이었는데,
악어 머리에 헤드폰을 추가해달라고 했어요.
그러면 거의 같은 이미지인데
이제 헤드폰만 추가된 걸
볼 수 있죠. 이렇게 새 이미지를
만드는 대신 기존 이미지를
편집할 수 있습니다. 자, 이제
전달되는 내용을 보여드릴게요.
이 워크플로우를 열어서
실행 과정을 분석해보겠습니다.
자, 데모에서 보여드린
실행 과정입니다. 고양이 사료 특가 전단지였고
이미지를 더 사실적으로 만들어달라고 했죠.
데모에서 기억하시겠지만,
올바른 이미지 ID를 전달할 수 있었는데
이는 먼저 데이터베이스를 검색하고
그 다음 정확한 이미지 ID를
전송했기 때문입니다.
이제 올바른 ID가 있으니
구글 드라이브에서
파일을 다운로드할 수 있어요.
ID를 보내고 확인해보면
올바른 파일인 걸 알 수 있고
이제 이 파일을
OpenAI로 편집하기 위해 보낼 수 있죠.
다음 단계는 OpenAI의 엔드포인트를 호출하는 거예요.
이번에는 이미지 생성
엔드포인트 대신 편집
엔드포인트를 사용합니다.
여기서는 데이터라고 하는
바이너리 파일을 전송하고
프롬프트도 전송하는데, 프롬프트는
'실제 같은 고양이가 맛있는 사료를
즐기는 모습의 사실적인 전단지로
만들어주세요' 등의 내용이에요.
그러면 AI가
'여기 이미지가 있고, 요청사항이 이러하니
새로운 이미지를 만들어드리겠습니다'라고 하죠.
그리고 똑같은 방식으로
Base64 문자열을 출력합니다.
보시다시피 다시 한 번
변환하면 실제 편집된
이미지를 얻을 수 있고,
그 다음에는 이전과 동일하게
텔레그램으로 전송하고 드라이브와
스프레드시트에 저장합니다.
이제 이미지 검색 도구를
살펴보겠습니다. 꽤 흥미로운 기능이죠.
여기서는 두 가지를 할 수 있는데,
잠깐 열어보겠습니다.
한번 살펴보죠.
아이디어는 이렇습니다.
'예전에 만들었던 악어 이미지
기억나시나요?'라고 물어보면
'그걸 볼 수 있을까요?'라고 하고
'제 악어 사진을 보여주세요'라고
요청하면 보내줄 수 있죠. 또는
이미지를 편집해야 하는데
이미지 ID만 필요한
경우가 있습니다. 설명해드리자면,
이 워크플로우가 호출되면
의도를 전송하게 되는데,
사용자가 이미지를 가져올지
사용자가 이미지를 가져오기를 원하는지
또는 이미지를 편집하기를 원하는지를 결정합니다.
이것에 따라 워크플로우의
작동 방식이 달라지기 때문이죠. 그리고 물론
이미지 제목도 전달됩니다.
이미지를 가져오든
편집하든, 어떤 이미지를
다룰지 알아야 하니까요.
그리고 거의 항상
텔레그램 채팅 ID를 전달하여
사용자에게 결과를 보낼 수 있게 합니다.
자, 다시 워크플로우로 돌아가보죠.
데모에서 봤던 실시간 실행을
열어보겠습니다. 이것은 기본적으로
이미지를 가져와서 그 사진 ID를
메인 워크플로우로 전달하는 것이었죠.
이 워크플로우가 트리거되면
의도가 '편집'이라는 것을 받았고
이미지는 '고양이 사료/특가 세일'이었으며
채팅 ID도 받았습니다.
그런 다음 이미지 검색 에이전트로 전달하여
"여기 이미지 제목이 있습니다."라고 말합니다.
당신이 해야 할 일은 이미지 검색
에이전트로서 이미지 데이터베이스 도구에서
검색하여 이름, ID,
그리고 이미지 링크를 반환하는 것입니다.
만약 찾을 수 없다면
'찾을 수 없음'을 출력하게 됩니다.
여기서는 이름, ID,
이미지, 그리고 상태를 출력하는데
데이터베이스에서 이미지를 찾을 수 없다면
상태가 '찾을 수 없음'이 됩니다.
그래서 우리는
구조화된 출력을 아래에 정의하여
정보를 어떻게 출력해야 하는지
명시했습니다. 그리고 여기 이미지
데이터베이스 도구가 있는데
기본적으로 시트에 접근할 수 있게
해줍니다. 실제로는
마케팅 팀 로그라고 불립니다. 이름을 바꿨는데
단순히 이를 검색하고
필요한 모든 정보를
가지게 됩니다. 그리고
기본적으로 우리가 찾는 것을
출력합니다. 그리고 두 개의
조건문이 있습니다. 첫 번째는 기본적으로
상태가 '찾을 수 없음'인지 확인합니다.
만약 그렇다면, 위로 가서
메인 에이전트에 이미지를
데이터베이스에서 찾을 수 없다고 알립니다.
하지만 이미지를 찾으면
다음 확인으로 넘어가는데
이는 기본적으로 사용자의 의도를 확인합니다.
만약 의도가 단순히 이미지를 가져오는 것이라면
이 분기로 내려가서
파일을 다운로드하고 콘텐츠만 전송합니다.
하지만 의도가 실제로 이미지를
편집하는 것이라면, 사진을
보낼 필요가 없고 단순히
이미지 ID를 메인 워크플로우로
보내면 됩니다. 이 경우에는 의도가
편집이었으므로 이쪽으로 내려가고
메인 에이전트로 다시 보내는 것은
이미지 ID와 이미지 이름입니다.
그러면 기본적으로
"좋아, 여기 이미지 ID가 있어.
이걸 편집 이미지 도구로
보내기만 하면 돼."라고 할 수 있죠.
이제 실제로 편집을 하는 데 필요한
모든 정보를 가지게 된 거죠. 좋습니다.
계속 진행해보죠. 저는 이것들 중
하나만 리뷰할 건데, 기본적으로
똑같기 때문입니다.
프롬프트만 조금 다릅니다.
물론 두 가지 모두 다운로드할 수 있고,
LinkedIn 포스트 관련 전체 영상은
여기에 링크를 걸어두겠습니다.
그럼 이제 블로그 포스팅 워크플로우를 살펴보겠습니다.
매우 비슷한데요, 우리가 연결했던
워크플로우를 참조합니다.
모델이 정의한 블로그 주제를
전송하고 있습니다.
타겟 독자층을 정의하고 있는데,
이 타겟 독자층은
블로그의 타겟 독자이며
콘텐츠가 이 타겟 독자층에
맞춤화되어 작성됩니다.
그리고 물론
채팅 ID도 전송합니다. 이것이
워크플로우의 모습입니다.
트리거에서 보시다시피,
다른 것들과 마찬가지로
여기서 이러한 것들을 정의합니다.
데모에서 본 실행 내용을 클릭해 보겠습니다.
여기서 전달된 것은 '수면이 생산성에
미치는 영향'이었고,
직장인과 학생들을 대상으로 했으며,
우리의 채팅 ID가 있습니다. 먼저
웹 검색을 위해 Tavali에 접근 권한이 있는
블로그 포스팅 에이전트를 실행합니다.
시스템 프롬프트에서
무엇을 받고 있는지 빠르게 살펴보겠습니다.
블로그 주제와 타겟 독자층을
전달하고 있습니다.
여기서 보시는 것이 바로 그것입니다.
그리고 실제로 블로그 포스트를
작성하기 위해서는 시스템
프롬프트를 읽어야 하는데, 이는
"당신은 전문적이고 교육적이며
흥미로운 블로그 글을 작성하는
AI 에이전트입니다"라고 되어 있습니다.
항상 Tavali를 사용하여
실시간 웹 검색을 먼저 수행하는 것이
목표입니다. 블로그 글은
제공된 타겟 독자층에 맞춰
작성되어야 합니다. 그래서
연구 방법, 블로그 시작 방법 등
이런 것들을 지시하고
하단에 출처를
클릭 가능한 링크로 사용하도록
하며, 작업 순서와 같은
간단한 예시 워크플로우도
제공합니다.
보시다시피 완성된 블로그
포스트가 출력되고,
하단에 몇 가지 출처와
'잘 쉰 정신이 생산적인 정신이다'라는
리마인더가 있습니다.
이 블로그 포스트를 가져와서
다음 에이전트인
이미지 프롬프트 에이전트에 전달합니다.
여기 블로그 포스트가 있고,
보시다시피 전체 블로그 포스트를
받아서 해당 포스트를 사용하여
포스트와 잘 어울리는 그래픽이나
시각자료를 만들라고 합니다.
그래서 일부 예시에서
통계가 포함된 시각자료나
실제 콘텐츠와 잘 맞는
이미지를 볼 수 있었던 것이죠.
이것이 전체적인 목표입니다.
전부 읽지는 않겠지만,
기본적으로 포스트를 읽고
분석하여 주요 메시지를
파악하고, 주요
핵심 내용을 찾아 블로그 포스트에 맞는
텍스트 이미지 프롬프트를 만듭니다.
기본적으로 여기에 이미지 프롬프트를 출력할 거예요.
하지만 나중에 사용하기 위해
제목도 함께 출력하도록 설정했어요.
제목은 나중에 사용할 예정이거든요.
그래서 우리는 다시 한 번
구조화된 출력 파서를 사용해서
제목과 프롬프트를 출력하도록 했고
정확히 그대로 실행됐어요.
나중에 이것들을 어떻게 사용하는지 보여드릴게요.
아래에서 자세히 설명할 텐데요.
네.
다음 단계는 이미지 생성과 정확히 동일해요.
이미지를 생성하기 위해 같은 엔드포인트를 사용하고
이전 단계에서 받은 프롬프트를 전달하죠.
여기 보이는 이 작은 함수들은
변수와 dotreplace가 있는데
이것들을 모두 변경해야 해요.
기본적으로 HTTP 요청에서
큰따옴표를 전달하면 실패하기 때문에
이렇게 작은따옴표로 바꿔줘야 해요.
이 함수가 없었다면 큰따옴표가 생성되어
아마 실패했을 거예요.
여기 보시면 작은따옴표가 있죠.
이 함수가 없었다면
큰따옴표가 생성되어
아마 실패했을 거예요.
그래서 이렇게 작은따옴표로
바꿔주는 체크가 필요한 거죠.
보시다시피 이것을 바이너리로 변환하고 있어요.
여기 보시면 블로그용 그래픽이
생성된 것을 확인할 수 있죠.
이걸 전송하고 있어요.
사진과 블로그 내용을 함께 보내는데
이건 두 개의 다른 단계로 이루어져 있어요.
첫 번째는 바이너리 데이터를 보내고
두 번째는 실제 텍스트 내용을 보내요.
둘 다 같은 채팅 ID를 사용하지만
실제 내용은 다르죠.
물론 같은 채팅 ID를 사용하고
블로그 포스트 에이전트의 출력과
이전의 바이너리 데이터를 사용해요.
그리고 나중에 접근할 수 있도록
드라이브와 시트에 저장하고 있어요.
나중에 이미지에 접근하기 위해서죠.
같은 방식으로 드라이브에 업로드하고
여기서 제목을 사용해
이미지의 제목을 지정해요.
이것이 바로 이미지 프롬프트 에이전트가
제목과 프롬프트를 출력하도록 한 이유예요.
여기 제목이 있고
시트에 다시 기록할 때도 같은 방식을 사용해요.
말씀드렸듯이 LinkedIn용 플로우도
정확히 같은 방식이에요.
유일한 차이점은
이 에이전트에서 LinkedIn 포스트에 맞는
다른 작성 스타일을 사용한다는 거예요.
그리고 텍스트 이미지 생성에도
다른 작성 스타일을 사용하죠.
LinkedIn 그래픽은
일반적인 블로그 그래픽과는
좀 다르게 만들어져요.
좋아요. 마지막으로 비디오 생성이 있는데
이걸 클릭해서 어떤 내용을 전달하는지 볼까요?
이 부분은 앞쪽은 좀 더 단순하지만
실제 워크플로우는 아마도
가장 복잡할 거예요.
우리는 단순히 비디오 주제와
채팅 ID만 전달하고 있어요.
워크플로우가 어떻게 생겼는지 보여드릴게요.
이건 제가 예전에 했던 다른 프로젝트에서
영감을 받았어요. 얼굴 없는 쇼츠를
만드는 전체 영상을 만들었었는데
그걸 보시고 싶다면
그 영상을 확인하고 싶다면, 여기에 표시해둘게요.
자, 이제 데모의 실행 과정을
클릭해서 데이터가 어떻게 이동하는지
살펴보겠습니다. 우리가 전송한 내용은
비버가 집을 짓는 모습으로, 비버가 나뭇가지를
모으고 강가에서 정리하며
댐을 만드는 과정과
이와 관련된 모든 내용,
그리고 채팅 ID입니다.
우리가 하고자 하는 것은
보시다시피
네 개의 항목이 통과되는데
기본적으로 네 개의 이미지와
각각 5초 길이의 영상 네 개를 만들어
전체를 20초 클립으로
렌더링하는 것입니다. 이미지 프롬프트 에이전트에는
기본적으로 비디오 주제를 입력하고
긴 시스템 프롬프트를 제공했는데
여기서는 마스터 비주얼 스토리
구조화 에이전트의 역할을 합니다.
주어진 짧은 비디오 주제를
받아서 비버가 집을 짓는 내용을
네 부분으로 나누어
일관성 있게 구성하고
이 네 부분을 텍스트-이미지 생성
프롬프트로 변환합니다. 또한
출력 파서도 제공해야 했죠.
이를 위해서는 여기
이 작은 상자를 체크해야 하는데
'특정 출력 형식 요구'라고 되어 있습니다.
파트 1, 2, 3, 4로
나누었고, 여기서 보시는 것처럼
출력됩니다. 그리고
네 부분이 있지만
아직 하나의 항목이에요. 그래서
분할을 사용해서 하나의 항목에 있는
네 부분을
실제로 네 개의 다른 항목으로 만들어
각각 다른 이미지와
비디오를 만들 수 있게 했습니다.
다음에 일어나는 일이 바로 그겁니다.
PI API의 엔드포인트를 호출해서
이미지를 생성합니다. 제가 말씀드린 대로
페이스리스 쇼츠에 대한 전체 영상에서
이것을 어떻게 설정했는지
더 자세히 보실 수 있는데
기본적으로 우리는
Flux 이미지 생성 엔드포인트를 호출하고 있습니다.
이미지 프롬프트를 전송하고
보시다시피
네 개의 요청을 보냅니다. 첫 번째는
통통한 비버입니다. 두 번째는
같은 비버를 자세히 보여주고, 세 번째는
나뭇가지를 배치하는
클로즈업 장면이고, 네 번째는
실제 완성된 집입니다.
이렇게 네 개의 다른
이미지를 만듭니다. 여기서 보시면
출력되는 것을 볼 수 있는데
모두 아직 대기 중이에요.
실제로 생성하는 데
시간이 좀 걸립니다. 그래서 90초를 기다리고
기본적으로
다른 엔드포인트에 요청을 보내서
이 요청들의 상태를
확인하러 가는 거죠.
이제 보시면
모두 완료되었고 실제 이미지의
링크가 생겼는데, 바로
여기 이미지 URL이 있습니다. 제가 이동해보면
우리의 비버에 대한
이미지 중 하나를 볼 수 있죠. 한 가지
유의할 점은, 이상적으로는
이상적으로는 폴링 방식으로 설정하여
단순히 90초를 기다리고 추측하는 것이 아니라
왜냐하면 90초 후에도 완료되지 않으면
워크플로우가 완료되지 않은 상태에서
예를 들어 세 개의 이미지는 완료되었지만
네 번째 이미지가 아직 생성되지 않아
하나를 놓칠 수 있기 때문입니다.
폴링은 기본적으로 계속 확인하면서
완료되지 않았다면 다시 루프를 돌면서
잠시 기다렸다가 다시 확인하는 방식입니다.
이렇게 하면 모든 네 개의 이미지가
완료될 때까지 다음 단계로 넘어가지 않습니다.
이에 대한 간단한 예시를 보고 싶다면
파이어콜 영상에서 예시를 보여드렸습니다.
위쪽에 태그해두었으니 참고하세요.
어쨌든, 이미지들이 URL 형태로 생성되면
runway를 사용해서 이 URL 이미지들을
비디오로 변환합니다.
여기서 body 요청에 전달하는 것은
프롬프트 이미지입니다. 보시다시피
URL을 전송하고 있고, 총 네 개의
서로 다른 URL이 있습니다.
그리고 프롬프트 텍스트도 전송하는데,
이는 모델이 이미지를 비디오로
변환하는 데 도움을 줍니다.
이 프롬프트 텍스트는 앞서 텍스트-이미지
생성에 사용했던 것과 동일합니다.
이제 이것을 이미지-비디오 생성에
다시 사용하고 있습니다.
왜냐하면 여기에는 작은 스토리가
포함되어 있기 때문입니다.
이 프로세스는 네 개의 ID를 출력하고
나중에 다시 이들이 실제로 생성될 때까지
기다려야 합니다.
그리고 나서 이 ID들이 완료되었는지
확인하게 됩니다.
약 60-90초 후에 완료되면
모든 상태가 '성공'으로 표시됩니다.
그러면 링크 형태로 출력물을 받게 되는데
이 링크를 클릭하면 실제 비디오를 볼 수 있습니다.
물론 아직 사운드 효과는 없습니다.
다음 단계는 각 클립에 사운드 효과를 추가하고
모든 것을 함께 렌더링하는 것입니다.
이를 위해 사운드 에이전트를 사용합니다.
각 장면을 개별적으로 전달했습니다.
첫 번째, 두 번째, 세 번째, 네 번째 장면을
시스템 프롬프트에서는
마스터 사운드 프롬프트 생성기로서
주어진 장면에 기반하여 생생하고 몰입감 있는
사운드 프롬프트를 만들도록 지시했습니다.
장면 1, 장면 2, 장면 3, 장면 4에 대해
모두 배경 사운드 효과가 되도록 했습니다.
보시다시피 네 가지 다른 출력물이 생성되는데
이들은 모두 다른 사운드 효과 프롬프트입니다.
이것들을 11 Labs에 입력하여
텍스트를 5초 길이의 사운드로 변환합니다.
그래서 여기서 11 Labs에 요청을 보내면서
"이 텍스트를 사운드 효과로 바꿔주세요"라고
지시하는 것입니다.
그러면 여기서 볼 수 있듯이
각각 5초 길이의 네 개의 서로 다른
사운드 효과 클립이 생성됩니다.
작업 속도를 빠르게 설명하고 있지만
영상이 너무 길어지는 것을 피하고 싶습니다.
그래서 11 Labs로 요청을 보내면서
"여기 텍스트를 사운드 효과로
변환해주세요"라고 전달하면
여기서 볼 수 있듯이
네 개의 각각 5초짜리 사운드 효과 클립이 생성됩니다.
조금 빠르게 설명하고 있는데
영상이 너무 길어지는 것을 피하고 싶어서입니다.
빠르게 진행하고 있지만, 영상이 너무 길어지는 걸
원하지 않아서입니다. 앞서 언급한 영상에 대한
전체 세부 내용이 있으니
자세한 내용을 알고 싶으시다면
꼭 확인해 보시기 바랍니다.
여기 마지막 단계에서는
렌더링을 하고 로그를 기록합니다.
모든 것을 병합하여
네 개의 항목을 만들어내는데,
각각 비디오와 오디오가 포함되어 있습니다.
바로 여기서 확인할 수 있죠.
여기 결과가 나왔네요.
보시다시피 네 개의 항목이 있고
각각의 성공 메시지와
필요한 링크들이 있습니다. 그리고
이를 정리하고 분리했습니다.
여기 첫 번째 항목이 있고
첫 번째 항목의 오디오와
첫 번째 항목의 비디오가 있습니다.
이런 식으로 네 개가 모두 있어서
Create a Mate 템플릿에
쉽게 전달할 수 있습니다.
우리가 하는 것은
네 개의 변수를 여기로
전달하는 것뿐입니다. Create Mate
템플릿 스크립트를 가지고 있다면
Create Mate에서 해야 할 일은
여기 소스 에디터로 가서
스크립트를 여기에 붙여넣기 하는 것입니다.
그리고 템플릿 API 통합 사용을 클릭하고
이 curl 명령어를 누르면 됩니다.
그리고 n8n에서는
HTTP 요청에 curl을
가져와서 붙여넣기만 하면 됩니다.
그러면 템플릿이 준비됩니다.
그 다음에는 기본적으로
네 개의 비디오 소스와
네 개의 오디오 소스를 드래그하면 되는데,
이것들은 웹 콘텐츠 링크
소스입니다.
보시다시피 0부터 3까지
번호가 매겨져 있어서
네 개가 모두 있다는 뜻이고,
모든 것을 연결하고
Create Mate를 만드는 데 필요한
모든 것이 있습니다.
이것은 이미지와 비디오를 만들 때와
매우 비슷한데,
처리 중이라는 메시지가 나타납니다.
기본적으로 '처리 중입니다'
라고 나오죠. 25초 정도
기다려야 하고, 그 다음
URL을 다운로드할 엔드포인트를 호출합니다.
이전 단계에서 받은 URL을 사용하고
그러면 결과가 돌아오는데
보시다시피 사운드 효과가 포함된
완성된 비디오가
렌더링되어 있습니다. 그래서 여기
바이너리 형태로 비디오가 있으니
텔레그램으로 보내기만 하면 됩니다.
그리고 제목을 빠르게 만들어서
그 제목과 필요한 모든 것을
로그에 기록합니다.
자, 이렇게 모든 도구들이
작동하는 방식입니다.
좀 빠르게 설명해서 죄송합니다.
영상이 너무 길어지지 않게 하려고요.
이제 가격에 대해 얘기해보고
여러분의 n8n에서 어떻게 설정하는지
알아보겠습니다. 자, 제가 만든
시스템 가격에 대한 문서가 여기 있습니다.
당연히 n8n이 가장 중요한 부분이고
여기서 모든 것을 호스팅하게 됩니다.
이 모든 것을 호스팅하는 비용에 대해 말씀드리면,
이 영상에서는 클라우드를 사용하고 있는데,
클라우드 비용은 한 달에
27달러 정도의 요금제를 사용하고 있습니다.
우선 이미지 생성 비용부터
말씀드리겠습니다.
우리는 기본적으로 OpenAI의 새로운
GPT 이미지 모델을 사용하고 있는데,
이는 ChatGPT 4.0과 동일한
생성 모델을 사용합니다.
이미지 한 장당 19~20센트 정도이며,
이미지 편집도 마찬가지로 19~20센트가 듭니다.
또한 이 모델은 LinkedIn과
블로그 포스팅 에이전트에서도 사용됩니다.
이 점을 염두에 두시고,
실행당 약 20센트의 비용이
든다는 것을 기억하세요. 하지만 이미지 생성 엔드포인트에서는
DALL-E 2나 DALL-E 3와 같은
다른 모델을 사용할 수도 있는데,
이들은 좀 더 저렴합니다.
가격은 여기에 모두 나와 있습니다.
요청 부분을 보시면
'model'이라는 파라미터가 있는데,
여기서 모델을 변경할 수 있습니다.
더 저렴한 모델로 바꾸고 싶다면
동적으로 설정할 수도 있어서
에이전트가 상황에 따라
자동으로 선택하게 할 수 있죠.
어떤 작업을 하느냐에 따라
저렴한 모델을 선택할 수 있습니다.
비디오 생성 워크플로우에서는
이미지를 생성할 때
Stability AI API를 사용하는데,
이미지당 약 1.5센트로
훨씬 더 저렴한 방법입니다.
비디오 생성의 경우,
Runway를 사용하는데, 5초짜리 비디오 클립당
약 25센트가 듭니다.
10초짜리는 50센트인데,
우리는 5초짜리 클립 4개를 만들기 때문에
실행당 약 1달러가 듭니다.
여기에 이미지 비용도
추가로 들어갑니다.
Create의 경우 현재 무료 체험판을 사용 중인데,
50개의 무료 크레딧을 제공합니다.
보시다시피 지금까지
3번의 성공적인 렌더링에
50개 중 3개의 크레딧을 사용했습니다.
20초 렌더링당 1크레딧이
필요한 것 같습니다. 그리고 여기
조사해본 바로는
2,000 크레딧으로
약 200개의 비디오를 만들 수 있다고 합니다.
Create 메이트로 돌아가서
요금제 업그레이드를 확인해보면,
2,000 크레딧으로 200개 이상의 비디오나
2,000개의 이미지를 만들 수 있습니다.
정확한 수치는 모르겠지만, 지금까지
3번의 렌더링에 3크레딧이 사용됐네요.
음향 효과는 Eleven Labs를 사용하는데,
스타터 플랜이 월 5달러이고
꽤 많은 크레딧을 제공합니다.
아마 다 쓰지도 못할 거예요.
아직 플랜을 업그레이드할 필요가 없었어요.
그래서 월 5달러 정도입니다.
그리고 모든 텍스트 생성과
워크플로우와 에이전트의 추론을 위해
전체 워크플로우에서
GPT-4와 GPT-4 Mini를 사용하고 있습니다.
Open Router를 통해 사용하고 있는데,
비용이 그리 많이 들지 않습니다.
GPT-4는 백만 토큰당 2달러 정도입니다.
입력 토큰 100만 개당 2달러이고, 출력 토큰
100만 개당 8달러입니다. 41 미니는 입력 토큰
100만 개당 40센트, 출력 토큰은
100만 개당 1.60달러입니다.
이 문서는 프리스쿨 커뮤니티에
다른 필요한 리소스들과 함께
첨부되어 있을 거예요.
자, 이제 실제로 이것을 설정하는 방법을
알아볼게요. 첫 번째 단계는
프리스쿨 커뮤니티에 가서
리소스를 받아야 합니다. 먼저
프리스쿨 커뮤니티에 가입하세요.
비디오 제목으로 검색하거나
YouTube 리소스를 클릭하고
이 비디오와 관련된 게시물을 찾으면
모든 JSON 템플릿을 찾을 수 있습니다.
이것들을 다운로드해야 합니다.
총 7개의 워크플로우가 있는데,
메인 에이전트와 6개의 도구가 있습니다.
각각을 개별 워크플로우로 가져와야 해요.
여기 위로 와서 '파일에서 가져오기'를 클릭하세요.
워크플로우를 클릭하면
JSON 워크플로우가 이렇게 나타날 거예요.
워크플로우를 클릭하면,
JSON 워크플로우가 이렇게 표시되고 모두 설정됩니다.
또한 여기 어딘가에 설정 가이드가 있을 텐데,
거기에는 API 키와 같은
필요한 다양한 항목들이
설명되어 있을 거예요.
그리고 워크플로우를 구성해야 합니다.
예를 들어, 이미지 검색 워크플로우를
가져올 때는 여기 들어와서
원하는 참조가 맞는지 확인해야 합니다.
당신의 인스턴스에서 지정한
이름이 무엇이든,
예를 들어 'search images'라고
이름을 지정했다면,
클릭해서 연결되어 있는지
확인해야 합니다.
이것을 클릭해서 확인할 수 있는데,
새 탭에서 해당 워크플로우가 열립니다.
물론 OpenAI, Open Router,
Google Drive, Google Sheets 등
다양한 API 키를 입력해야 합니다.
다음 단계는 Google Sheets 템플릿입니다.
커뮤니티에 이 템플릿 링크도
올려두었습니다. '파일'을 클릭하고
복사본을 만들면 됩니다.
그러면 당신의 Google Suite에서
모든 것을 기록하는데 사용할 수 있습니다.
이름들은 항상 일관성 있게 유지될 거예요.
실행하면 자동으로 업데이트될 것입니다.
그리고 당연히
실행하면,
자동으로 업데이트되어
바로 사용할 수 있습니다.
그리고 물론, Creatate 템플릿도
받아야 하는데, 이렇게 생겼습니다.
이것도 커뮤니티에 올려두었어요.
CreativeMate에서 새 템플릿을 열고,
처음부터 시작해서, 소스 에디터를 열고
거기에 붙여넣으면 됩니다.
그다음 템플릿 API 통합 사용을 클릭하고,
아래쪽에 있는 페이스리스 비디오 단계에
curl을 가져와서 실제로 비디오를
렌더링하게 됩니다.
curl 명령을 가져오면 모든 것이
채워져 있을 거예요. 변수들만
드래그해서 넣으면 됩니다. 또는
모든 변수를 여기에 두고
creatate의 템플릿 ID만
바꾸면 됩니다.
그리고 Telegram 인증 정보만
추가로 입력하면 될 것 같네요.
다른 것은 없을 것 같은데,
설정 가이드를 참고하시면
잘 진행하실 수 있을 겁니다.
혹시 빠진 게 있더라도,
설정 가이드가 있으니
이 에이전트를 실행하고 사용하는 데
문제없을 거예요.
완전 초보이거나
약간의 경험이 있지만
지식을 더 넓히고 싶다면,
제 유료 커뮤니티를
확인해보세요. 링크는
설명란에 있습니다. 현재 1100명 이상의
멤버들이 매일 Nen을 사용하고
자동화를 구축하고 있습니다.
에이전트 구축에 대한 전체 과정이 있는
강의실 섹션이 있고,
벡터 데이터베이스와 API,
HTTP 요청과 같은 심화 주제들도 다룹니다.
또한 단계별 구축 과정도 있어요.
주간 라이브 콜을 5번 진행하는데,
모두 녹화되어 있어서
막히는 부분 없이
진행할 수 있습니다. 현재
완전 초보자를 위한
새로운 과정들을 준비 중인데,
기초부터 시작해서
프로세스 자동화까지 배울 수 있습니다.
커뮤니티에서 여러분을
만나보고 싶네요. 라이브 콜에서도
뵙고 싶습니다. 이번 영상은
여기까지입니다. 이 영상이 도움이 되었거나
새로운 것을 배우셨다면,
좋아요 눌러주세요. 큰 도움이 됩니다.
항상 끝까지 시청해 주셔서
감사합니다.
다음 영상에서 뵙겠습니다. 감사합니다.