| name | promo-sns-content-pipeline |
| description | 범용 SNS 홍보 영상 제작 파이프라인. 책·교육·서비스·상품·행사·복지사업 등 모든 아이템을 쇼츠/릴스/롱폼/광고 영상으로 재가공한다. |
| version | 1.0.0 |
| author | Pola for Ninestone |
| license | MIT |
| metadata | {"hermes":{"tags":["promo","sns-content","short-form","reels","shorts","youtube","captions","longform","higgsfield","voiceover","marketing"]}} |
범용 SNS 홍보 영상 제작 파이프라인
나인스톤이 어떤 아이템이든 홍보 영상으로 만들고 싶어 할 때 사용한다.
트리거 예시:
- “이 상품 홍보 영상 만들어줘”
- “이 교육 쇼츠로 만들어줘”
- “이 서비스 릴스 광고 만들어줘”
- “이 영상을 롱폼으로 확장해줘”
- “자막 작업해줘”
- “힉스필드 음성으로 자연스럽게 바꿔줘”
- “SNS 콘텐츠 캘린더 만들어줘”
대상 아이템:
- 책/전자책
- 강의/교육/컨설팅
- 복지사업/프로그램/행사
- SaaS/앱/웹서비스
- 오프라인 매장/클래스
- 상품/굿즈/패키지
- 커뮤니티/멤버십
- 채용/모집/캠페인
목표는 단순 아이디어 제안이 아니라 실제 업로드 가능한 SNS 콘텐츠 산출물을 만드는 것이다.
0. 기본 원칙
- 전환 목표부터 잡는다
- 구매, 신청, 문의, 예약, 방문, 다운로드, 댓글, DM, 팔로우 중 무엇이 목표인지 정한다.
- 플랫폼에 맞게 만든다
- YouTube Shorts/Reels/TikTok: 9:16 세로, 8~20초, 강한 첫 문장
- YouTube long-form/랜딩페이지: 16:9 가로, 1
3분 미니 롱폼 또는 58분 롱폼
- 자막은 플랫폼 UI를 피한다
- 쇼츠/릴스 하단 기본 정보 영역을 피한다.
- 기본은 상단/중상단 안전영역.
- 한국어 텍스트는 후반 합성한다
- 생성 모델에 한국어 텍스트를 직접 맡기지 않는다.
ffmpeg + .ass 자막으로 정확하게 합성한다.
- 검증 없는 납품 금지
ffprobe로 해상도/길이/오디오 스트림 확인.
- 프레임 추출 후 필요 시
vision_analyze로 가독성 검수.
- 하나의 소재를 여러 포맷으로 재활용한다
- 쇼츠 광고
- 릴스 광고
- 스토리/피드용 짧은 영상
- 16:9 미니 롱폼
- 랜딩페이지 삽입 영상
- 상세페이지 영상
1. 아이템 브리프 작성
사용자가 자료를 충분히 주지 않아도 기본값으로 진행하되, 전환 목표가 완전히 불명확하면 한 번만 묻는다.
정리할 항목:
| 항목 | 질문 |
|---|
| 홍보 대상 | 무엇을 알리거나 팔 것인가? |
| 타깃 | 누가 봐야 하는가? |
| 문제/욕망 | 고객은 어떤 문제나 욕망이 있는가? |
| 핵심 약속 | 이 아이템이 무엇을 해결해주는가? |
| 증거 | 후기, 수치, 사례, 이미지, 결과물이 있는가? |
| CTA | 시청자가 뭘 해야 하는가? |
| 톤 | 신뢰형, 바이럴형, 프리미엄형, 친근형, 공공기관형 등 |
| 플랫폼 | 쇼츠, 릴스, 틱톡, 유튜브, 랜딩페이지 등 |
브리프 템플릿:
홍보 대상: [아이템]
타깃: [핵심 고객]
전환 목표: [신청/구매/문의/다운로드 등]
핵심 문제: [고객이 겪는 문제]
핵심 약속: [아이템이 제공하는 변화]
증거/소재: [후기/이미지/영상/수치]
CTA: [구체적 행동]
톤: [바이럴/신뢰/프리미엄/친근 등]
2. 메시지 구조 만들기
SNS 홍보 영상의 기본 구조는 다음이다.
8~15초 쇼츠 구조
0.0~1.5초: 스크롤 정지 훅
1.5~4.0초: 문제/공감
4.0~7.0초: 해결/차별점
7.0~10.0초: CTA
30~60초 설명형 구조
1. 훅
2. 고객 문제
3. 왜 지금 필요한가
4. 아이템 소개
5. 구체적 효과/사례
6. CTA
1~3분 미니 롱폼 구조
1. 강한 질문/문제 제기
2. 고객이 흔히 하는 실수
3. 새로운 관점 제시
4. 아이템이 해결하는 방식
5. 구체 예시 2~3개
6. 신뢰 요소
7. CTA
3. A/B/C 콘셉트 설계
홍보 영상은 가능하면 3방향으로 잡는다.
| 버전 | 이름 | 목적 | 톤 |
|---|
| A | Safe Ad | 안정적 정보 전달 | 정석 광고형 |
| B | Viral Hook | 스크롤 정지/클릭 유도 | 강한 후킹 |
| C | Trust/Premium | 신뢰·권위 형성 | 프리미엄/브랜드형 |
각 콘셉트마다 다음을 쓴다.
버전:
한 줄 콘셉트:
첫 1초 훅:
장면 구성:
자막 카피:
내레이션 방향:
CTA:
적합 플랫폼:
선택 기준:
- 바이럴/리드 확보: B 우선
- 고관여/B2B/대표 대상: C 강하게 검토
- 공공기관/복지/행사 안내: A 또는 신뢰형 C
4. 쇼츠/릴스 자막 작업
1) 영상 정보 확인
ffprobe -v error \
-show_entries format=duration:stream=width,height,r_frame_rate \
-of json input.mp4
2) 음성 인식
한국어 영상은 faster_whisper를 우선 사용한다.
from faster_whisper import WhisperModel
path = "input.mp4"
model = WhisperModel("small", device="cpu", compute_type="int8")
segments, info = model.transcribe(path, language="ko", vad_filter=True, beam_size=5)
for s in segments:
print(f"{s.start:.2f}\t{s.end:.2f}\t{s.text.strip()}")
주의:
- 자동 인식 오타는 문맥상 보정한다.
- 문장은 SNS 자막용으로 짧게 다듬는다.
- 한 화면에는 1~2문장만 둔다.
3) 프레임 추출 후 위치 판단
ffmpeg -y -ss 3.0 -i input.mp4 -frames:v 1 frame_check.jpg
vision_analyze로 질문한다.
이 세로 영상 프레임에서 쇼츠/릴스 하단 기본 UI에 가리지 않으면서 주요 화면 요소를 덜 가리는 자막 위치를 판단해줘.
기본 위치:
- 하단 25~30%는 피한다.
- 얼굴/상품/책 표지를 가리지 않는다.
- 상단에 얼굴이 있으면 중상단.
- 하단에 제품/CTA가 있으면 상단 안전영역.
4) ASS 자막 스타일
권장 스타일:
[Script Info]
ScriptType: v4.00+
PlayResX: 720
PlayResY: 1280
ScaledBorderAndShadow: yes
YCbCr Matrix: TV.709
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: ShortsTop,Pretendard ExtraBold,50,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,-1,0,0,0,100,100,-1,0,1,5,2,8,55,55,95,1
Style: ShortsBottomSafe,Pretendard ExtraBold,54,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,-1,0,0,0,100,100,-1,0,1,5,2,2,55,55,360,1
강조색:
- 핵심 키워드:
&H00FFF04A& 노랑
- CTA/무료/혜택:
&H0000E8FF& 시안
- 기본: 흰색 + 검은 외곽선
5) 렌더링
ffmpeg -y -i input.mp4 \
-vf "subtitles=captions.ass:fontsdir=/Users/macbook15-platform/Library/Fonts" \
-c:v libx264 -preset medium -crf 18 \
-c:a aac -b:a 192k \
-movflags +faststart \
output_safe_shorts.mp4
6) 검증
ffprobe -v error \
-show_entries format=duration,size \
-show_entries stream=codec_type,width,height \
-of json output_safe_shorts.mp4
중간 프레임 확인:
ffmpeg -y -ss 3.0 -i output_safe_shorts.mp4 -frames:v 1 subtitle_check.jpg
5. 짧은 영상 → 미니 롱폼 확장
사용자가 “롱폼으로 만들어줘”라고 하면 기본값은 다음이다.
- 원본이 8
20초 쇼츠면: **13분 16:9 미니 롱폼**으로 확장
- 사용자가 “진짜 롱폼/유튜브 본편”이라고 하면: 5~8분 구성안 + 대본부터 제안
미니 롱폼 레이아웃
권장 1920×1080 구조:
- 왼쪽: 큰 메시지 텍스트
- 오른쪽: 원본 세로 영상을 휴대폰 mockup처럼 배치
- 배경: 원본 프레임 블러
- 하단: 핵심 슬로건 + CTA
슬라이드 구성 예시
1. 고객이 멈춰 볼 질문
2. 흔한 실수/문제
3. 왜 지금 필요한가
4. 아이템 소개
5. 구체적 효과/사례 1
6. 구체적 효과/사례 2
7. 신뢰/차별점
8. CTA
내레이션 작성 원칙
- 첫 문장은 질문형.
- 고객의 현재 문제를 먼저 말한다.
- 아이템명은 너무 빨리 꺼내지 말고 문제 인식 뒤에 소개한다.
- CTA는 마지막 2문장 안에 넣는다.
- 과장·미검증 수치 금지.
6. 자연스러운 음성 교체 — Higgsfield
나인스톤이 “힉스필드에서 자연스러운 음성으로 바꿔줘”라고 하면 Higgsfield voice_change를 사용한다.
1) CLI 확인
command -v higgsfield
higgsfield --help
2) 보이스 확인
higgsfield voices list --size 50 --json
기본 추천:
- 남성 비즈니스/광고 톤:
Mark
- 차분한 전문가 톤:
Roman, Sterling, Julian
- 밝은 여성 톤:
Hana, Maya, Ava, Nora
Mark voice id 예시:
27c04473-84a9-4b60-a41f-c8e8458bd4f1
3) 원본 영상 업로드
higgsfield upload create input.mp4 --json
4) voice_change 실행
중요: 업로드된 입력 비디오는 type을 video_input으로 넘긴다.
higgsfield generate create voice_change \
--input_video '{"id":"UPLOAD_ID","type":"video_input"}' \
--voice_id VOICE_ID \
--voice_type preset \
--wait --wait-timeout 10m --wait-interval 10s \
--json
5) 결과 다운로드
curl -L 'RESULT_URL' -o output_higgsfield_voice.mp4
6) 검증
ffprobe -v error \
-show_entries format=duration,size \
-show_entries stream=index,codec_type,codec_name,width,height \
-of json output_higgsfield_voice.mp4
음량 확인:
ffmpeg -i output_higgsfield_voice.mp4 \
-af volumedetect -vn -sn -dn -f null - 2>&1 | tail -20
원본과 음성이 달라졌는지 확인:
ffmpeg -y -i original.mp4 -vn -ac 1 -ar 16000 /tmp/orig.wav
ffmpeg -y -i output_higgsfield_voice.mp4 -vn -ac 1 -ar 16000 /tmp/higgs.wav
shasum -a 256 /tmp/orig.wav /tmp/higgs.wav
7. 콘텐츠 제작 리뷰 프레임
작업 후 리뷰 요청이 오면 다음 구조를 사용한다.
전체 흐름
| 단계 | 작업 | 결과 |
|---|
| 1 | 소재 확보 | 원본 영상/이미지/카피 |
| 2 | 메시지 추출 | 핵심 문제/약속/CTA |
| 3 | 쇼츠 자막 | 플랫폼 UI 회피 |
| 4 | 스타일링 | 핵심어 컬러 강조 |
| 5 | 포맷 확장 | 쇼츠/롱폼/랜딩 영상 |
| 6 | 음성 개선 | TTS 또는 Higgsfield |
| 7 | 검증 | 해상도/길이/오디오/가독성 |
평가 항목
| 항목 | 볼 것 |
|---|
| 타깃 적합성 | 누가 봐야 하는지 명확한가 |
| 훅 | 첫 1초에 멈출 이유가 있는가 |
| 메시지 | 하나의 약속이 남는가 |
| 증거 | 사례/후기/수치/장면이 있는가 |
| CTA | 다음 행동이 구체적인가 |
| 재활용성 | 다른 포맷으로 확장 가능한가 |
개선 방향
- 사례를 더 넣는다.
- CTA를 행동 중심으로 바꾼다.
- 훅을 문제형/반전형/숫자형으로 A/B 테스트한다.
- 같은 소재를 문제 자극형, 해결 제안형, 사례 증명형으로 나눈다.
8. 7일치 콘텐츠 캘린더 기본 구조
홍보 아이템 하나를 받으면 7일치로 확장할 수 있다.
| Day | 콘텐츠 축 | 목적 |
|---|
| 1 | 문제 자극 | 공감/스크롤 정지 |
| 2 | 흔한 실수 | 위기감 |
| 3 | 해결 관점 | 방법론 각인 |
| 4 | 사용 사례 | 구체화 |
| 5 | 후기/증거 | 신뢰 |
| 6 | 비교/차별점 | 선택 이유 |
| 7 | CTA 집중 | 전환 |
각 날짜별로 다음을 만든다.
제목:
첫 1초 훅:
자막 카피:
영상 장면:
내레이션:
CTA:
9. 납품 메시지 템플릿
쇼츠 납품
나인스톤, 홍보 쇼츠 완성했어요.
- 아이템: [아이템]
- 콘셉트: [문제 자극/바이럴 훅/신뢰형]
- 길이: [길이]
- 비율: 9:16
- CTA: [CTA]
- 검증: 해상도/오디오/자막 위치 확인 완료
MEDIA:/path/to/output.mp4
미니 롱폼 납품
나인스톤, 미니 롱폼 버전 만들어뒀어요.
- 원본: [원본 소재]
- 변환본: [길이] / 16:9
- 구성: 훅 → 문제 → 해결 → 사례 → CTA
- 검증: 1920×1080 / 오디오 포함 / mp4 정상 생성
MEDIA:/path/to/longform.mp4
힉스필드 음성 납품
나인스톤, 힉스필드 보이스로 자연스럽게 바꾼 버전 만들었어요.
- 처리 방식: Higgsfield voice_change
- 보이스: [보이스명]
- 길이: [길이]
- 형식: [해상도] / mp4
- 검증: 오디오 스트림 정상, 음량 정상
MEDIA:/path/to/higgsfield_voice.mp4
10. 아이템별 CTA 예시
| 아이템 | CTA 예시 |
|---|
| 책/전자책 | 무료 미리보기 받기 / 구매 링크 확인 |
| 강의/교육 | 수강 신청하기 / 무료 설명회 신청 |
| 컨설팅 | 상담 신청하기 / 진단 신청하기 |
| 복지사업 | 참여 신청하기 / 문의하기 |
| 행사 | 사전 신청하기 / 일정 확인하기 |
| 상품 | 지금 구매하기 / 혜택 확인하기 |
| 앱/SaaS | 무료 체험 시작하기 / 데모 보기 |
| 커뮤니티 | 멤버십 신청하기 / 대기자 등록 |