워크플로 소개
Blotato와 Airtable을 사용하여 9개 소셜 플랫폼에 동영상 및 이미지 게시
**"Publish Videos & Images - Blotato"**라는 제목의 이 n8n 워크플로우 템플릿은 타사 게시 서비스인 Blotato를 통합 API 계층으로 사용하여 9개의 주요 소셜 미디어 플랫폼(Instagram, Facebook, YouTube, Threads, LinkedIn, TikTok, Twitter(X), Bluesky, Pinterest) 전반에 걸쳐 멀티미디어 콘텐츠(동영상 및 이미지) 게시를 간소화하도록 설계된 포괄적인 자동화 시스템입니다. 이 워크플로우는 Airtable 베이스에서 콘텐츠 메타데이터 및 미디어 URL을 가져오고, OpenAI의 GPT-4.1-Mini를 사용하여 YouTube 제목을 선택적으로 최적화하며, 미디어 에셋을 Blotato 스토리지에 업로드한 다음, 맞춤형 텍스트 및 설정으로 플랫폼별 게시물을 발송합니다. 또한 게시 상태를 반영하도록 원본 Airtable 레코드를 업데이트하는 메커니즘도 포함되어 있습니다.
주요 기능 및 역량
- 다중 플랫폼 게시: Blotato의 단일 API 엔드포인트를 통해 9개의 소셜 네트워크에 동시에 게시합니다.
- 동적 콘텐츠 처리: 문자 수 제한이 있는 플랫폼(예: X/Twitter, Instagram)에는 짧은 형식의 텍스트를, YouTube 및 Facebook과 같은 플랫폼에는 긴 형식의 스크립트를 사용합니다.
- 미디어 에셋 관리: Airtable에 저장된 URL의 동영상 및 이미지 에셋을 게시 전에 Blotato에 업로드합니다.
- AI 기반 제목 최적화: 사용자가 제공한 초안 제목을 기반으로 OpenAI를 사용하여 바이럴하고 규정을 준수하는 YouTube Shorts 제목을 생성합니다.
- Pinterest 보드 ID 추출: API 통합에 일반적인 문제점인 공개 URL에서 Pinterest 보드 ID를 스크랩하는 전용 하위 워크플로우를 포함합니다.
- 상태 추적: 게시 진행 상황(예: "진행 중", "완료")을 반영하도록 Airtable 레코드를 업데이트합니다.
- 오류 복원력: 모든 게시 노드는 하나의 플랫폼이 실패하더라도 전체 워크플로우 실패를 방지하기 위해
onError: "continueErrorOutput"을 사용합니다. - 광범위한 문서: 포함된 스티커 메모는 설정 지침, 디버깅 링크, 알려진 제한 사항 및 제휴 리소스를 제공합니다.
주요 노드 및 목적
| 노드 | 유형 | 목적 |
|---|---|---|
| 'Test workflow' 클릭 시 | 수동 트리거 | 테스트 중에 워크플로우 실행을 시작합니다. |
| Airtable Record ID | 설정 | 테스트 목적으로 하드코딩된 Airtable 레코드 ID(recJBpGmgd7nuLpfe)를 주입합니다. |
| Airtable | Airtable | 스크립트, 미디어 URL, 소셜 텍스트 및 계정 ID가 포함된 "Media Creation" 테이블에서 특정 레코드를 가져옵니다. |
| Ensure Valid YouTube Title | OpenAI (LangChain) | 사용자의 초안 제목을 JSON 형식의 바이럴하고 100자 미만인 YouTube Shorts 제목으로 다시 작성합니다. |
| Prepare for Publish | 설정 | 소셜 계정 ID, 보드 ID 및 형식화된 텍스트(짧음/김)를 포함한 필요한 모든 게시 데이터를 집계합니다. |
| Upload Image to Blotato / Upload Video to Blotato | HTTP 요청 | Airtable에 저장된 URL의 이미지 또는 동영상을 Blotato의 미디어 엔드포인트(/v2/media)에 업로드하고 호스팅된 URL을 반환합니다. |
| [Platform] Publish via Blotato (9개 노드) | HTTP 요청 | 플랫폼별 페이로드(예: targetType, 개인 정보 설정, 페이지/보드 ID)로 Blotato의 /v2/posts 엔드포인트에 POST 요청을 보냅니다. |
| Airtable: Posted Instagram / Airtable: Posted Instagram1 | Airtable | 원본 Airtable 레코드의 "Production" 상태 필드를 업데이트합니다(예: "Completed" 또는 "In progress"). |
| Pinterest System (tm) → Grab Pinterest Board Page → Pinterest Page Sleuth | 양식 트리거 → HTTP → 코드 | 포함된 JSON을 스크랩하고 구문 분석하여 공개 URL에서 Pinterest 보드 ID를 추출하는 자체 포함 유틸리티입니다. |
사용 사례 및 이점
- 콘텐츠 제작자 및 대행사: 개별 플랫폼 API를 관리하지 않고 크로스 플랫폼 소셜 미디어 배포를 자동화합니다.
- 효율성: 9개 이상의 플랫폼에 걸친 수동 업로드 및 게시를 제거하고 인적 오류를 줄입니다.
- 일관성: Airtable에 중앙 집중식으로 저장된 콘텐츠로 브랜드와 일치하는 메시지를 보장합니다.
- 확장성: Airtable에 새 레코드를 쉽게 추가하여 향후 게시물을 예약합니다.
- 규정 준수: 프로그래밍 방식으로 플랫폼별 제약 조건(예: YouTube 제목 길이, Pinterest 보드 요구 사항)을 적용합니다.
- 디버깅 및 모니터링: 스티커 메모에는 소셜 프로필 및 Blotato의 실패한 게시물 대시보드에 대한 직접 링크가 포함됩니다.
단계별 워크플로우 로직
- 트리거: 워크플로우는 수동 트리거를 통해 수동으로 시작되거나(테스트용) 예약/자동 트리거에 맞게 조정될 수 있습니다.
- 레코드 식별: Airtable Record ID 노드는 테스트를 위해 정적 레코드 ID를 설정합니다.
- 데이터 가져오기: Airtable 노드는 다음을 포함하는 전체 레코드를 검색합니다.
Script(긴 형식 콘텐츠)Text for X(짧은 형식 콘텐츠)Video URL및Image URL- 소셜 계정 ID (예:
instagram_id,facebook_page_id) - 초안
Media Title
- YouTube 제목 최적화: Ensure Valid YouTube Title 노드는 초안 제목을 OpenAI에 보내고, OpenAI는 JSON 형식으로 규정을 준수하고 바이럴 준비가 된 제목을 반환합니다.
- 데이터 준비: Prepare for Publish 노드는 AI 생성 YouTube 제목 및 소셜 ID를 포함하여 필요한 모든 필드를 통합된 JSON 객체로 컴파일합니다.
- 미디어 업로드:
- Upload Image to Blotato는 이미지 URL을 Blotato에 보냅니다.
- Upload Video to Blotato는 동영상 URL을 Blotato에 보냅니다.
- 둘 다 후속 게시 단계에서 사용되는 Blotato 호스팅 미디어 URL을 반환합니다.
- 병렬 게시: 업로드된 미디어 URL은 아홉 개의 병렬 HTTP 노드로 전달되며, 각 노드는 특정 플랫폼에 대해 구성됩니다.
- 각 노드는 플랫폼별
target및content속성을 가진 JSON 페이로드를 구성합니다. - 인증은 HTTP 헤더 자격 증명을 통해 공유 Blotato API 키를 사용합니다.
- Pinterest는 업로드된 이미지(동영상 아님)를 고유하게 참조하고
boardId를 포함합니다. - YouTube는 AI 최적화 제목과 구독자 알림 설정을 포함합니다.
- 각 노드는 플랫폼별
- 상태 업데이트: Instagram 게시 후(대표적인 예), 두 개의 Airtable 업데이트 노드가 원본 레코드의 "Production" 상태를 수정하여 성공/실패를 기록하는 방법을 보여줍니다(모든 플랫폼에 대해 완전히 구현되지는 않음).
- 유틸리티 하위 워크플로우: 별도로 Pinterest System (tm) 양식을 통해 사용자는 Pinterest 보드 URL을 입력할 수 있으며, 이는 포함된 JSON을 스크랩하고 구문 분석하여 숫자
boardId를 추출합니다. 이는 Pinterest API 호출에 중요합니다.
이 워크플로우는 콘텐츠 계획(Airtable), AI 강화(OpenAI), 미디어 호스팅(Blotato) 및 다중 채널 배포를 연결하는 프로덕션 등급의 문서화가 풍부한 자동화를 보여주며, 현대 소셜 미디어 관리의 운영 오버헤드를 크게 줄입니다.
사용 방법: JSON을 다운로드한 뒤 n8n에서 “파일에서 가져오기”를 선택하세요.