작업 요약
프로젝트 분석: 물결님께서 나눔해주셨던 파일들의 역할을 클로드 코드로 분석했습니다.
컨텐츠 초기화: 안티그래비티로 진행하다가 너무 느려서 포기했었어요. 임의로 설정한 잔여 작업들이 남아 있는 상태라서 완전 초기화를 했습니다.
립싱크 스킬 생성: 제가 원하는 영상에는 대사와 입 모양의 싱크가 맞아야 하는 기능이 필요해서 클로드에게 검색을 시켰습니다. 클로드가 fal.ai 내에 립싱크 기능이 있음을 알려주어서 해당 기능을 사용할 수 있도록 스킬 생성을 시켰습니다.
에셋 제작 방향 전환 (fal.ai → 프리픽): 제대로 작동하는 지 테스트를 하려는 과정에서 fal.ai의 크레딧 충전이 필요해서 결제를 하려다가 최소 금액이 20$로 설정되어 있어서 중단했습니다. 그리고 프리픽의 프리미엄 플랜과 프리미엄+ 플랜 월 구독료와 fal.ai의 비용 효율성을 논의했습니다. 결국 프리픽이 더 효율적이라 판단하고 프리미엄+ 결제로 선택했습니다.
드라마 설정 구조 6개 파일 생성: 프리픽으로 전환한 상태에서 모든 파일들을 다시 분석했고, 기존 파일들은 한 주제에 영상 한편으로 끝나는 구조라는 점을 발견했습니다. 그래서 연재될 수 있는 구조로 바꾸었습니다.
1. 프로젝트 폴더 분석
Antigravity에서 진행하려니 너무 느려서 Claude Code(VSCode)에서 진행하기로 했습니다.
제일 먼저 물결님께서 나눠주신 폴더의 구조와 각 파일의 역할에 대해서 분석했습니다.
줌 채팅에서 이 파일들의 용도를 궁금해 하시는 분들이 많았고, 저 또한 원리를 모르면 진행이 되지 않는 성격이라 😅 뭔가 쓸데없어 보이지만 일단 클로드에게 물어 보았습니다.
아래는 클로드 코드가 분석해준 물결님의 폴더 구조입니다.
프로젝트 구조 요약
kkulim-video/
├── config.yaml ← 전체 설정 (모델, 해상도, API 키)
├── .env ← API 키 실제 값
├── requirements.txt ← Python 의존성
├── CLAUDE.md / README.md / QUICKSTART.md / DEVELOPMENT.md ← 문서
│
├── agents/ ← 두뇌 (판단 + 오케스트레이션)
│ ├── world-builder/ ← 채널 설명 → 세계관/캐릭터/스타일 YAML
│ ├── edit-director/ ← 편집 방향 → 자막/전환/오디오 규칙
│ ├── scenario-writer/ ← 주제 한 줄 → 3~4씬 시나리오
│ ├── prompt-engineer/ ← 시나리오 → 영어 이미지/영상 프롬프트
│ ├── asset-producer/ ← 프롬프트 → 이미지+영상+나레이션 생성
│ ├── video-editor/ ← 에셋 → 최종 MP4 조립 (Remotion/ffmpeg)
│ └── pipeline-master/ ← 위 4개 순차 체이닝
│
├── skills/ ← 손발 (외부 API 호출)
│ ├── nano-banana/ ← 이미지 생성 (fal.ai, 2K, 9:16)
│ ├── fal-video/ ← 영상 생성 (Grok Imagine Video, 6~15초)
│ ├── typecast/ ← 한국어 TTS 나레이션
│ ├── grok-image/ ← 이미지 생성/편집 (보조, xAI)
│ ├── remotion/ ← 영상 렌더링 (자막/전환효과/애니메이션)
│ └── whisper/ ← 단어별 타이밍 추출 (자막 싱크)
│
├── contents/ ← 세계관 출력 (world-builder)
├── edit-rules/ ← 편집 규칙 출력 (edit-director)
├── episodes/ ← 에피소드별 작업 폴더
├── templates/ ← 에피소드 프리셋 (daily-comedy, drama, info-explainer)
├── scripts/ ← 유틸리티 (build-dist.py)
├── examples/ ← 사용 예제 문서
└── docs/ ← 작업일지 (이 파일)
skills 폴더 아래 구조를 보시면 라이브 때 언제 어떤 모델을 쓰는 지 궁금하셨던 분들의 궁금증이 해소될 것 같습니다.
나노바나나: 이미지 생성
그록: 영상 생성
타입캐스트: 나레이션 생성
리모션: 영상편집
위스퍼: 자망싱크
궁금증이 많은 저는 이참에 Remotion에 대해서도 설명해달라 했습니다.
궁금한 건 물어봐야 직성이 풀리는 성격인데 나름 또 내향인이라 손들고 질문은 잘 못해요.
그래서 제가 클로드를 참 사랑합니다. 🫶
Remotion 렌더링이란?
React로 영상을 만드는 프레임워크.
이 프로젝트에서는:
카라오케 자막 — whisper 타이밍 기반, 단어별 하이라이트
훅 배너 — 영상 상단 시선 끌기 텍스트
전환 효과 — fade_in, crossfade, fade_out
Ken Burns 효과 — 정지 이미지에 줌인/패닝
ffmpeg보다 풍부한 효과를 입혀서 숏폼처럼 꾸며주는 마지막 단계
2. 컨텐츠 초기화
이전 작업을 Antigravity에서 진행하다 중단했기 때문에 기존에 입력되어 있는 컨텐츠를 초기화 했습니다.
혹시나 싹 다 지워버릴까 봐 api와 같은 설정은 지우지 말라고 말했어요. 😅
삭제한 것
contents/ — 세계관, 캐릭터, 장소, 스타일 YAML 7개
edit-rules/ — 편집 규칙 YAML 5개
episodes/ep01/ — 시나리오, 프롬프트, 에셋 전부 (이미지 3장, 영상 3개, 나레이션 3개, 타이밍 3개)
유지한 것
config.yaml, .env, API 설정 (모델/키 설정 그대로)
폴더 구조 (.gitkeep, 빈 디렉토리들)
코드 (agents/, skills/ 전부)
3. 새 컨텐츠 방향 논의
이제 초기화가 완료됐으니 Ai를 다룰 때 가장 중요한 저의 목적에 대해 말해 주었습니다.
저는 아래와 같은 숏폼 영상 제작을 원했어요.
제가 원하는 영상의 방향
실사 형태의 숏폼 드라마
기존 대중가요 가사 기반 → 스토리 구성 → 뮤직드라마 형태 숏폼 연재
영화 같은 느낌
인물 일관성 유지 (에피소드 간 동일 인물)
립싱크 (대사가 있을 경우 입 모양이 음성과 싱크)
애니매이션이 아닌 실사 버전을 원했기 때문에 인물의 일관성 유지가 가장 중요했고,
대사가 많지는 않겠지만 간혹 필요한 경우도 있을 것 같아 립싱크 기능도 필요하다고 말했어요.
그러자 클로드가 알아서 현재 파이프라인이 제가 원하는 영상을 만들기에 적합한 지 분석한 뒤 아래와 같이 알려줬습니다.
현재 파이프라인 평가
요구사항
가능 여부
비고
실사 이미지 생성
O
nano-banana (fal.ai) 포토리얼리스틱
9:16 숏폼 포맷
O
이미 설정됨
가사 기반 시나리오
O
scenario-writer + Gemini
에피소드 연재
O
episodes/ 구조
영화 같은 느낌
O
프롬프트 + Ken Burns + Remotion 전환효과
나레이션/BGM
O
typecast TTS + 카라오케 자막
인물 일관성
부분적
multi_ref.py로 레퍼런스 이미지 활용 가능하나, AI 특성상 100% 동일 얼굴 보장 어려움
립싱크
불가
현재 파이프라인에 립싱크 기능 없음. 별도 스킬 추가 필요
결론 및 다음 단계
현재 파이프라인으로 70% 가능, 핵심 2개 부족
인물 일관성 — 레퍼런스 이미지 잘 만들면 70~80% 확보 가능
립싱크 — Hedra, Sync Labs, SadTalker 등 립싱크 전문 API를 스킬로 추가 필요
파이프라인 구조 자체는 잘 되어 있어서, 립싱크 스킬 추가로 원하는 결과에 근접 가능
클로드가 분석하기로는 레퍼런스 이미지를 잘 만들면 일관성 확보가 가능하지만 약간 부족하다는 평가를 했습니다. 그리고 립싱크 같은 경우에는 스킬을 추가해야한다고 했습니다.
저는 스킬을 만드는 방법을 모르므로 이것도 그냥 클로드에게 “해줘.” 라고 했습니다. 😂
4. 립싱크 스킬 추가
립싱크 스킬 추가를 시켰더니 클로드가 립싱크 관련한 정보들을 검색하기 시작했습니다.
이 과정에서 클로드가 잠시 과부하로 삐끗했지만 알아서 정신차리고 작업을 이어나가더군요. 🤣
조사 결과
fal.ai에서 이미지+오디오 → 립싱크 영상을 지원하는 모델 2개 확인:
Provider
모델
특징
가격
Kling Avatar v2 Pro (메인)
fal-ai/kling-video/ai-avatar/v2/pro
상체 움직임+표정+제스처, 1080p/48fps
미공개
VEED Fabric 1.0 (백업)
veed/fabric-1.0
립싱크 특화, 심플
$0.08/초(480p), $0.15/초(720p)
기존 FAL_KEY로 이미지와 오디오(대사)를 합쳐서 영상의 싱크를 맞추는 모델을 사용할 수 있기 때문에 추가로 결제할 필요는 없다고 했습니다.
그래도 클링의 기능이 꽤나 쓸만하기 때문에 포기할 수가 없어서 기본적으로는 클링을 사용하고 veed는 선택적으로 사용하는 것으로 스킬을 생성했습니다.
구현 완료
skills/lip-sync/generate.py— 하나의 스킬에 --provider로 kling/veed 선택skills/lip-sync/SKILL.md— 스킬 문서config.yaml— lip-sync 섹션 추가 (provider: kling, resolution: 720p)
여기서 잠깐!
그럼 whisper와 lip-sync 스킬의 차이점은 뭘까?
whisper
lip-sync
하는 일
오디오에서 "몇 초에 어떤 단어가 나왔는지" 추출
이미지의 입 모양을 오디오에 맞춰 움직이는 영상 생성
입력
나레이션 음성 파일 (WAV)
얼굴 이미지 + 음성 파일
출력
JSON 타이밍 데이터 (텍스트)
MP4 영상 (입이 움직이는)
용도
화면에 자막을 정확한 타이밍에 띄우기
캐릭터가 말하는 것처럼 보이게 하기
예시로 보면
같은 대사 "안녕하세요"에 대해:
whisper → {"word": "안녕하세요", "start": 1.2, "end": 1.8} → 1.2초에 자막 표시
lip-sync → 얼굴 사진이 실제로 "안녕하세요"라고 입을 벌리는 영상 생성
둘 다 쓰이는 경우 — 립싱크 영상 위에 whisper 타이밍으로 자막까지 얹으면 가장 완성도가 높음.
이제 뼈대는 다 만들었으니 테스트를 해볼 차례가 됐습니다.
그렇지만 한 방에 될 리가 없쥬???
테스트 결과
fal.ai 잔액 소진으로 테스트 불가 (
Exhausted balance)fal.ai 대시보드에서 크레딧 충전 필요: fal.ai/dashboard/billing
fal.ai 크레딧 부족으로 인해 진행이 불가능 했습니다.
사이트에 접속 후 카드도 등록하고 결제를 하려 봤더니 최소 결제 단위가 20$더라구요.
-> 여기서 제가 고민을 합니다.
20$면 프리픽 프리미엄 월구독 비용인데????
갑자기 결정 장애가 왔습니다. 😵💫
결정 장애가 왔을 땐, 결정을 클로드에게 시키면 됩니다. ㅋㅋㅋ
클로드에게 프리픽의 프리미엄, 프리미엄+ 월 결제 비용과 이용할 수 있는 기능들을 파악하고,
fal.ai와 비교하여 비용 효율이 더 좋은 쪽을 알려달라고 했습니다.
클로드의 반응은?
“조사 결과가 아주 흥미로워요. 프리픽이 거의 모든 걸 커버하네요!”
OK!
그럼 프리픽으로 가즈아~!!!!
5. 에셋 제작 방향 전환: fal.ai → 프리픽
결정 사항
이미지/영상/립싱크를 프리픽(Freepik)에서 직접 제작 후 파이프라인에 가져오는 방식으로 전환
fal.ai는 당분간 결제 보류 (프리픽에서 립싱크까지 커버 가능)
프리픽 Premium+ ($45/월, 약 67,000원) 구독 예정
프리픽 Premium+ 선택 이유
무제한 영상 생성 (Kling 2.5, MiniMax 등)
립싱크 기능 내장
Custom Character (캐릭터 일관성)
처음이라 실패가 많을 것 → 크레딧 걱정 없이 연습 가능
제작 과정이 변경되었기 때문에 구조조정이 필요했습니다.
변경된 파이프라인 흐름
시나리오(Gemini) → 프롬프트(Gemini) → [프리픽에서 에셋 제작] → whisper(자막) → Remotion(조립) → 최종 MP4
그런데 여기까지 진행하고 나니 잠깐만, 이 전에 우리가 뭘하려고 했더라????????
갑자기 멘붕이 왔습니다. 그래서 클로드에게 물어봤어요.
“그럼 우리 이제 뭐해야 하지? 😅”
친절한 클로드씨는 다음 작업과정을 알려 주었어요.
깜빡이인 저는 이래서 Ai가 너무 좋아요~❤️
6. 드라마 연재용 설정 구조 확장
기존 파일들의 구조가 주제 1개 당 숏폼 1개 제작에 맞춰져 있기 때문에 연재형식의 드라마에 필요한 설정들이 필요했습니다.
파일을 제가 직접 만들 능력은 없기 때문에 이 것도 클로드에게 “해줘.”라고 시켰습니다.
제일 처음에 제가 제작하려는 영상의 목적에 맞는 파일들을 새롭게 추가해 주었어요.
새로 생성한 파일
파일
위치
용도
series-bible.yaml
contents/
시리즈 전체 설계도 (제목, 원곡, 3막 구조, 에피소드 개요, 갈등, 결말)
music-mapping.yaml
contents/
가사 구절 ↔ 에피소드/씬 매핑, 후렴 의미 변화, BGM 사용 계획
episode-continuity.yaml
contents/
에피소드 간 복선, 떡밥, 연결점, 캐릭터 상태 추적
_template.yaml
contents/characters/
캐릭터 확장 템플릿 (아크, 관계, 의상, 표정, 레퍼런스, 금기)
music-drama.yaml
templates/
뮤직드라마 전용 씬 구조 (나레이션/대사/몽타주/회상/클라이맥스 타입)
manifest.yaml
contents/refs/
비주얼 레퍼런스 관리 (캐릭터/장소/소품/무드보드)
씬 타입 체계
narration — 내면 독백, 나레이션 씬
dialogue — 대사 + 립싱크 씬
montage — BGM 위주, 시간 경과
flashback — 과거 회상 (색보정 변화)
climax — 감정 폭발, 전환점
여기까지 하고 나니 저는 지쳐 버렸습니다.
영상은 만들지도 못하고 끝났네요.
저는 물결님이 주신 파일들 안에 작업일지 작성 폴더에 작업한 내용을 기록해달라고 시켰습니다.
마크다운 형태로 아주 잘 정리를 해주었지만 휴먼터치를 위해 이 글은 제가 직접 작성했습니다.
게시판에 마크다운 코드를 붙여넣으니 적용이 되지 않아 단톡방에 문의를 해서 물결님께 zip파일을 받았는데요. 파일 다운로드를 분명히 받았는데 다운로드 폴더에 없는 기이한 현상이 일어나더니,
클로드 코드가 지금은 사용할 수 없다며 저를 강제로 퇴근 시켰습니다. 🥲
이럴 땐 자고 일어나면 해결된다는 것이 진리!
클로드에게 마크다운 적용방법을 물어보니,
그냥 VS Code에서 프리뷰 복사해서 붙여넣으면 된다네요. 😅
진짜 됩니다...... ㅎㅎㅎ....
사랑해, 클로드...🫶