서비스 소개 영상 스킬 v2 — 로컬 남녀 목소리 + 받아 적기 검수 + 무음 없는 렌더 (Claude Code)
본문을 복사해 AI 도구에서 실행하세요
-
STEP 1
아래 본문에서 역할, 목적, 입력값, 출력 형식을 확인합니다.
-
STEP 2
ChatGPT, Claude, Gemini, Codex의 대화창이나 프로젝트 지침에 붙여넣습니다.
-
STEP 3
예시 입력값을 내 업무 정보로 바꾼 뒤 실행하고 결과를 검토합니다.
스킬 파일 제공
구매하시면 SKILL.md, 스크립트, 템플릿, 설치 안내(README.md)가 담긴 압축 파일을 받으실 수 있습니다. ~/.claude/skills/에 풀고 README 의 설치 명령(npm·pip)을 실행하면 됩니다.

서비스 소개 영상을 만들 때 시간이 가장 많이 드는 곳은 편집이 아니라 되돌아가기입니다. 다 만든 뒤에 목소리가 어색하거나, 장면 사이가 비어 늘어지거나, 한 글자가 뭉개진 걸 발견하면 처음부터 다시 렌더해야 합니다.
intro-video v2는 Claude Code 에 "소개 영상 만들어줘"라고 하면 조사 → 콘티·나레이션 → 목소리 → 장면 점검 → 렌더 → 업로드까지 단계마다 확인받으며 진행하는 스킬입니다. 2026-09-24 에 올린 v1 을 실제 영상 여러 편을 만들며 고친 버전입니다.
v1 대비 달라진 점
| 항목 | v1 (09-24) | v2 (09-30) |
|---|---|---|
| 나레이션 음성 | edge-tts (네트워크 필요) | Supertonic 3 로컬 음성. 남 M2(1.1배) / 여 F1(1.0배)을 고르고, 같은 장면으로 남녀 두 버전을 만들 수 있습니다. edge-tts 도 계속 쓸 수 있습니다. |
| 음성 검수 | 사람이 끝까지 들어서 확인 | 받아 적기 검수(verify_tts.py). Whisper 로 받아 적어 대본과 비교하고, 끝 글자가 빠졌거나 뭉개진 장면은 속도를 조금 낮춰 자동으로 다시 만듭니다. |
| 목소리 사고 방지 | 없음 | 목소리 이름을 검사하고, 만든 뒤 음높이로 남녀가 맞는지 확인합니다. 틀리면 멈춥니다. |
| 장면 길이 | 정해 둔 초. 음성이 길 때만 늘려서 장면 사이에 2~4초 무음 | --tight: 장면 = 음성 + 약 0.5초. 애니메이션은 줄어든 길이에 맞춰 자동으로 압축됩니다. |
| 기본 스타일 | 화면 캡처 + 확대 이동 + 자막 | 밝은 톤 모션그래픽. 기능을 단순한 그래픽으로 보여 주는 16:9 공통 CSS 포함. 캡처형도 그대로 쓸 수 있습니다. |
| 단계 | 질문 → 캡처 → 콘티 → 음성 → 렌더 | + 내용 조사(근거 없는 수치·가짜 후기 금지, 실데이터 노출 방지) + 업로드 단계(유튜브 공개 확인·썸네일 재시도) + 함정 목록 확장 |
| 예제 | 60초 캡처형, 30초 쇼츠 | + 2장면 빠른 시작 예제. 설치 직후 명령 세 줄로 첫 mp4 가 나옵니다. |
왜 이렇게 바꿨나
- 받아 적기 검수: 여자 목소리 1.1배로 만든 영상에서 "30초쯤 음성이 씹힌 것 같다"는 피드백을 받았습니다. 확인해 보니 합성 단계에서 "알려요"가 "알려"로, "주간보호"가 "주간보"로 끝 글자를 삼키고 있었습니다. 사람이 끝까지 들어야만 알 수 있던 문제를 이제 스크립트가 장면 단위로 잡습니다(그 3장면을 정확히 잡는 것 확인).
- 목소리 검사: 남자 목소리를 지정했는데 여자 목소리로 나간 적이 있습니다. 목소리 이름이 틀리면 조용히 기본값으로 바뀌는 구조였기 때문입니다.
- --tight: "장면 사이 쉼이 너무 길다"는 피드백. 60초로 짠 콘티가 무음 없이 35초 안팎으로 줄었습니다.
- 밝은 톤 모션그래픽: 캡처형은 글씨가 작고 빽빽해 "조잡해 보인다"는 평을 받아 기본값을 바꿨습니다.
필요한 것
| 항목 | 용도 | 비고 |
|---|---|---|
| Claude Code | 스킬 실행 | |
| Node.js 18 이상 | 렌더·캡처 스크립트 | 검증: v24 |
| Playwright + Chromium | HTML 장면을 프레임 단위로 캡처 | 스킬 폴더에서 npm i 로 설치 |
| ffmpeg | 합성·인코딩 | 검증: 6.1 |
| Python 3.10 이상 | 음성 생성·검수 | 검증: 3.12 |
| supertonic, soundfile, numpy | 로컬 한국어 음성 | 첫 실행 때 모델 약 390MB 자동 다운로드 |
| faster-whisper | 받아 적기 검수 | 첫 실행 때 모델 약 1.6GB 자동 다운로드 |
| 한글 글꼴(Noto Sans CJK 등) | 캡처형 자막·엔드카드 | Ubuntu: fonts-noto-cjk |
| 인터넷 | 모델 첫 다운로드, 장면의 웹폰트 | 음성 합성 자체는 오프라인 |
- GPU 는 필요 없습니다. CPU 만으로 동작합니다.
- 디스크: 모델 두 개 합쳐 약 2GB + Chromium.
- Linux(Ubuntu 24.04)에서 검증했습니다. macOS 는 직접 확인하지 않았습니다.
- 유튜브·스레드 업로드 단계는 본인이 쓰는 업로드 도구·API 키가 있을 때만 해당합니다(스킬에 키는 들어 있지 않습니다).
실측
12스레드 CPU, GPU 미사용 PC 기준입니다.
- 11문장 나레이션 생성: 약 20초
- 받아 적기 검수 11문장: 약 1분
- 16:9 39초 영상(11장면) 최종 렌더: 약 20초, 2.6MB
- 목소리만 바꾼 두 번째 버전: 약 20초
설치와 첫 영상
유료 프롬프트의 전문과 복사용 프롬프트는 구매자에게만 제공됩니다. 공개 본문에서는 구성, 활용 범위, 업데이트 내역만 확인할 수 있습니다.
그다음부터는 Claude Code 에 "소개 영상 만들어줘"라고 하면 스킬이 형식·용도·규격·목소리를 먼저 묻고 단계별로 진행합니다. "여자 버전도 만들어줘"라고 하면 장면은 그대로 두고 목소리만 바꿔 다시 만듭니다.
구성
| 파일 | 내용 |
|---|---|
| SKILL.md | 단계별 절차, 기본 스타일, 실제로 겪은 함정, 실측 |
| README.md | v1 대비 변경점, 요구 사항, 설치, 빠른 시작 |
| scripts/tts.mjs | 장면별 나레이션 생성, --tight / --fit |
| scripts/supertonic_tts.py | 로컬 음성 한 문장 + 목소리·성별 검사 |
| scripts/verify_tts.py | 받아 적기 검수 + 자동 재합성 |
| scripts/render.mjs, html-clip.mjs | 장면 캐시 렌더, HTML 애니메이션 프레임 캡처 |
| scripts/capture.mjs, contact-sheet.sh | 실제 화면 캡처형, 썸네일 시트 |
| templates/ | 밝은 톤 16:9 CSS, 빠른 시작 예제, 캡처형 60초·9:16 쇼츠 예제, 콘티 예시 |
v1 을 구매하신 분은 폴더를 v2 로 덮어쓰면 됩니다. edge-tts 설정으로 만든 기존 scenes.json 도 그대로 동작합니다.