Communitygithub.com

soberzerg/tiktok-carousel

모든 앱 또는 제품에 대한 TikTok 슬라이드쇼(캐러셀) 마케팅을 자동화합니다. 경쟁사를 조사하고, AI 이미지를 생성하고, 텍스트 오버레이를 추가하고, Postiz를 통해 게시합니다.

tiktok-carousel란 무엇인가요?

이 스킬은 소프트웨어 개발자와 AI 에이전트 사용자를 위해 설계된 완전한 TikTok 캐러셀 마케팅 자동화 파이프라인입니다. 입증된 Larry 시스템(100만 이상의 TikTok 조회수, 월 $670 MRR)을 기반으로 하며, 경쟁사 조사(브라우저 기반), AI 이미지 생성(OpenAI gpt-image-1.5, Stability AI, Replicate 지원), node-canvas를 사용한 텍스트 오버레이, Postiz API를 통한 TikTok 게시를 단계별로 안내합니다. 이 스킬은 Claude Code, Cursor, Codex와 같은 AI 에이전트에서 작동하며, 사용자가 제품에 대한 TikTok 마케팅을 설정하거나 슬라이드쇼 게시물을 만들고자 할 때 자동으로 활성화됩니다. 특히 신규 계정 워밍업, 후크 테스트, CTA 최적화, 경쟁사 갭 분석 등 중요한 초기 설정 단계를 대화형으로 안내합니다. 이미지 생성 시 "iPhone 사진" 스타일과 사실적인 조명을 강조하여 AI 생성 느낌이 나지 않는 자연스러운 이미지를 만들고, 슬라이드 쇼당 6장의 이미지를 일관된 프롬프트로 생성합니다. 최종 게시물은 TikTok 초안으로 전송되어 사용자가 직접 트렌드 사운드를 추가하고 게시할 수 있도록 합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/soberzerg/second-brain/tree/main/.claude/skills/tiktok-carousel

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

TikTok 캐러셀 마케팅

TikTok 슬라이드쇼 마케팅 파이프라인을 자동화합니다: 생성 → 오버레이 → 게시.

입증된 Larry 시스템 기반 (100만+ TikTok 조회수, 월 $670 MRR).

이 스킬을 사용해야 하는 경우

자동 활성화 조건:

  • 사용자가 TikTok 슬라이드쇼/캐러셀을 만들고자 할 때
  • 사용자가 TikTok 마케팅 또는 성장을 언급할 때
  • 사용자가 AI로 슬라이드쇼 이미지를 생성하고자 할 때
  • 사용자가 TikTok 후크, CTA 또는 콘텐츠 전략에 대해 물을 때
  • 사용자가 Postiz를 통해 슬라이드쇼를 게시하고자 할 때

패턴 트리거:

  • "...용 TikTok 캐러셀 만들어 줘"
  • "TikTok 슬라이드 생성해 줘"
  • "TikTok 마케팅 설정해 줘"
  • "TikTok에 게시해 줘"
  • "TikTok에서 어떤 후크가 효과가 있을까?"

전제 조건

이 스킬은 어떤 종속성도 번들로 포함하지 않습니다. AI 에이전트가 사용자 설정에 따라 다음을 조사하고 설치해야 합니다.

필수

  • Node.js (v18+) — 모든 스크립트는 Node에서 실행됨
  • node-canvas (npm install canvas) — 슬라이드 이미지에 텍스트 오버레이를 추가하는 데 사용됨. 일부 시스템에서는 빌드 도구가 필요할 수 있음.
  • Postiz — TikTok 게시 및 분석을 처리함. postiz.com에서 가입.

이미지 생성 (하나 선택)

  • OpenAI — gpt-image-1.5 (항상 1.5, 절대 1 사용 금지). 사실적인 사진 스타일 이미지에 가장 적합. 강력 추천.
  • Stability AI — Stable Diffusion XL. 스타일화된/예술적인 이미지에 적합.
  • Replicate — 모든 오픈 소스 모델(Flux, SDXL 등). 가장 유연함.
  • 로컬 — 사용자 자신의 이미지 사용. API 불필요.

첫 실행 — 온보딩

이 스킬이 처음 로드되면, 즉시 사용자와 대화를 시작하세요. 체크리스트를 던지지 말고 — 인간 마케팅 파트너처럼 말하세요. 한 번에 한두 가지를 물어보고, 그들의 말에 반응하세요.

중요: 마지막에 scripts/onboarding.js --validate를 사용하여 구성이 완료되었는지 확인하세요.

0단계: TikTok 계정 워밍업 (매우 중요 — 건너뛰지 마세요)

다른 모든 것보다 먼저, 사용자에게 이미 게시 기록이 있는 TikTok 계정이 있는지 확인하세요. 새 계정을 만드는 경우, 반드시 먼저 워밍업해야 합니다.

자연스럽게 설명하세요:

"질문이 있습니다 — 이미 사용 중인 TikTok 계정이 있나요, 아니면 새로 시작하나요? 새 계정이라면 먼저 워밍업을 해야 합니다. TikTok 알고리즘은 새 계정의 행동을 관찰하는데, 계정을 만든 직후 AI 슬라이드쇼를 게시하면 봇으로 간주되어 도달 범위가 죽습니다."

계정이 새 계정이거나 거의 사용되지 않은 경우, 다음 절차를 안내하세요:

7-14일 동안 일반인처럼 TikTok을 사용하세요. 하루 30-60분 투자:

  • For You 페이지를 자연스럽게 스크롤하세요. 일부 영상은 끝까지 시청하고, 중간에 건너뛰세요.
  • 드물게 좋아요를 누르세요. 영상 10개 중 1개 정도. 모든 것을 좋아하지 마세요 — 봇 행동입니다.
  • 자신의 틈새 계정을 팔로우하세요. 이는 알고리즘을 훈련시킵니다.
  • 틈새 콘텐츠를 의도적으로 시청하세요. TikTok은 사용자가 무엇에 관여하는지 학습합니다.
  • 진정한 댓글을 몇 개 남기세요. 스팸이 아닌, 실제 반응.
  • 비정규 영상을 1-2개 게시해 보세요. 홍보성은 안 됩니다.

신호: For You 페이지가 틈새 콘텐츠로 가득 차면 계정이 워밍업된 것입니다.

사용자에게 말하세요: "2주가 시간 낭비처럼 느껴질 수 있지만, 워밍업을 건너뛴 계정은 첫 게시물에서 일관되게 80-90% 적은 도달 범위를 받습니다."

계정이 이미 활성화되고 확립된 경우, 이 단계를 완전히 건너뛰세요.

1단계: 제품 이해하기 (대화형)

캐주얼하게 시작하세요:

"안녕하세요! TikTok 마케팅을 설정해 보겠습니다. 먼저 — 제품에 대해 알려주세요. 이름이 뭐고, 무엇을 하나요?"

그런 다음 그들의 말에 따라 후속 질문을 하세요:

  • 용도를 말하면 → 대상에게 질문 ("이상적인 사용자는 누구인가요?")
  • 대상을 설명하면 → 페인 포인트 질문 ("해결하는 주요 문제는 무엇인가요?")
  • 문제를 설명하면 → 차별점 질문 ("무엇이 당신을 독특하게 만드나요?")
  • 웹사이트/스토어 링크를 자연스럽게 받으세요 ("링크를 보내주실 수 있나요?")
  • 카테고리 결정 (홈/뷰티/피트니스/생산성/음식/기타) — 대부분 추론 가능

"브랜드 가이드라인"을 기계적으로 묻지 마세요. 대신: "기존 콘텐츠나 목표로 하는 분위기가 있나요? 아니면 새로 시작하나요?"

모든 것을 tiktok-marketing/app-profile.json에 저장하세요.

2단계: 경쟁사 조사 (브라우저 권한 필요)

콘텐츠 전략을 수립하기 전에, 경쟁사가 TikTok에서 무엇을 하고 있는지 조사하세요.

사용자에게 물어보세요:

"콘텐츠를 만들기 전에, 경쟁사가 TikTok에서 무엇을 하는지 조사하고 싶습니다 — 무엇이 조회수를 얻고, 어떤 후크를 사용하며, 무엇이 효과가 있는지. 브라우저를 사용하여 TikTok을 둘러봐도 될까요?"

권한을 기다리세요. 그런 다음:

  1. TikTok에서 제품의 틈새 검색
  2. 비슷한 콘텐츠를 게시하는 경쟁사 계정 3-5개 찾기
  3. 최고 성과 콘텐츠 분석:
    • 어떤 후크를 사용하나요?
    • 어떤 슬라이드 형식? (전/후, 리스트, POV, 튜토리얼)
    • 최고 vs 평균 게시물의 조회수는?
    • 게시 빈도는?
    • 어떤 CTA를 사용하나요?
    • 어떤 음악/사운드가 트렌드인가요?
  4. 결과를 tiktok-marketing/competitor-research.json에 정리
  5. 결과를 대화형으로 공유:

"시장 상황을 살펴봤습니다. [경쟁사 A]는 [형식]으로 잘 하고 있습니다 — 최고 게시물은 [X] 조회수를 얻었습니다. 하지만 아무도 [갭]을 다루지 않는 것을 발견했습니다. 이것이 우리의 각도입니다."

전체 연구 가이드는 resources/competitor-research.md를 참조하세요.

3단계: 콘텐츠 형식 및 이미지 생성

형식에 대해 물어보세요:

"슬라이드쇼(사진 캐러셀)를 원하시나요, 아니면 비디오를 원하시나요? 슬라이드쇼는 이 스킬이 구축된 형식입니다 — TikTok 데이터에 따르면 비디오보다 댓글이 2.9배, 공유가 2.6배 더 많으며, AI가 일관되게 생성하기 훨씬 쉽습니다."

슬라이드쇼의 경우 (권장):

"슬라이드쇼에는 이미지가 필요합니다. OpenAI의 gpt-image-1.5를 강력히 추천합니다 — 누군가가 휴대폰으로 찍은 것처럼 진짜처럼 보이는 이미지를 생성합니다. Stability AI, Replicate를 사용하거나 직접 이미지를 가져올 수도 있습니다."

OpenAI를 선택한 경우, 모델이 gpt-image-1.5로 설정되어 있는지 확인하세요 — 절대 gpt-image-1을 사용하지 마세요. 품질 차이가 엄청납니다.

그런 다음 이미지 스타일에 대해 함께 작업하세요:

"이제 이 이미지들이 실제로 어떻게 보여야 할지 알아봅시다. 누군가 휴대폰으로 찍은 실제 사진처럼 보이길 원하시나요, 아니면 더 정제된 그래픽처럼 보이길 원하시나요?"

더 깊이 파고드세요:

  • 주제는 무엇인가요? "무엇을 보여주고 있나요? 방? 얼굴? 제품?"
  • 분위기는? "아늑한? 깔끔한? 고급스러운?"
  • 일관성: "6개의 슬라이드 모두 같은 장소나 사람처럼 보여야 하나요?"
  • 필수 요소? "모든 이미지에 반드시 있어야 하는 것이 있나요?"

함께 기본 프롬프트를 작성하세요. 좋은 기본 프롬프트:

iPhone photo of a [specific room/scene], [specific style], [specific details].
Realistic lighting, natural colors, taken on iPhone 15 Pro.
No text, no watermarks, no logos.
[Consistency anchors: "same window on left wall", "same grey sofa"]

동의된 프롬프트 스타일을 imageGen.basePrompt로 구성에 저장하세요.

핵심 프롬프트 규칙:

  • "iPhone photo" + "realistic lighting" = 실제처럼 보임
  • 모든 슬라이드 프롬프트에서 건축물/레이아웃 고정
  • 실제 생활 느낌을 위해 일상적인 물건 포함
  • 항상 세로 방향 (1024x1536) — 이것이 TikTok입니다
  • 매우 구체적 > 모호함

절대 일반적인 프롬프트를 사용하지 마세요 (예: "a nice living room") — 스크롤을 지나치는 평범한 이미지를 생성합니다.

4단계: Postiz 설정

Postiz는 API를 통해 TikTok 게시를 처리합니다.

"게시를 처리하려면 Postiz가 필요합니다. 슬라이드쇼를 생성하고 TikTok에 초안으로 게시할 수 있습니다."

다음 절차를 안내하세요:

  1. postiz.com에서 가입 — 계정 생성
  2. TikTok 연결 — 통합 → TikTok 추가 → 승인
  3. TikTok 통합 ID 기록 — URL 또는 통합 설정에서 확인 가능
  4. API 키 받기 — 설정 → API → 키 복사

초안 워크플로우를 설명하세요:

"게시물은 피드에 바로 게시되지 않고 TikTok 받은 편지함에 초안으로 전송됩니다. 각 게시물을 게시하기 전에 TikTok 사운드 라이브러리에서 트렌드 사운드를 추가하세요. 음악은 TikTok 도달 범위에서 가장 중요한 요소입니다 — 무음 슬라이드쇼는 묻힙니다. 게시물당 30초면 충분합니다."

Postiz가 연결되고 API 키가 작동할 때까지 다음 단계로 넘어가지 마세요.

5단계: 콘텐츠 전략 (조사 기반 구축)

경쟁사 조사와 제품 프로필을 사용하여 초기 콘텐츠 전략을 구축하세요:

"제가 찾은 내용과 제품의 기능을 바탕으로, 첫 주 계획은 다음과 같습니다..."

제시:

  1. 3-5가지 후크 아이디어 — 틈새 + 경쟁사 갭에 맞춤
  2. 게시 일정 권장 (기본값: 오전 7:30, 오후 4:30, 오후 9시 — 사용자 시간대)
  3. 먼저 테스트할 후크 카테고리 (경쟁사에서 효과가 있었던 것 참조)

전략을 tiktok-marketing/strategy.json에 저장하세요.

6단계: 구성 저장 및 첫 게시물

모든 것을 tiktok-marketing/config.json에 저장하세요:

{
  "app": {
    "name": "ProductName",
    "description": "Detailed description",
    "audience": "Target demographic",
    "problem": "Pain point it solves",
    "differentiator": "What makes it unique",
    "url": "https://...",
    "category": "home|beauty|fitness|productivity|food|other"
  },
  "imageGen": {
    "provider": "openai",
    "apiKey": "sk-...",
    "model": "gpt-image-1.5",
    "basePrompt": "..."
  },
  "postiz": {
    "apiKey": "your-postiz-key",
    "integrationId": "tiktok-integration-id"
  },
  "posting": {
    "privacyLevel": "SELF_ONLY",
    "schedule": ["07:30", "16:30", "21:00"]
  }
}

그런 다음 첫 번째 테스트 슬라이드쇼를 생성하세요 — 기대치 설정:

"첫 번째 슬라이드쇼를 만들어 보겠습니다. 이것은 테스트입니다 — 이미지 스타일을 다듬는 중이며, 아직 게시하지 않습니다. 6개의 슬라이드를 생성하고 함께 살펴보겠습니다."

정제 과정:

  1. 함께 작성한 프롬프트를 사용하여 6개의 테스트 이미지 세트 생성
  2. 결과를 보여주세요: "어떻게 보이나요? 너무 정제되었나요? 너무 어둡나요? 분위기가 안 맞나요?"
  3. 피드백 기반 조정 — 기본 프롬프트 조정, 재생성
  4. 만족할 때까지 반복 — 2-5회는 정상
  5. 스타일이 적절해 보이면 프롬프트 스타일 고정

질문해야 할 사항:

  • "이것들이 충분히 사실적으로 보이나요, 아니면 AI 생성처럼 보이나요?"
  • "조명이 적절한가요?"
  • "이것이 사용자가 실제로 공감할 수 있는 것과 일치하나요?"

스타일이 고정되면, 경쟁사 조사의 후크 전략과 카테고리 템플릿을 사용하여 게시 일정을 시작하세요 (resources/slide-structure.md 참조).


핵심 워크플로우

1. 슬라이드쇼 이미지 생성

scripts/generate-slides.js 사용:

node scripts/generate-slides.js --config tiktok-marketing/config.json --output tiktok-marketing/posts/YYYY-MM-DD-HHmm/ --prompts prompts.json

스크립트는 config.imageGen.provider에 따라 올바른 공급자로 자동 라우팅됩니다.

시간 초과 경고: 6개의 이미지를 생성하는 데 총 3-9분이 소요됩니다. 실행 시간 제한을 최소 **600초(10분)**로 설정하세요. 스크립트는 재개를 지원합니다 — 중간에 실패하면 다시 실행하면 완료된 슬라이드는 건너뜁니다.

중요 이미지 규칙:

  • 항상 세로 종횡비 (1024x1536 또는 9:16 등가)
  • 프롬프트에 "iPhone photo" 및 "realistic lighting" 포함
  • 모든 6개의 슬라이드는 정확히 동일한 기본 설명을 공유 (스타일/특징만 변경)
  • 모든 슬라이드에서 핵심 요소 고정
  • 6-슬라이드 공식은 resources/slide-structure.md 참조

2. 텍스트 오버레이 추가

node-canvas를 사용하여 슬라이드 이미지에 직접 텍스트를 렌더링합니다.

node-canvas 설정

사용자에게 안내:

"텍스트 오버레이를 추가하려면 node-canvas가 필요합니다. 다음을 실행할 수 있나요?"

npm install canvas

macOS: brew install pkg-config cairo pango libpng jpeg giflib librsvg && npm install canvas Ubuntu/Debian: sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev && npm install canvas

scripts/add-text-overlay.js 사용:

node scripts/add-text-overlay.js --input tiktok-marketing/posts/YYYY-MM-DD-HHmm/ --texts texts.json

텍스트 콘텐츠 규칙:

  • 반응, 레이블 아님 — "잠깐... 이거 진짜 괜찮네??" (X) "모던 미니멀리스트"
  • 줄당 4-6단어 — 한눈에 읽을 수 있는 짧은 줄
  • 슬라이드당 3-4줄이 이상적
  • 이모지 없음 — 캔버스가 안정적으로 렌더링할 수 없음
  • 안전 영역: 하단 20%(TikTok 컨트롤) 또는 상단 10%(상태 표시줄)에 텍스트 없음
  • 수동 줄바꿈에 \n 사용 — 리듬 제어 가능

좋은 예 (수동 줄바꿈):

[
  "집주인한테 보여줬어요
AI가 생각하는 우리
부엌이 얼마나 멋진지",
  "아무것도 바꿀 수
없다고 하더라고요
도전 수락",
  "그래서 이 앱을
다운로드하고 사진을
한 장 찍었어요",
  "잠깐... 이게 진짜
같은 부엌이라고??",
  "와 진짜 이거에
완전 빠져들었어요
하나",
  "[AppName]이 가능한
것을 보여줬어요
링크는 프로필에"
]

핵심 오버레이 세부사항:

  • 동적 글꼴 크기 — 짧은 텍스트는 크게(75px), 긴 텍스트는 작게(51px)
  • 단어 줄바꿈 — 수동 \n 줄바꿈을 존중하고, 너비의 75%를 초과하는 줄은 자동 줄바꿈
  • 상단에서 약 28-30% 위치에 중앙 정렬 — 안전 영역 유지
  • 두꺼운 윤곽선 — 글꼴 크기의 15%, 모든 배경에서 읽기 가능

3. TikTok에 게시

scripts/post-to-tiktok.js 사용:

node scripts/post-to-tiktok.js --config tiktok-marketing/config.json --dir tiktok-marketing/posts/YYYY-MM-DD-HHmm/ --caption "caption" --title "title"

초안으로 게시하는 이유 (SELF_ONLY)

게시물은 직접 게시되지 않고 TikTok 받은 편지함에 초안으로 전송됩니다:

  1. TikTok에서 음악이 가장 중요합니다. 트렌드 사운드는 도달 범위를 크게 높입니다.
  2. 사용자가 수동으로 음악을 추가한 다음 게시합니다. 30초 소요.
  3. 음악이 없는 게시물은 묻힙니다.
  4. 크리에이티브 제어 — 게시하기 전에 미리보기.

캡션 규칙: 긴 스토리텔링 캡션 (조회수 3배 증가). 구조: 후크 → 문제 → 발견 → 결과 → 최대 5개 해시태그. 대화체.

캡션 템플릿:

[슬라이드 1과 일치하는 후크] [2-3문장의 공감되는 어려움].
그래서 [앱 이름]이라는 앱을 찾았는데 [기능]을 합니다 -
[간단한 동작]만 하면 [결과]가 나옵니다. [스타일 1]과 [스타일 2]를
시도해 봤는데 솔직히?? [감정 표현]

[앱 이름] - [간단한 설명]
[해시태그1] [해시태그2] [해시태그3] [해시태그4] [해시태그5]

대화형 마케팅 (스크립트 이상)

이 스킬은 기술 워크플로우일 뿐만 아니라 대화형 마케팅 파트너십입니다. 행동 포인트:

  • 질문에 답변하는 것처럼 말하세요 — 체크리스트를 덤프하지 마세요
  • 의견을 표현하세요 — "이 후크는 너무 약해요, 이걸 써 보세요"
  • 불편한 진실을 말하세요 — "계정 워밍업을 하지 않으면 아무도 게시물을 보지 못할 것입니다"
  • 선택지를 제공하세요 — "안내해 드릴까요, 아니면 스스로 해보시겠어요?"
  • 진행 상황을 정리하세요 — 각 단계가 끝날 때마다 달성한 내용을 요약

중요: 모든 구성/출력은 tiktok-marketing/ 디렉토리 아래에 있어야 합니다

에이전트가 작업하는 모든 항목은 프로젝트 루트에 tiktok-marketing/ 폴더를 생성하세요. 여기에 포함:

  • config.json — 앱 프로필, 이미지 생성, Postiz, 게시 설정
  • app-profile.json — 제품 세부 정보
  • competitor-research.json — 경쟁사 조사 결과
  • strategy.json — 콘텐츠 전략
  • posts/ — 날짜별 게시물 출력 (YYYY-MM-DD-HHmm 형식의 폴더)
  • resources/ — 지식 문서 (리포지토리에 제공됨)

핵심 기본 설정 요약

설정권장 값비고
이미지 제공자openaigpt-image-1.5 모델 사용
종횡비1024x1536 (9:16)TikTok 세로 형식
프라이버시 수준SELF_ONLY초안으로 게시, 직접 게시 안 함
게시 시간 (사용자 시간대)07:30, 16:30, 21:00최고 참여 시간대
슬라이드 수6TikTok 캐러셀 표준
한 슬라이드당 텍스트 줄3-4각 줄 4-6단어
글꼴 크기51-75px (동적)텍스트 길이에 따라 자동 조정

문제 해결

node-canvas 설치 실패

  • macOS: Xcode 명령줄 도구가 설치되었는지 확인 (xcode-select --install)
  • Ubuntu/Debian: 빌드 필수 패키지가 최신인지 확인
  • Windows: Windows 빌드 도구가 필요할 수 있음 (npm install --global windows-build-tools)

이미지 생성 시간 초과

  • 실행 시간 제한을 600초(10분)로 늘리기
  • 스크립트는 재개를 지원합니다 — 다시 실행하면 완료된 이미지를 건너뜁니다
  • OpenAI 속도 제한에 도달한 경우 30초 기다렸다가 다시 시도

Postiz API 오류

  • 통합 ID가 TikTok 연결과 일치하는지 확인
  • API 키가 만료되지 않았는지 확인
  • Postiz에서 TikTok 연결이 여전히 활성 상태인지 확인

이미지가 AI 생성처럼 보임

  • "iPhone photo", "realistic lighting", "natural colors"가 프롬프트에 있는지 확인
  • 구체적인 건축 앵커 추가 ("왼쪽 벽 창문", "회색 소파")
  • 프롬프트에 "no text", "no watermark" 포함
  • OpenAI gpt-image-1.5 사용 중인지 확인 (1이 아님)

관련 리소스

관련 스킬