
안녕하세요, 자바파커입니다.
개발 이야기를 짧은 영상으로 만들어 유튜브 숏츠에 올리고 싶었습니다. 그런데 문제가 하나 있었죠.
"촬영 장비도 없고, 영상 편집도 할 줄 모르는데 어떻게 만들지?"
결론부터 말씀드리면 — 얼굴 노출도, 촬영도, 편집 프로그램도 없이 개발 숏츠를 만들 수 있었습니다. AI 영상 생성(Veo), 약간의 ffmpeg, 그리고 제가 직접 만든 로컬 편집기로요.
이 글에서는 "API가 뭐예요?", "프론트엔드 vs 백엔드" 같은 입문 개발 숏츠를 만든 전체 과정을 공유합니다. 특히 요청이 많았던 실제 프롬프트 원문을 전부 공개합니다.
👉 직접 따라 만들고 싶다면? 이 글은 "왜·어떻게"를 다루는 제작기입니다. 순서대로 손을 움직이는 실습은 30분 만에 따라 만드는 개발 숏츠 실습편을 보세요.
전체 워크플로우 — 4단계
먼저 큰 그림입니다.
대본 설계 → Veo로 영상 생성 → ffmpeg로 자막·인트로·아웃트로 합성 → 편집기에서 다듬고 렌더| 단계 | 도구 | 핵심 |
|---|---|---|
| 1. 대본 | 비유 하나 | "식당으로 5초 컷" 같은 훅 |
| 2. 영상 | Veo 3 | 프롬프트로 8초 클립 생성(음성 포함) |
| 3. 합성 | ffmpeg + ASS 자막 | 자막·인트로·아웃트로·BGM 자동 번인 |
| 4. 편집 | 직접 만든 로컬 웹 편집기 | 타임라인 드래그로 미세 조정 후 렌더 |
하나씩 뜯어보겠습니다.
1단계. 대본 — "비유 하나로 끝내기"
입문 숏츠의 핵심은 어려운 개념을 일상 사물에 빗대는 것입니다. 설명하지 말고 보여주세요.
제가 쓴 60초 공식은 이렇습니다.
| 구간 | 시간 | 역할 |
|---|---|---|
| 훅 | 0–3초 | 스크롤 멈추게 (질문 or "○○만 알면 끝") |
| 공감 | 3–10초 | "나도 궁금했어" |
| 비유 | 10–35초 | 핵심 1개를 일상 사물에 매핑 |
| 정리 | 35–48초 | 한 줄 요약 |
| 다음 훅 | 48–55초 | 다음 편 유도 / 루프 |
예를 들어 "프론트엔드 vs 백엔드"는 이렇게 잡았습니다.
- 홀(손님이 보는 곳) = 프론트엔드
- 주방(안 보이는 곳) = 백엔드
- 마지막 자막: "보이면 프론트, 안 보이면 백엔드! 그럼 API는?" → 다음 편(“API=웨이터”)으로 연결
💡 가장 중요한 건 앞 3초입니다. 로고 인트로로 시작하면 시청자는 바로 넘깁니다. 첫 프레임부터 질문을 던지세요.
2단계. Veo 영상 프롬프트 (원문 공개)
Veo 3는 텍스트 → 영상을 만들면서 나레이션·효과음까지 함께 생성합니다. 여기서 배운 것들을 정리합니다.
프롬프트 구조
좋은 영상 프롬프트에는 아래 요소가 들어갑니다.
[피사체] + [동작] + [배경] + [카메라] + [스타일/조명] + [오디오] + [자막 금지]실제로 쓴 훅 샷 프롬프트입니다(세로 9:16).
Vertical 9:16, cinematic. A cozy modern restaurant at golden hour. Warm
ambient lighting, shallow depth of field, film grain. Camera slowly pushes
in toward an empty table set for one, building quiet anticipation.
Audio: gentle restaurant ambience, soft chatter, light jazz.
Narrator (warm, friendly Korean male voice, early 30s, calm and clear):
"개발자들이 맨날 말하는 그거, API."
No subtitles, no captions, no on-screen text, no watermark. 8 seconds.Veo 오디오, 함정 3가지
- 자막이 멋대로 박힘 — 대사를 넣으면 영어 캡션을 태워버립니다. 프롬프트 끝에
no subtitles, no captions, no on-screen text는 필수입니다. - 클립마다 목소리가 달라짐 — 5개 클립을 따로 뽑으면 나레이터 톤이 튑니다. → 목소리 묘사(
warm, friendly Korean male voice, early 30s...)를 모든 프롬프트에 글자 하나 안 바꾸고 복붙하세요. - 한국어 발음이 가끔 어색함 — 튀는 클립만 무대사로 다시 뽑고, 나레이션은 후반 TTS로 교체하는 게 안전합니다.
캐릭터 일관성 = 이미지 레퍼런스
텍스트만으로 여러 클립을 뽑으면 등장인물이 매번 바뀝니다. 이게 AI 영상의 최대 난제입니다. 해결책은 캐릭터 레퍼런스 이미지 1장을 먼저 확정하고, 그 이미지를 Veo의 이미지 입력에 매 샷 물리는 것(image-to-video)입니다. 일관성의 90%가 여기서 결정됩니다.
그리고 아래 블록 3개를 매 샷 프롬프트에 그대로 붙여 재사용했습니다.
[STYLE] Cinematic 3D animated film look, soft global illumination, shallow
depth of field, cozy warm lighting with teal/cyan neon accents, 8K, 9:16.
[VOICE] Narrator (warm, friendly Korean male voice, early 30s, calm and clear,
off-screen voiceover):3단계. ffmpeg로 자막·인트로·아웃트로 합성
Veo가 뱉은 8초 클립 5개를 이어 붙이고, 자막과 인트로/아웃트로를 입혀야 합니다. 여기서 AI 영상 툴의 한계가 하나 더 있습니다 — 화면에 정확한 한글 자막·코드를 못 그립니다. 그래서 자막은 AI가 아니라 후반에 직접 번인합니다.
Windows에서 ffmpeg의 drawtext로 한글을 넣으려면 이스케이프 지옥이라, ASS 자막(libass) 방식이 훨씬 깔끔합니다. 한글 폰트·페이드·색상·위치가 자유롭거든요.
# 클립 이어붙이기 + ASS 자막 번인 (개념)
ffmpeg -i 1.mp4 -i 2.mp4 ... \
-filter_complex "[0:v][0:a][1:v][1:a]...concat=n=5:v=1:a=1[cv][a];\
[cv]subtitles=captions.ass[vo]" \
-map "[vo]" -map "[a]" out/short.mp4인트로/아웃트로 카드는 HTML로
로고·구독 유도 카드는 HTML + Playwright로 렌더해 PNG로 뽑았습니다. AI가 글자를 못 그리는 문제를 피하면서, 다크 톤 그라데이션·글래스모피즘을 그대로 쓸 수 있어서요. (이 방식은 HTML과 Playwright로 블로그 이미지 자동 생성하기 글에서 자세히 다뤘습니다.)
썸네일도 자동화
숏츠 커버는 홀 vs 주방 대비 구도로 만들었습니다. 왼쪽 절반은 다이닝 홀, 오른쪽 절반은 주방 스틸을 깔고, 가운데 시안 라인 + 초대형 "프론트엔드 VS 백엔드" 타이포. 주제가 0.5초에 읽히게요. 이 스틸은 본편 영상에서 프레임을 추출해 썼습니다.
4단계. 나만의 로컬 웹 편집기 만들기
여기까지 오니 매번 captions.json을 손으로 고치고 전체 렌더를 다시 돌려야 했습니다. 불편했죠. 그래서 전용 편집기를 직접 만들었습니다.
CapCut 같은 범용 편집기도 있지만, 제 숏츠는 "클립 5개 + 키워드 자막 + 고정 인트로/아웃트로"라는 정형 포맷이라 전용 편집기가 훨씬 빠릅니다.
설계 — 의존성 0
핵심 아이디어는 미리보기는 즉시, 최종 렌더만 무겁게입니다.
[브라우저 편집기] ←→ [작은 Node 서버] ←→ [ffmpeg + Edge headless]
실시간 자막 오버레이 API 최종 렌더 / 썸네일 PNG- 미리보기: 클립을 이어붙인 저해상 영상 위에 자막을 HTML/CSS로 오버레이. 텍스트·시간·색을 바꿔도 재렌더 없이 즉시 반영.
- 최종 렌더: 버튼을 누르면
ffmpeg로 자막을 번인. - 썸네일 PNG: Windows 기본 Edge를 헤드리스로 호출해 생성(
--headless=new --screenshot). 별도 라이브러리 설치 없이요.
Node 내장 http 모듈만 썼습니다. npm 의존성이 하나도 없습니다.
만든 기능
- 타임라인 드래그 편집 — 자막 블록을 끌어 이동, 양끝을 끌어 길이 조절 (숫자 입력 대신)
- 미리보기에서 직접 조작 — 영상 위 자막을 드래그해 위치 이동, 모서리 핸들로 크기 조절
- 자막별 색·위치·크기·글꼴 개별 지정
- 클립 순서 변경/트리밍, BGM 트랙/볼륨
- 저장 상태 표시 + 버전 스냅샷(중요한 시점을 남겨 되돌리기)
정형 포맷이라 새 편은 영상 폴더와 자막 설정만 준비하고 버튼 한 번이면 끝납니다.
조회수를 올리는 5가지 포인트
만들면서 정리한, 개발 숏츠에서 특히 중요한 것들입니다.
- 앞 3초 — 로고 인트로 금지. 첫 프레임부터 질문 자막.
- 브랜드 일관성 — 인트로·본편·아웃트로의 톤과 캐릭터를 통일. 세계관이 바뀌면 이탈합니다.
- 전용 썸네일 — 커버만 봐도 주제(프론트 vs 백엔드)가 읽히게.
- 루프/다음 편 훅 — 끝에서 다음 질문을 던져 재시청·연속 시청 유도.
- 상시 자막 — 무음으로 보는 시청자가 많습니다. 키워드는 항상 화면에.
마치며
정리하면, 개발 숏츠 한 편은 이렇게 만들어집니다.
- 비유 하나로 대본을 잡고
- Veo 프롬프트로 8초 클립을 뽑고
- ffmpeg로 자막·인트로·아웃트로를 입히고
- 직접 만든 편집기에서 다듬어 렌더
촬영도, 편집 프로그램 구독도 없이 개발 이야기를 영상으로 옮길 수 있다는 게 저에겐 꽤 큰 발견이었습니다. 다음 편에서는 캐릭터 마스코트를 본편까지 등장시켜 세계관을 통일한 과정을 공유하려 합니다.
블로그 글을 영상으로 재활용하는 또 다른 방법이 궁금하시면 블로그 글을 유튜브 영상으로 만드는 법도 함께 보세요.
🔒 보너스 — 비밀 콘텐츠
본문에서 소개한 Cody 세계관 전체 샷 프롬프트 팩과 편집기 구조 노트는 비밀번호로 여는 비밀 콘텐츠로 따로 공개합니다.
👉 비밀 콘텐츠 열기 — 비밀번호가 필요합니다.
비밀번호는 뉴스레터/커뮤니티에서 안내드립니다. (정적 사이트에서도 원문을 AES 암호화해 담아, 비밀번호를 알아야 복호화됩니다.)
자주 묻는 질문 (FAQ)
Q. Veo 없이도 만들 수 있나요? 네. Runway, Kling, Sora 등 다른 AI 영상 툴로 대체할 수 있습니다. 다만 툴마다 오디오 생성 여부·한국어 지원이 달라서, 대사는 후반 TTS로 넣는 방식이 가장 안정적입니다.
Q. 자막을 왜 AI 영상에 직접 안 넣나요?
Veo/Sora/Kling 같은 툴은 화면에 정확한 한글이나 코드를 못 그립니다(글자가 뭉개짐). 그래서 배경 영상만 AI로 만들고, 자막·코드·핵심 문구는 후반에 ffmpeg(ASS 자막)로 번인하는 게 정석입니다.
Q. 편집기를 꼭 만들어야 하나요? 아닙니다. CapCut 같은 범용 편집기로 충분히 시작할 수 있습니다. 다만 같은 포맷의 영상을 반복 제작한다면, 전용 편집기가 시간을 크게 아껴줍니다.
Q. 얼굴 노출이 꼭 필요한가요? 아니요. 이 방식은 전부 얼굴 없이(faceless) 만듭니다. 나레이션은 AI 음성 또는 TTS로 대체합니다.
Q. 클립 길이는 왜 8초인가요? Veo 3의 기본 출력 단위가 8초입니다. 그래서 처음부터 8초 단위로 대본을 쪼개 설계하면 툴과 싸우지 않고 매끄럽게 이어집니다.