TikTok 캐러셀 크리에이터 (Pexels + FFmpeg + PostBridge)은(는) 무엇을 하나요?
BerkahKarya 맞춤 구현 - 전문 텍스트 오버레이가 포함된 TikTok 캐러셀을 생성합니다.
아키텍처
플로우:
주제 연구 → Pexels 이미지 검색 → FFmpeg 텍스트 오버레이 → PostBridge 업로드 → TikTok 캐러셀
스택:
- 이미지 검색: Pexels API (고품질 스톡 사진/비디오)
- 텍스트 오버레이: FFmpeg (전문 텍스트 렌더링)
- 업로드: PostBridge API (멀티 플랫폼 게시)
- 포맷: TikTok 캐러셀 1080×1920px (9:16 세로)
사전 요구 사항
1. Pexels API 키
무료 API 키 받기: https://www.pexels.com/api/
환경 변수 설정:
export PEXELS_API_KEY="your_pexels_api_key_here"
중요: 이미지를 검색하려면 이 키가 필요합니다. 키가 없으면 스크립트가 실패합니다.
2. PostBridge API 키
PostBridge 클라이언트에 이미 구성되어 있습니다:
export POST_BRIDGE_API_KEY="pb_live_Kyc2gafDF7Qc8c2ALELtEC"
export POST_BRIDGE_BASE_URL="https://api.post-bridge.com/v1"
3. Python PIL (Pillow)
설치 확인:
python3 -c "from PIL import Image; print('PIL available')"
설치:
pip3 install Pillow
4. FFmpeg (선택적 리사이징용)
설치 확인:
ffmpeg -version
설치 (선택 사항 - PIL이 대부분의 작업 처리):
# Debian/Ubuntu
sudo apt update && sudo apt install ffmpeg
# macOS
brew install ffmpeg
4. ImgBB API 키 (선택 사항 - 자동 호스팅용)
무료 API 키 받기: https://api.imgbb.com/
환경 변수 설정 (선택 사항 - ImgBB 자동 업로드용):
export IMGBB_API_KEY="your_imgbb_api_key_here"
ImgBB를 사용하는 이유:
- 무료 티어: 이미지당 32MB 업로드
- 무료 티어에 엄격한 속도 제한 없음
- 간단한 REST API
- 영구 이미지 호스팅
- 소셜 미디어 플랫폼용 공개 URL
5. 디렉토리 구조
스킬이 생성할 디렉토리:
~/.tiktok-slideshow/
├── images/ # Pexels에서 다운로드
├── rendered/ # FFmpeg 렌더링 슬라이드
├── scripts/ # 헬퍼 스크립트
└── projects/ # 프로젝트 메타데이터
TikTok 캐러셀 모범 사례 (2026)
알고리즘 지표 (최신 연구 기준):
- 스와이프 완독률: 모든 슬라이드를 스와이프하는 사용자 비율
- 체류 시간: 각 슬라이드를 보는 시간
- 역방향 스와이프: 다시 보기 위해 뒤로 스와이프하는 사용자
최적 포맷:
해상도: 1080 × 1920px (9:16 세로)
슬라이드: 5-10개 이미지 (가장 높은 참여율)
이미지 크기: 슬라이드당 < 100KB (빠른 로딩)
화면 비율: 9:16 (TikTok 기본)
참여도 향상 팁:
- 첫 번째 슬라이드에서 후크: 굵고 시선을 끄는 텍스트
- 스토리텔링 진행: 각 슬라이드가 이전 슬라이드 위에 구축
- 마지막 슬라이드에 CTA: 팔로우, 저장, 공유 또는 링크
- 일관된 시각적 스타일: 동일한 글꼴, 색상 팔레트
- 고품질 이미지: 고해상도 Pexels 이미지 사용
텍스트 오버레이 모범 사례:
- 글꼴 크기: 제목 32-48px, 부제목 24-32px
- 위치: 여백을 둔 중앙 정렬
- 색상: 검은색 테두리가 있는 흰색 텍스트 (높은 대비)
- 배경: 가독성을 위한 반투명 어두운 상자
- 길이: 슬라이드당 최대 2-3줄
사용법
슬라이드쇼 만들기
python3 tiktok_slideshow.py create "morning routine" "Your routine is broken" 5
매개변수:
topic: Pexels 이미지 검색 테마hook: 첫 번째 슬라이드의 후크 텍스트 (시선을 끄는)num_slides: 슬라이드 수 (5-10 권장)
예시:
python3 tiktok_slideshow.py create "productivity tips" "You're doing productivity wrong" 7
프로젝트 목록 보기
python3 tiktok_slideshow.py list
모든 기존 프로젝트와 메타데이터를 표시합니다.
이미지만 호스팅 (ImgBB)
모든 캐러셀 이미지를 ImgBB 호스팅에 업로드:
# IMGBB_API_KEY 필요
export IMGBB_API_KEY="your_imgbb_api_key"
python3 tiktok_slideshow.py host <project_id>
모든 슬라이드의 공개 URL 출력:
🖼️ 5개 슬라이드를 ImgBB 호스팅에 업로드 중...
✅ ImgBB에 업로드됨: slide_1.jpg
✅ ImgBB에 업로드됨: slide_2.jpg
✅ ImgBB에 업로드됨: slide_3.jpg
✅ ImgBB에 업로드됨: slide_4.jpg
✅ ImgBB에 업로드됨: slide_5.jpg
✅ 5개 슬라이드를 ImgBB에 업로드했습니다!
미디어 URL:
1. https://i.ibb.co/xxx/slide-1.jpg
2. https://i.ibb.co/yyy/slide-2.jpg
3. https://i.ibb.co/zzz/slide-3.jpg
4. https://i.ibb.co/aaa/slide-4.jpg
5. https://i.ibb.co/bbb/slide-5.jpg
📝 URL이 저장됨: /home/openclaw/.tiktok-slideshow/projects/project_id_urls.txt
TikTok에 업로드
옵션 1: 자동 호스팅 + 업로드 (권장)
python3 tiktok_slideshow.py upload <project_id>
자동으로 이미지를 ImgBB에 업로드한 후 PostBridge를 통해 TikTok에 게시합니다.
옵션 2: 수동 호스팅 + 업로드
# 1단계: 이미지를 수동으로 호스팅 (ImgBB, S3, Cloudinary 등 사용)
python3 tiktok_slideshow.py host <project_id>
# 2단계: TikTok에 업로드 (호스팅 건너뛰기)
python3 tiktok_slideshow.py upload <project_id> --no-host
참고: ImgBB 호스팅은 무료이며 소셜 미디어 업로드에 권장됩니다.
전체 예시
# 1. Pexels API 키 설정
export PEXELS_API_KEY="563492ad6f91700001000001234567890"
# 2. 슬라이드쇼 만들기
python3 tiktok_slideshow.py create "fitness motivation" "Stop making this mistake" 5
# 출력:
# ==================================================
# 📱 TikTok 슬라이드쇼 만들기
# ==================================================
# 🎯 주제: fitness motivation
# 🪝 후크: Stop making this mistake
# 📊 슬라이드: 5
# ==================================================
#
# 🔍 Pexels에서 이미지 검색 중...
# 📸 주제에 대해 5개 이미지 찾음: fitness motivation
# ✅ 다운로드됨: temp_0.jpg
# ✅ 렌더링됨: slide_1.jpg
# ✅ 다운로드됨: temp_1.jpg
# ✅ 렌더링됨: slide_2.jpg
# ...
#
# ==================================================
# ✅ 슬라이드쇼가 성공적으로 생성되었습니다!
# ==================================================
# 📦 프로젝트 ID: fitness_motivation_20260306_044512
# 📁 슬라이드: 5
# 📂 위치: /home/openclaw/.tiktok-slideshow/rendered/
# 💾 메타데이터: /home/openclaw/.tiktok-slideshow/projects/fitness_motivation_20260306_044512.json
# ==================================================
# 3. 슬라이드 검토
ls /home/openclaw/.tiktok-slideshow/rendered/
# 4. TikTok에 업로드 (이미지 호스팅 설정 필요)
python3 tiktok_slideshow.py upload fitness_motivation_20260306_044512
작동 방식
1단계: Pexels API로 이미지 검색
POST https://api.pexels.com/v1/search
Authorization: {PEXELS_API_KEY}
쿼리 매개변수:
- query: "fitness motivation"
- orientation: "vertical" # TikTok 9:16용
- size: "large"
- per_page: 5
응답:
{
"photos": [
{
"id": 123456,
"src": {
"large": "https://images.pexels.com/photos/123456/large.jpg"
},
"photographer": "Joe Smith"
}
]
}
2단계: FFmpeg로 다운로드 및 리사이즈
TikTok 형식으로 리사이즈하고 전문 텍스트 오버레이 추가:
ffmpeg -i input.jpg \
-vf "scale=1080:1920,drawtext=text='Your Text Here':fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=48:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:borderw=4:bordercolor=black:box=1:[email protected]:boxborderw=10" \
-q:v 2 \
output.jpg
FFmpeg 매개변수 설명:
scale=1080:1920: TikTok 형식으로 리사이즈fontsize=48: 제목 글꼴 크기fontcolor=white: 텍스트 색상borderw=4:bordercolor=black: 텍스트 외곽선box=1:[email protected]: 반투명 배경boxborderw=10: 상자 패딩-q:v 2: JPEG 품질 (2-5 권장)
3단계: PostBridge를 통해 업로드
from skills_1ai_skills.marketing.post_bridge_client import PostBridgeClient
client = PostBridgeClient(api_key=POST_BRIDGE_API_KEY)
tiktok_accounts = client.get_accounts_by_platform("tiktok")
client.create_post(
caption="Here's my carousel...",
account_ids=[tiktok_accounts[0]['id']],
media_urls=[...your hosted image URLs...]
)
ClawHub에 게시
이 스킬을 게시한 후:
GITHUB_TOKEN="clh_Nf4OK9akiUsJe4mKeVaCJiupZILjii6g35bxs9LX5-w"
clawhub publish \
~/.openclaw/workspace/skills/tiktok-carousel-creator \
--slug tiktok-carousel-creator \
--name "TikTok 캐러셀 크리에이터 (Pexels + FFmpeg + PostBridge)" \
--version 1.0.0 \
--changelog "초기 릴리스. Pexels API + FFmpeg + PostBridge를 사용하는 맞춤형 TikTok 캐러셀 크리에이터. BerkahKarya 워크플로우용으로 설계됨." \
--tags latest,tiktok,carousel,slideshow,pexels,ffmpeg,postbridge
자세히 알아보기: https://www.tip.md/oyi77
리소스
- Pexels API: https://www.pexels.com/api/
- FFmpeg 문서: https://ffmpeg.org/documentation.html
- PostBridge 문서: 로컬 스킬 문서 확인
- TikTok 캐러셀 모범 사례: 정기적으로 알고리즘 변경 사항 연구 (메타 업데이트가 자주 발생)
- 게시 도움말: https://docs.openclaw.ai/tools/clawhub
문제 해결
Pexels API 키가 설정되지 않음
오류: PEXELS_API_KEY가 설정되지 않음
해결 방법:
export PEXELS_API_KEY="your_key_here"
무료 키 받기: https://www.pexels.com/api/
FFmpeg를 찾을 수 없음
오류: ffmpeg를 찾을 수 없음
해결 방법:
sudo apt update && sudo apt install ffmpeg
이미지를 찾을 수 없음
오류: 주제에 대한 이미지를 찾을 수 없음: xyz
해결 방법:
- 다른 검색어 시도
- Pexels API 키가 유효한지 확인
- 더 일반적인 용어 사용
BerkahKarya 맞춤 구현 - 2026 자세히 알아보기: https://www.tip.md/oyi77