블로그 글 URL만 넣으면 링크드인 업로드용 고효율 PDF 카드뉴스가 자동 생성되는 n8n 워크플로우
블로그에 양질의 글을 작성하고도 이를 다른 플랫폼에 재가공(Repurposing)하여 배포하는 일은 생각보다 많은 에너지가 소비됩니다. 특히 B2B 마케팅의 핵심 채널로 부상한 링크드인(LinkedIn)에서는 텍스트 단독 포스트보다 여러 장의 이미지를 넘겨보는 ‘PDF 카드뉴스(캐러셀)’ 포맷의 도달률과 참여율이 압도적으로 높습니다.
하지만 매번 블로그 글을 요약하고, 캔바(Canva)나 피그마(Figma)를 켜서 템플릿에 텍스트를 복사·붙여넣기 한 뒤, PDF로 내보내어 업로드하는 과정은 아무리 숙련된 마케터라도 최소 1~2시간의 리소스를 빼앗아 갑니다.
이 문제를 완전히 해결하기 위해, 블로그 글 URL 하나만 입력하면 AI가 내용을 요약·분석하여 최적의 슬라이드 레이아웃을 잡고, 고해상도 PDF 카드뉴스 파일로 내보내 주는 n8n 워크플로우 구축 가이드를 소개합니다. 개발자 없이도 구현할 수 있는 실전형 자동화 아키텍처입니다.
1. 왜 링크드인 카드뉴스 자동화인가? 알면 다르게 보이는 알고리즘의 비밀
링크드인 피드를 내리다 보면 유독 PDF 형식의 슬라이드 문서가 자주 눈에 띄는 이유가 있습니다. 링크드인 알고리즘은 사용자가 게시물에 머무는 시간, 즉 **‘체류 시간(Dwell Time)’**을 중요 지표로 삼기 때문입니다.
단순 링크 공유나 짧은 텍스트는 사용자가 빠르게 스크롤을 내리지만, PDF 카드뉴스는 다음 슬라이드를 보기 위해 클릭(클릭률 증가)하고 머무는 시간이 길어집니다. 알고리즘은 이 행동을 ’가치 있는 콘텐츠’로 판단하여 더 많은 잠재 고객의 피드에 노출시킵니다.
우리가 구축할 링크드인 카드뉴스 자동화 시스템은 이 고효율 포맷을 터치 한 번으로 생산해 내는 것을 목표로 합니다.
2. n8n 워크플로우 전체 아키텍처 (전체 흐름도)
n8n은 다양한 API와 오픈소스 라이브러리를 엮어 복잡한 비즈니스 로직을 시각적으로 설계할 수 있는 강력한 워크플로우 자동화 도구입니다. 이 시스템의 핵심 파이프라인은 다음과 같이 설계됩니다.
[1. Trigger] 웹훅 또는 시트 (URL 입력)
↓
[2. Scraping] 블로그 본문 텍스트 추출 (Readability / Puppeteer)
↓
[3. LLM Processing] OpenAI GPT-5.1 (슬라이드별 카피라이팅 및 JSON 구조화)
↓
[4. Rendering] HTML/CSS 기반의 고해상도 1080x1080 슬라이드 생성
↓
[5. PDF Export] Puppeteer 기반 HTML-to-PDF 변환 (1장당 1페이지 매칭)
↓
[6. Delivery] 슬랙(Slack) 전송 또는 구글 드라이브 자동 저장
3. 단계별 핵심 구현 기술과 노하우
표면적인 연동을 넘어, 실제 작동 가능한 수준의 깊이 있는 기술적 팁과 프롬프트 구조를 공유합니다.
1단계: 블로그 본문 데이터 정제 (Scraping)
블로그 URL에서 본문만 깔끔하게 긁어와야 합니다. 광고 배너, 사이드바 메뉴, 댓글 등의 노이즈가 섞이면 AI가 엉뚱한 요약을 하기 때문입니다.
- 추천 노드:
HTTP Request노드를 사용하여 페이지 HTML을 가져온 뒤, n8n의 내장 Javascript(Code 노드)나 외부 Readability API를 활용해 메인 아티클 본문(article,main태그 내부)의 텍스트만 파싱합니다. - 주의점: SPA(Single Page Application) 형태로 빌드된 블로그(예: React, Next.js 기반 일부 기술 블로그)는 일반 HTTP Request로 본문이 안 보일 수 있으므로, 이때는 headless 브라우저인
Puppeteer노드를 활용하여 화면이 렌더링된 후의 텍스트를 수집해야 합니다.
2단계: 슬라이드 분할을 위한 AI 프롬프트 엔지니어링 (OpenAI)
수집된 텍스트를 무작정 요약하는 것이 아니라, **“카드뉴스 규격에 맞는 페이지 분할과 카피라이팅”**을 요청해야 합니다. 이때 가장 안정적인 출력 포맷은 JSON입니다.
[System Prompt 예시]
당신은 B2B SaaS 및 IT 비즈니스 분야 전문 링크드인 에디터입니다.
입력된 블로그 본문을 기반으로 6~8장의 링크드인 카드뉴스 스크립트를 작성하세요.
반드시 아래의 JSON 배열 형식으로만 응답해야 합니다. 다른 텍스트는 배제하세요.
[
{
"slide_number": 1,
"title": "표지 타이틀 (독자의 이목을 끄는 강력한 훅)",
"subtitle": "부제목 또는 브랜드명"
},
{
"slide_number": 2,
"title": "서론: 문제 제기",
"content_bullet_1": "핵심 포인트 1",
"content_bullet_2": "핵심 포인트 2"
},
...
{
"slide_number": 8,
"title": "마무리 & CTA (Call to Action)",
"content_bullet_1": "더 자세한 내용은 프로필 링크에서 확인하세요!",
"content_bullet_2": "@운영자태그"
}
]
3단계: HTML template을 활용한 PDF 렌더링
카드뉴스 제작 자동화에서 가장 큰 장벽은 ’디자인’입니다. 캔바 API는 유료 제약이 크고 사용이 까다롭습니다. 가장 유연하고 확장성 있는 대안은 HTML/CSS 템플릿을 동적으로 채운 뒤 PDF로 인쇄하는 방식입니다.
- 원리: 1080px * 1080px 크기로 정렬된 HTML 템플릿을 정의합니다. CSS의
page-break-after: always;속성을 사용하면, 각 슬라이드(div요소)를 PDF의 개별 페이지로 깔끔하게 나눌 수 있습니다. - CSS 핵심 코드 구조:
@media print { body { margin: 0; } .slide { width: 1080px; height: 1080px; page-break-after: always; display: flex; flex-direction: column; justify-content: space-between; padding: 80px; box-sizing: border-box; background: linear-gradient(135deg, #121212 0%, #1a1a2e 100%); color: #ffffff; } } - n8n의
Code노드 내에서 OpenAI가 반환한 JSON 데이터를 이 HTML 템플릿 루프에 바인딩하여 하나의 거대한 HTML 스트링을 생성합니다.
4단계: Puppeteer를 통한 고해상도 PDF 변환
완성된 HTML 스트링을 실제 PDF 파일로 구워내야 합니다. n8n에서 Puppeteer 노드(혹은 관련 커뮤니티 노드)를 설정하여, 생성된 HTML을 로드한 뒤 Page.pdf() 함수를 실행합니다.
- 출력 옵션 설정:
printBackground: true(배경 색상 및 그라데이션 유지를 위해 필수)width: '1080px',height: '1080px'(정사각형 규격 고정)margin: { top: 0, right: 0, bottom: 0, left: 0 }(여백 제거)
4. 제작 방식별 장단점 비교
자동화 파이프라인을 구축할 때 템플릿 렌더링 엔진을 무엇으로 선택하느야에 따라 공수와 결과물의 퀄리티가 달라집니다. 아래 비교표를 참고하여 조직의 리소스에 맞는 방식을 채택하세요.
| 비교 기준 | 방식 A: n8n + HTML/CSS (Puppeteer) | 방식 B: n8n + Bannerbear (전용 API 서비스) | 방식 C: n8n + Placid.app |
|---|---|---|---|
| 비용 (Cost) | 무상에 가까움 (서버 자원만 소모) | 매월 고정 구독료 발생 (슬라이드당 크레딧 차감) | 매월 고정 구독료 발생 |
| 디자인 자유도 | 무제한 (CSS로 구현 가능한 모든 레이아웃/폰트/효과 구현 가능) | 제한된 에디터 템플릿 범위 내에서만 가능 | 템플릿 기반 UI 편집 지원 |
| 구현 난이도 | 높음 (HTML/CSS 퍼블리싱 및 PDF 프린팅 최적화 지식 필요) | 낮음 (드래그 앤 드롭 템플릿 제공 및 간편한 API 연동) | 낮음 (REST API 직관적 연동 가능) |
| 속도 및 안정성 | 자체 리소스 제어 필요 (서버 사양에 영향) | 안정적인 클라우드 렌더링 제공 | 안정적인 클라우드 렌더링 제공 |
5. 실제 운영 데이터 & 비용 분석
자동화 도입을 결정하기 전, 실제 투입되는 비용과 시간 대비 효율을 수치로 검증해야 합니다. 다만 아래 두 지표는 사용하는 LLM 모델, 블로그 글의 길이, 서버 사양에 따라 크게 달라지므로 일반화된 수치를 제시하기보다 자신의 환경에서 직접 측정하는 것이 정확합니다.
- 1회 작동 시 평균 생성 비용 및 소요 시간: 블로그 글 1개당 API 토큰 소모 비용과 PDF 렌더링에 걸리는 시간은 사용하는 모델과 글 분량에 비례해 달라지므로, 실제 파이프라인을 몇 차례 돌려보며 평균값을 직접 기록해 두는 것이 좋습니다.
- 리소스 절감 및 생산성 변화: 기존 수동 제작 시간 대비 절감률은 팀마다 기존 워크플로우가 다르므로, 도입 전 한 주간의 평균 제작 시간을 먼저 기록한 뒤 도입 후와 비교하는 방식으로 측정하는 것을 권장합니다.
6. 장애 없는 자동화를 위한 주의 사항 및 우회 전략
1) 폰트 깨짐 현상 예방하기
Docker 환경에서 n8n을 띄워 Puppeteer를 실행하는 경우, 컨테이너 내부에 한국어 폰트(나눔스퀘어, Pretendard 등)가 설치되어 있지 않으면 PDF 내 글자가 모두 사각형(ㅁㅁㅁ)으로 깨지는 현상이 발생합니다. Dockerfile 빌드 시 시스템 폰트 패키지를 추가하거나, HTML 내에서 Google Fonts 또는 웹폰트를 CDN 형식(@import)으로 명시적으로 불러와 렌더링이 완료된 후 PDF를 출력하도록 지연 시간(Delay) 설정을 주어야 합니다.
2) 링크드인 API 게시 제한 우회 (Semi-Automation 권장)
n8n에서 링크드인 API를 사용해 생성된 PDF를 자동으로 직접 퍼블리싱하는 것도 기술적으로는 가능합니다. 하지만 완전 자동 업로드는 권장하지 않습니다.
- 이유 1: 링크드인 API의 문서(Document) 업로드 엔드포인트는 OAuth 2.0 권한 획득 과정이 매우 복잡하고 잦은 토큰 만료 문제가 발생합니다.
- 이유 2: AI가 요약한 내용에 가끔 오탈자나 어색한 비문이 섞일 수 있으므로, 최종 검수 단계를 거쳐야 콘텐츠 신뢰도를 지킬 수 있습니다.
- 가장 추천하는 실전 루틴: n8n이 최종 PDF를 슬랙(Slack) 채널로 발송하게 만든 뒤, 마케터가 슬랙에서 PDF 파일과 생성된 본문 텍스트 템플릿을 확인 및 10초간 검수한 뒤 링크드인에 드래그 앤 드롭으로 업로드하는 ‘반자동(Human-in-the-loop)’ 프로세스가 가장 안전하고 효율적입니다.
기존에는 소수의 대형 마케팅 에이전시나 디자인 팀을 보유한 기업들만 매일같이 링크드인에 고품질 카드뉴스를 발행할 수 있었습니다. 그러나 n8n과 LLM을 결합한 카드뉴스 자동화 워크플로우를 한 번 구축해 두면, 1인 창업가나 소규모 스타트업도 대기업 마케팅 팀 못지않은 콘텐츠 발행 속도와 전문성을 확보할 수 있게 됩니다.
잘 써둔 블로그 글 하나가 잠자는 사이 수천 명의 링크드인 타겟 유저에게 도달하는 마케팅 플라이휠(Flywheel), 지금 n8n 워크플로우 설계부터 시작해 보시기 바랍니다.