셀카 영상 하나로 쇼츠 만들기, Claude Code 오픈소스 avatar-shorts 예시 영상 뜯어보기
셀카 영상 하나로 쇼츠 만들기를 Claude Code 오픈소스 avatar-shorts로 해 본 기록입니다. 27초 원본이 무음 정리, 훅 재배치, 자막, 모션그래픽을 거쳐 26초 쇼츠가 되는 과정을 직접 잰 수치와 결정 기록으로 살펴봅니다.
쇼츠나 릴스는 찍는 시간보다 편집하는 시간이 더 깁니다. 30초짜리 하나에도 말 사이 무음을 자르고, 자막 오타를 고치고, 말하는 타이밍에 맞춰 그래픽을 하나씩 얹다 보면 몇 시간이 금방 지나갑니다.
지난 글 쇼츠·릴스 로컬 자동화 제작기에서는 대본을 넣으면 세로 영상이 나오는 제 제작 파이프라인을 다뤘습니다. 이번 글에서는 그 파이프라인과 별개로, 셀카 영상 한 편만 있으면 누구나 돌려 볼 수 있게 만들어 2026년 9월 29일에 공개한 교육용 오픈소스 avatar-shorts를 다루겠습니다. 이 도구가 셀카 영상 한 편을 쇼츠로 바꾸면서 실제로 무엇을 하는지, 레포에 들어 있는 예시 영상 한 편(27.0초 → 25.9초)을 뜯어서 살펴보겠습니다.
무음이 실제로 얼마나 줄었는지, 훅 문장이 어디서 어디로 옮겨졌는지는 이 글을 쓰면서 직접 다시 재 봤습니다. (작성일 2026-10-19 기준이고, 별 수나 버전은 금방 바뀝니다.)
이 글은 지난 10월 10일에 올린 유튜브 영상 쇼츠 제작을 Claude Code로 100% 딸깍 자동화하는 방법 (전부 오픈소스 제공)을 글로 다시 정리한 것입니다. 레포 README에도 걸어 둔 영상으로, 설치부터 첫 결과물, 레퍼런스로 취향을 입히는 과정까지 화면으로 보여 드렸습니다. 영상에서 말로 지나간 부분을 여기서는 레포에 남은 파일과 직접 잰 수치로 다시 짚어 보겠습니다.
사용 도구 및 준비물
avatar-shorts 한눈에 보기
avatar-shorts는 셀카나 아바타가 혼자 나와 말하는 세로 영상 하나를 넣으면, 무음을 정리하고 훅을 앞으로 옮기고 말하는 단어에 맞춰 모션그래픽을 띄운 쇼츠·릴스로 만들어 주는 도구입니다. 라이선스는 MIT라 가져가서 고쳐 쓰셔도 됩니다.
만들게 된 계기는 단순합니다. 요즘 Claude Opus 모델로 만든 모션그래픽 영상이 유튜브에서 많이 퍼지고 있는데, 이걸 릴스·쇼츠에 흔한 토킹헤드 영상(한 사람이 혼자 나와 카메라를 보고 설명하는 영상)에 붙여 보고 싶었습니다. 교육용으로 만든 것이라 외부 API 서비스는 일부러 연결하지 않았습니다. 말하는 아바타도 API로 아바타 모델을 불러 와서 전부 자동화할 수는 있지만, 생성된 아바타가 어색하게 느껴질 수 있어서 셀카나 이미 만들어 둔 아바타 영상을 넣는 방식으로 두었습니다. 개인 브랜딩용 쇼츠를 염두에 둔 선택입니다.
여기서 용어 몇 개만 먼저 짚고 가겠습니다.
- Claude Code(클로드 코드): 터미널에서 말로 일을 시키면 파일을 읽고 명령을 실행해 가며 끝까지 처리하는 Anthropic의 AI 코딩 도구입니다. avatar-shorts는 이 Claude Code 안에서 돌아갑니다.
- 스킬(Skill): Claude Code가 특정 일을 할 때 꺼내 읽는 설명서 묶음입니다. 요리사에게 메뉴마다 레시피 카드를 한 장씩 건네 두는 것과 비슷합니다.
- 훅(Hook): 영상 첫 1~2초에 시청자를 붙잡는 문장입니다. 쇼츠는 여기서 넘길지 말지가 정해집니다.
- B-roll(비롤): 말하는 사람 위나 옆에 잠깐 얹는 보조 화면입니다. 아이콘 카드, 체크리스트, 터미널 화면 같은 것들입니다.
실제 레포 화면은 다음과 같습니다. 작성일 기준 별 26개, 포크 5개이고 마지막 커밋은 10월 12일 README를 영어·한국어로 나눈 것(517080c)입니다.
준비물과 설치
준비물은 다섯 가지입니다. 표는 README에서 옮겼습니다.
| 준비물 | 버전 | Windows 설치 명령 |
|---|---|---|
| Claude Code | Claude 유료 요금제 필요 | 사이트 안내대로 |
| Node.js | 18 이상 | winget install OpenJS.NodeJS.LTS |
| Python | 3.10~3.13 | winget install Python.Python.3.12 |
| ffmpeg | 영상 자르고 붙이는 도구 | winget install Gyan.FFmpeg |
| Git | 코드 내려받는 도구 | winget install Git.Git |
Windows는 WSL(윈도우 안에 리눅스를 따로 띄우는 기능) 없이 PowerShell에서 바로 됩니다. 다 깔고 나면 PowerShell 창을 새로 열어야 설치한 도구가 잡힙니다.
설치는 한 번만 하면 되고 5~10분 걸립니다. 아래 네 줄은 코드를 내려받고, 필요한 패키지와 음성 인식 모델을 받은 뒤, 영상 없이 데모를 한 번 렌더해 보는 명령입니다.
git clone https://github.com/hotorch/avatar-shorts.git
cd avatar-shorts
npm run setup
npm run demo
데모가 projects/_demo/ 폴더에 나오면 준비가 끝난 것입니다. 그다음 같은 폴더에서 claude를 켜고 /shorts ~/Desktop/내영상.mp4 한 줄을 치면 됩니다. 대본이 있으면 다음 줄에 붙여 주시면 자막이 정확해집니다. 30초 영상이면 10~20분 걸리고 결과는 projects/<이름>/out/final.mp4에 생깁니다.
스킬 9개가 나눠 맡는 일
/shorts 한 줄 뒤에서는 스킬 아홉 개가 일을 나눠 맡습니다. 원래 컷 편집자, 자막 담당, 모션 디자이너가 하던 일을 쪼갠 것이라고 보시면 됩니다. .claude/skills/ 폴더 이름 그대로 정리했습니다.
| 스킬 폴더 | 맡은 일 | 사람으로 치면 |
|---|---|---|
| shorts | 아래 스킬들을 순서대로 불러 질문 없이 끝까지 만든다 | 총괄 PD |
| transcribe-ko | 한국어 음성을 단어 단위 타이밍으로 받아 적고 오탈자·고유명사를 문맥으로 고친다 | 자막 담당 |
| viral-edit | 무음과 군더더기를 줄이고 가장 센 문장을 맨 앞으로 옮긴다 | 컷 편집자 |
| broll-plan | 어느 문장에 어떤 보조 화면을 얹을지 설계도를 쓴다 | 모션 디자이너(기획) |
| motion-kit | 템플릿으로 안 되는 장면을 새 부품으로 만든다 | 모션 디자이너(제작) |
| storyboard | 렌더 전에 장면마다 대표 프레임 한 장과 장면 표를 뽑는다 | 검수자 |
| reference-taste | 좋아하는 영상을 재서 내 취향으로 배운다 | 취향 기록 담당 |
| style-intake | 레퍼런스와 요청을 정책·취향·자산으로 나눠 넣는다 | 스타일 가이드 관리자 |
| flow-prompts | (선택) 이미지·영상 생성 도구에 넣을 B-roll 프롬프트를 쓴다 | 소재 담당 |
여기서 transcribe-ko가 하는 일을 조금 더 풀면, 음성 인식 모델이 받아 적은 글자를 그대로 쓰지 않습니다. 받아쓰기 모델은 고유명사와 띄어쓰기를 자주 틀리기 때문에, 받아쓰기는 단어마다 몇 초에 말했는지 타이밍을 잡는 데만 쓰고 글자는 Claude가 문맥과 대본을 보고 고칩니다.
예시 영상 한 편 뜯어보기
레포 README 맨 위에 있는 예시를 보면 이 도구가 하는 일이 제일 잘 보입니다. 왼쪽이 원본 셀카 27.0초, 오른쪽이 /shorts로 나온 완성 쇼츠 25.9초입니다.
원본에서 제가 한 말은 23줄입니다. 한 줄이 자막 한 덩어리입니다.
1 셀카 영상, 하나. / 2 이걸 클로드한테 넘기면, / 3 제가 한 말을, / 4 단어 하나하나 읽고요. / 5 어느 단어에서, / 6 무슨 그림을 띄울지, / 7 설계도를 씁니다. / 8 그러면, 설계도 한 줄이, / 9 장면 하나가 돼요. / 10 오브젝트가 톡 튀어나오고. / 11 중요한 말엔, / 12 형광펜이 그어지고. / 13 화면이 넘어갈 땐, / 14 빛이 번지죠. / 15 편집 프로그램은, / 16 한 번도 안 켰습니다. / 17 지금 이 화면도, / 18 전부 이렇게 만들었고요. / 19 무료로 풀어둘 테니까. / 20 아래 repository, / 21 git clone 한 줄로 / 22 받아서, / 23 그대로 쓰시면 됩니다.
무음은 얼마나 줄었나
무음부터 확인해 보겠습니다. ffmpeg에 들어 있는 무음 탐지 기능(silencedetect)으로 원본과 완성본을 같은 조건으로 재 봤습니다. 조건은 다음과 같습니다.
- 소리 크기가 -35dB보다 작은 구간을 무음으로 보고, 0.25초 이상 이어진 것만 셉니다.
- 대상은 레포의
docs/example/before.mp4(27.03초)와after.mp4(25.88초)입니다. - 측정일 2026-10-19, 한 번씩 돌렸습니다.
원본에는 0.25초 넘는 무음이 8곳, 합쳐서 2.63초 있었습니다. 완성본에서는 2곳, 0.55초만 남았습니다. 숨 고르는 틈이 거의 사라진 셈이고 전체 길이는 1.15초 줄었습니다. 30초 영상에서 1초는 작아 보여도, 문장 사이가 늘어지는 느낌이 없어지는 게 체감은 더 큰 것 같습니다.
다만 완성본에는 효과음이 깔려 있어서 일부 무음이 효과음에 가려졌을 수 있습니다. 이 수치는 "이 정도 줄었다"는 대략값으로만 보시면 됩니다. 참고로 기본 취향값이 tight인데, 무음을 0.16초만 남기고 자르는 설정입니다. 덜 자르고 싶으면 natural(0.30초)로 바꾸거나 그냥 "무음 덜 잘라줘"라고 말하면 됩니다.
훅 문장을 맨 앞으로
다음은 훅입니다. 위 대본에서 굵게 표시한 15~16번 줄 "편집 프로그램은, 한 번도 안 켰습니다"가 원본에서는 17.32초에서 19.52초 사이에 있었습니다. 완성본에서는 이 문장이 0초, 맨 앞으로 왔습니다.
viral-edit 스킬이 남긴 순서 파일(edit.json)은 다음과 같습니다. 숫자는 대본 줄 번호입니다.
{"order": [[15, 16], [1, 14], [17, 23]],
"why": "훅: '편집 프로그램은 한 번도 안 켰습니다'(부정+결과, 1.8초, 혼자 뜻이 통함)를 맨 앞으로. 이어서 원래 흐름, '지금 이 화면도'가 '빛이 번지죠' 뒤에 자연스럽게 붙음"}
1516번 줄을 먼저 틀고, 그다음 114번, 마지막에 17~23번을 이어 붙였다는 뜻입니다. 이 문장을 고른 이유도 적혀 있습니다. "안 켰다"는 부정과 결과가 같이 있고, 앞뒤 맥락 없이 혼자 들어도 뜻이 통하고, 1.8초로 짧습니다. 그리고 원래 15번 자리가 빠지면서 14번 "빛이 번지죠" 뒤에 17번 "지금 이 화면도"가 바로 붙는데, 이 연결이 어색하지 않다는 것까지 확인하고 자릅니다. 저도 손으로 편집할 때 첫 문장을 이렇게 고르는데, 이유를 문장으로 남겨 주니 나중에 뒤집기가 편합니다.
자막 교정과 장면 9개
자막은 받아쓰기 결과를 대본과 대조해서 고칩니다. 이 예시에서는 받아쓰기가 "하나하나"를 "하나 하나"로, "아래 repository"를 "아래래포지토리"로 적었고 둘 다 대본 기준으로 바로잡혔습니다. 영어 고유명사가 섞인 문장은 받아쓰기가 거의 매번 틀리기 때문에, 대본을 같이 주는 게 제일 확실합니다.
완성본 장면을 순서대로 한 장씩 뽑아 봤습니다.
장면 설계도(plan.json)에는 장면이 9개 있고 장면마다 몇 초에 시작해서 몇 초에 끝나는지, 어떤 템플릿을 쓰는지, 어느 단어에 효과음을 넣는지가 적혀 있습니다. 예를 들어 첫 장면은 1.52초에 "셀카 영상.mp4" 알약이 뜨고 1.94초에 "클로드" 카드로 바뀌면서 pop 효과음이 납니다. 말하는 단어 타이밍에 그래픽이 붙는다는 게 이런 뜻입니다.
얼굴을 가리지 않는 배치
혼자 나와서 말하는 영상은 얼굴이 곧 내용입니다. 그래픽이 얼굴을 덮으면 아무리 예뻐도 보기 불편합니다. avatar-shorts는 얼굴 인식 모델 YuNet으로 머리 위치(정수리부터 턱까지)를 재고 설명 화면을 머리 위, 턱 아래, 위아래 분할, 화면 전체 중 비어 있는 자리에 띄웁니다.
레포에 있는 배치 예시 네 장에 레포의 측정 스크립트를 그대로 돌려서 잰 머리 영역을 점선으로 그려 봤습니다.
점선 상자를 보면 카드가 상자 안으로 들어가지 않습니다. 머리 위 카드 장면에서는 머리가 화면 높이의 3066% 구간에 있어서 그 위쪽에 카드를 띄웠고, 턱 아래 카드 장면은 머리가 1347% 구간이라 아래쪽을 썼습니다. 화면 전체 장면은 아예 얼굴을 빼고 그래픽만 보여 줍니다.
예시 영상 9장면은 머리 위 3, 위아래 분할 2, 턱 아래 1, 화면 전체 3으로 섞였습니다. 결정 기록에는 "머리 위가 좁아 머리 위 카드 때 아바타를 335px 내림"이라는 줄도 있습니다. 카드를 띄울 자리가 모자라면 얼굴 쪽을 아래로 내려서 자리를 만든 것입니다. 이 배치를 직접 하려면 장면마다 얼굴 위치를 보고 카드 크기를 맞춰야 해서 편집하면서 손이 제일 많이 가는 일이었습니다.
결정 기록 표
avatar-shorts는 따로 말하지 않으면 중간에 묻지 않고 끝까지 만듭니다. 영상에서 샘플 아바타 영상으로 돌려 보면, 끝난 뒤 스토리보드, 색 테마·무음 구간·장면 수를 정한 내용, 검수 결과가 한꺼번에 나옵니다. 영상 자동화에서 빠지면 안 되는 게 이 검수 단계라고 생각하는데, avatar-shorts는 무엇을 왜 그렇게 정했는지를 표로 남깁니다. 예시 영상의 결정 기록(decisions.md)에서 몇 줄을 그대로 옮겼습니다.
| 항목 | 정한 것 | 이유 | 바꾸려면 |
|---|---|---|---|
| 무음 | tight (0.16s 남김) → 27.0→25.8초 | 취향 기본 | edit.silence: "natural" |
| 훅 | 15–16번 "편집 프로그램은, 한 번도 안 켰습니다" 를 맨 앞으로 | 결과+부정, 혼자 뜻이 통함 (점수 4) | edit.json 삭제 또는 edit.structure: "as-is" |
| 다양성 | 08 "무료" 를 morph 알약 → 동그라미 친 큰 글자(keyword) | 07·08·09 가 머리 위 morph 알약 3연속이라 지루함 | plan 08 의 template |
| 늦은 요소 | 05 밑줄을 "그어지고"(14.62) → "형광펜이"(13.94) | 무음을 줄이니 두 장면 끝이 당겨져 마지막 요소가 끝 0.5초 전에야 나옴 | plan 05 markAt |
| 자막 교정 | 하나 하나→하나하나, 아래래포지토리→아래 repository | 사용자 대본 기준 | script.txt |
저는 이 표에서 "바꾸려면" 열을 제일 좋아합니다. 결과가 마음에 안 들 때 어디를 고치면 되는지가 같이 적혀 있어서 설정 파일을 몰라도 "자막 조금 더 크게", "무음 덜 잘라줘", "45초로 줄여줘"처럼 말로 고치면 됩니다.
표에는 실패하고 고친 기록도 남습니다. "늦은 요소" 줄은 무음을 자르고 나니 형광펜 밑줄이 장면 끝나기 0.5초 전에야 그어지는 문제가 생겼다는 기록입니다. 렌더 전에 스토리보드를 뽑는 단계에서 경고가 떴고 밑줄 타이밍을 "그어지고"에서 "형광펜이"로 0.68초 당겨서 해결했습니다. "다양성" 줄은 비슷한 알약 카드가 세 번 연달아 나와 지루하다는 규칙에 걸려 가운데 하나를 큰 글자로 바꾼 기록입니다.
다만 솔직하게 적으면, README 맨 위 결과 영상(after.mp4)은 이 다양성 규칙이 생기기 전에 렌더한 것입니다. 그래서 위 프레임 사진에서도 "무료"가 아직 알약 모양으로 나옵니다. 같은 설계도로 지금 다시 렌더하면 동그라미 친 큰 글자로 나옵니다.
취향 입히기, v02와 v03
이 방식이 퍼지면 다들 같은 시스템으로 쇼츠를 만들 테니 결과도 다 비슷해지지 않을까?라는 걱정이 생깁니다. 그래서 avatar-shorts에는 내 취향을 배우는 단계가 따로 있습니다.
먼저 정해 둔 구분이 하나 있습니다. 영상을 만들면서 내리는 결정을 정책과 취향 둘로 나눕니다.
| 구분 | 뜻 | 예 | 저장 위치 |
|---|---|---|---|
| 정책 | 어기면 결과물이 틀린 것 | 얼굴 가리지 않기, 말하지 않은 숫자 지어내지 않기, 자막 18자 | style/policy.json (렌더가 막음) |
| 취향 | 둘 다 맞고 고르는 것 | 팔레트, 무음 얼마나 줄일지, 훅을 앞으로 뺄지, 자막 크기 | style/me.json (내 PC에만) |
취향은 내가 결과를 고칠 때마다 쌓입니다. 같은 방향으로 두 번 고치면(또는 "앞으로도"라고 하면) 내 취향 파일에 기록하고 한 줄로 알려 줍니다. 좋아하는 영상을 주면 화면 전환 리듬, 말 사이 쉼, 밝기를 재서 취향값을 계산하기도 합니다.
레퍼런스 두 개로 바꿔 본 결과
직접 해 본 과정은 이렇습니다. 실험용 영상은 제 얼굴을 10살 정도 젊게 만든 립싱크 아바타가 말하는 42.8초짜리 영상입니다(대본은 제가 보고 배우는 다른 분의 인스타그램 영상 하나를 제 말투로 바꿔 쓴 것입니다). 이걸 기본 설정으로 만든 게 v02입니다.
그다음 모션 그래픽을 모아 둔 사이트 Jitter와 Savee에서 마음에 드는 짧은 모션 영상 두 개를 내려받아 Claude Code에 넘겼습니다(워터마크가 있어도 상관없습니다, 움직임만 볼 것이라서). 4초짜리 모션 클립은 숫자로 재 봐야 얻을 게 거의 없어서 초당 6장씩 프레임을 뽑은 콘택트 시트를 Claude가 직접 보고 움직임을 문장으로 쪼갰습니다.
제일 정확하게 하고 싶다면 제가 추천하는 방법은 레퍼런스 영상을 Google Gemini에 넘기고 동영상을 해석하는 프롬프트를 같이 주는 것입니다. 프레임 사진을 보는 것보다 움직임을 훨씬 정확하게 문장으로 옮겨 줍니다. 이런 레퍼런스의 화려한 장면을 자세히 보면 안에 들어간 어셋이 꽤 많습니다. 쇼츠를 꾸준히 만들 생각이라면 어셋 모으는 일을 따로 자동화해 보는 것도 좋은 방향입니다(제 유튜브 인트로도 Savee에서 영감을 받아 만들었습니다).
여기서 제가 한 말은 이 정도였습니다.
이렇게 나타나는 이런 타이포그래피는 제 취향은 아닙니다. 근데 이렇게 인물이 아바타가 확대되는 거는 마음에 들거든요.
좋은 것과 싫은 것을 같이 말해 준 게 핵심이었습니다. 레퍼런스에서 가져온 것과 버린 것은 다음과 같습니다.
- 가져옴: 가운데 작은 사진 틀이 계단식으로 커져 화면을 채우는 전환 → 사진 대신 말하는 아바타 영상으로 바꿔서
AvatarGrow라는 부품으로 만듦(0.8초, 화면의 0.2 → 0.46 → 1배 세 계단) - 가져옴: 세로로 쌓인 띠 중 가운데 한 장만 펼쳐지는 장면 → 종류 3~5개를 차례로 말할 때 쓰는
StackCarousel - 바꿈: 바탕색이 그림 색을 따라 바뀌는 효과 → 장면 색은 정해 둔 3색 안에서만 쓴다는 정책과 부딪혀서, 그 3색을 따라가게 바꿈
- 버림: 굵은 표지 타이포와 모서리 라벨(제가 싫다고 한 부분), 레퍼런스에 있던 로고·브랜드 글자(남의 것)
같은 셀카, 같은 구간을 v02와 v03으로 나란히 틀어 봤습니다.
v02는 베이지 카드 위에 작은 알약이 하나씩 뜨는 정도라 깔끔하지만 심심합니다. v03은 띠가 쌓였다 펼쳐지고 장면이 끝나면 작은 아바타 틀이 세 계단으로 커지면서 얼굴로 돌아옵니다. 무미건조한 아바타 영상에서 조금 볼 만한 수준으로 올라온 것 같습니다.
storyboard 스킬이 렌더 전에 뽑는 스토리보드 시트로 보면 차이가 더 잘 보입니다. 같은 칸 세 개를 잘라서 위아래로 붙였습니다.
이 비교에서 결과물의 흠도 두 개 눈에 띕니다. v02 셋째 칸은 강조 표시용 별표가 그림으로 바뀌지 않고 *먼저* 그대로 찍혔습니다. v03 셋째 칸은 커진 아바타가 양옆 카드 글자를 덮어서 "퀄리티 올리기"가 "퀄리티 올리"까지만 보입니다. 둘 다 스토리보드 단계에서 잡을 수 있는 종류라, 렌더 전에 시트를 한 번 훑어보는 습관은 그대로 필요합니다.
마음에 든 효과는 그대로 두지 않고 Claude Code에 앞으로도 이 효과를 쓰도록 스킬과 문서에 반영해 달라고 한 뒤 커밋했습니다. 지금 레포의 style/README.md에는 이 레퍼런스 두 개에서 무엇을 가져오고 무엇을 버렸는지가 표로 남아 있습니다. 이렇게 고칠 때마다 커밋해 두면, 시간이 지날수록 남이 쓰는 avatar-shorts와 내 avatar-shorts가 갈라집니다.
개인적인 생각 & 한계점
먼저 "무료"의 범위를 짚고 가겠습니다. API 키가 필요 없고 음성 인식과 렌더가 내 컴퓨터에서 돌아가니 영상 한 편 만들 때마다 나가는 호출 요금은 없습니다. 하지만 Claude Code 자체는 Claude 유료 요금제가 있어야 쓸 수 있습니다. 또 렌더 엔진인 Remotion은 개인, 직원 3명 이하 회사, 비영리 단체는 무료이고, 그보다 큰 회사는 회사 라이선스가 따로 필요합니다(작성일 기준 Remotion 라이선스 문서). 회사 계정에 쓰실 분은 이것부터 확인하시길 권장합니다.
두 번째는 결과의 화려함이 무엇에서 오느냐입니다. /shorts 한 줄만 쳐도 어느 정도는 알아서 만들어 주지만, 장면에 넣을 이미지나 로고 링크, "이 부분은 얼굴로 둬" 같은 맥락을 더 줄수록 결과가 확 좋아집니다. Claude Code의 추론 수준(effort)을 올리는 것보다 어셋과 맥락을 넣는 쪽이 훨씬 효과가 컸습니다. 이 부분은 영상 자동화 전반에서 계속 느끼는 것이기도 합니다. 저는 레퍼런스 영상을 대량으로 모을 때 GPT의 computer use(AI가 화면을 보면서 마우스와 키보드를 대신 조작하는 기능) 같은 도구로 수집까지 자동화해서 써 왔습니다.
세 번째로 제가 이 도구에서 제일 신경 쓴 정책은 "영상에서 말하지 않은 숫자·결과는 화면에 만들지 않는다"입니다. 그래픽을 자동으로 얹다 보면 그럴싸한 수치 카드를 지어내기 쉬운데, 내 얼굴이 나오는 영상에 내가 하지 않은 말이 뜨는 건 편집 실수보다 훨씬 위험하다고 생각합니다. 그래서 이건 취향이 아니라 정책으로 잠가 두었습니다.
입장별로 나누어 정리하면 다음과 같습니다.
1. 셀카로 쇼츠를 꾸준히 올리고 싶은 경우
그대로 받아서 돌려 보시면 됩니다. 찍을 때는 15~90초 한국어, 조용한 곳, 정면에 머리 위 여유 조금, 문장 사이 반 박자 쉬기 정도만 지키면 됩니다. 대본을 같이 주면 자막 품질이 확 올라갑니다. 첫 결과가 마음에 안 들면 전부 다시 시키지 말고 마음에 안 드는 곳 한두 군데만 말하는 게 빠릅니다.
2. 회사나 팀 계정에 쓰려는 경우
Remotion 라이선스를 먼저 확인하시고, 팀에서 절대 어기면 안 되는 규칙(브랜드 색, 로고 위치, 자막 크기 하한)은 style/policy.json에 정책으로 넣으시면 됩니다. 정책은 렌더 단계에서 막히기 때문에 사람이 바뀌어도 지켜집니다.
3. 쇼츠보다 Claude Code에 일을 끝까지 맡기는 구조가 궁금한 경우
README에도 적었지만 이 레포는 교육용입니다. .claude/skills/ 아래 스킬 9개, 정책과 취향을 나눈 style/README.md, 그리고 CLAUDE.md의 "실제로 겪은 함정" 목록을 읽어 보시면, Claude Code에 스킬·정책·검사를 붙여 사람 손을 덜 타게 만드는 방식을 뜯어볼 수 있습니다. 개인적으로는 쇼츠 결과물보다 이쪽이 더 오래 쓸 수 있는 재료라고 생각합니다.
결국 중요한 건 편집 기술이 아니라 영상에서 무슨 메시지를 던지느냐라고 생각합니다. 컷과 자막과 배치가 자동으로 풀릴수록, 사람한테 남는 일은 무엇을 말할지 정하는 일인 것 같습니다.
이 글을 마치며 & Reference
이번 글에서는 avatar-shorts가 셀카 한 편을 쇼츠로 바꾸는 과정을 예시 영상 하나로 뜯어봤습니다. 저는 요즘 셀카도 찍지 않고 대본만 쓰면 아바타, 목소리, 자막까지 만들어지는 쪽으로 작업을 옮기고 있는데, 기회가 되면 다음 글에서 그 과정을 다뤄보겠습니다.
관련 글
- 쇼츠·릴스 로컬 자동화 제작기: 대본부터 아바타, 검수까지 : 대본만 넣으면 세로 영상이 나오는 제 제작 파이프라인
- OpenMontage 사용법: GPU 없는 노트북으로 AI 영상 만드는 5가지 방법 : 다른 오픈소스 영상 자동화 도구를 직접 돌려 본 기록
- 오픈소스 TTS 보이스클론 5종 비교 : 셀카 없이 대본만으로 가려면 필요한 목소리 쪽 이야기
Reference
- 쇼츠 제작을 Claude Code로 100% 딸깍 자동화하는 방법 (전부 오픈소스 제공) : 이 글의 원본 영상입니다. 설치부터 첫 결과물, Jitter·Savee 레퍼런스로 취향을 입히는 과정까지 14분 남짓한 화면으로 보여 드렸습니다.
- avatar-shorts GitHub 저장소 : 코드, 설치법, 예시 영상의 대본·설계도·결정 기록(
examples/avatar-v01/)이 전부 들어 있고, README 맨 위에서 위 영상으로 바로 갈 수 있습니다. - Remotion 라이선스 문서 : 렌더 엔진 라이선스 조건입니다. 회사에서 쓰실 분은 꼭 확인하시길 바랍니다.
- OpenCV Zoo YuNet : 머리 위치를 재는 데 쓴 얼굴 인식 모델(MIT)입니다.
긴 글 읽어주셔서 감사합니다 :)
추가 학습 자료 신청
ZEXEA 메인 사이트의 자료 신청 페이지로 이동합니다. 이름·이메일·전화번호 등의 입력이 필요합니다. 블로그 글과 실습 예제는 신청 없이 모두 읽을 수 있습니다.
관련 가이드

쇼츠·릴스 로컬 자동화 제작기: 대본부터 아바타, 검수까지
두 달간 만든 쇼츠·릴스 자동화 파이프라인을 실제 영상과 이미지로 공개합니다. 로컬 TTS, 자막 타이밍, Remotion 편집, InfiniteTalk 아바타, 32개 검사와 실패 사례를 정리했습니다.
전체 과정 보기OpenMontage 사용법: GPU 없는 노트북으로 AI 영상 만드는 5가지 방법 (+RTX 5090 실행 후기)
코딩 에이전트에게 영상 제작을 맡기는 오픈소스 OpenMontage를 일반 노트북 기준으로 정리했습니다. 설치 순서, 키 없이 되는 것과 안 되는 것, 상황별 추천 경로와 한국어 프롬프트, 그리고 RTX 5090에서 0원으로 31초 영상을 만들어 본 짧은 후기까지 담았습니다.
전체 과정 보기오픈소스 TTS 보이스클론 5종 비교, 짧은 참조 18초와 긴 참조 30~180초 실측
오픈소스 TTS 5종에 제 음성 18초와 모델별 30~180초 참조를 넣어 보이스클론 결과를 화자 유사도와 STT 오류율로 실측했습니다. 긴 참조가 항상 낫지 않은 이유, Audio8 60초 실패 원인, 참조 음성 준비 요령까지 정리했습니다.
전체 과정 보기