방구석컴퍼니
← 이야기 목록
AI 도구2026-09-22

hypit은 왜 자막을 초가 아니라 단어에 묶었나 — 설계도 세 파일을 뜯어본 기록

영상 복제 오픈소스 hypit의 대본·꾸미기·실행 파일 구조를 직접 돌려 보며 풀었습니다. 단어 기준 배치가 변형 빌드를 56초에서 30초로 줄이는 이유와 한계까지.

방구석컴퍼니

혼자 일하는 사람 · 작업 기록

같은 18초짜리 영상을 처음 만들 때는 56초가 걸렸고, 진행자만 고양이로 바꿔 다시 만들 때는 30초가 안 걸렸습니다. 작업 개수로는 19개가 3개가 됐습니다. 이 차이는 제 컴퓨터가 빨라져서가 아니라 hypit(하이핏)이 영상을 단어에 묶인 설계도로 저장하기 때문에 생깁니다.

클로드코드로 같은 형식의 영상을 여러 번 찍어내려는 1인 제작자라면 이 구조를 알고 시작하는 편이 낫습니다. 설치 순서는 다루지 않고, 파일 세 개가 각각 무슨 일을 하는지와 그 설계가 어디서 무너지는지만 봅니다. 기준은 2026년 9월 17일의 0.2.2 판이고, 아래 수치는 전부 제 윈도우 컴퓨터에서 잰 값입니다.

hypit 원본 영상(왼쪽)과 한국어 복제본(오른쪽)이 같은 순간에 같은 순위판을 띄운 비교 화면

하이핏의 설계도는 어떤 파일 세 개인가

하이핏 프로젝트 하나는 대본 파일(.svml), 꾸미기 파일(.svs), 실행 파일(.svrun) 세 개로 이뤄집니다. 다만 이 셋은 사람이 손으로 쓰라고 만든 형식이 아니라 클로드코드가 쓰고 사람이 검토하는 형식입니다.

파일맡은 일제 프로젝트에서 바뀐 빈도
대본누가 무슨 말을 하고, 어느 말에 무엇이 뜨는가변형마다
꾸미기자막 모양, 순위판 색, 글꼴, 넘칠 때 줄이는 법한 번 정하고 안 바꿈
실행어떤 대본을 어떤 서비스로 빌드할지, 앞선 빌드 중 무엇을 다시 쓸지빌드마다

웹 페이지를 만들어 본 분이라면 내용·모양·배포 설정을 나누는 것과 같은 생각이라고 보시면 됩니다. 변형을 많이 만들 계획이면 꾸미기 파일을 먼저 굳히세요. 뒤에서 흔들리면 변형 전부가 같이 흔들립니다.

왜 몇 초가 아니라 어떤 단어인가

효과의 위치를 시간으로 적으면 대사가 바뀌는 순간 전부 틀어지기 때문입니다. 단, 이 방식은 말이 있는 영상에서만 성립합니다.

제 대본 파일에서 순위판 아이콘이 언제 떨어지는지는 이렇게 적혀 있습니다. 숫자가 하나도 없습니다.

<HOST>클로드코드에 || 하이핏이요? || @{hook-words} 영상 하나 넣으면 || 자막이랑 순위판이 || 단어에 붙어요.@{/hook-words}

<ranking:TierItem id="hypit-agent" tier="s" entry="drop" icon={icon-hypit} during={story.segment.hypit-b}/>
<media-track:Item id="hook-words" image={broll-hook-words} during={story.selection.hook-words} frame={broll-frame-a}/>

첫 줄이 대사입니다. 골뱅이 표시로 감싼 구절이 나오는 동안 끼워 넣는 그림이 뜨고, 순위판 아이콘은 이름 붙인 대사 구간이 시작될 때 떨어집니다.

그 구절과 구간이 실제로 몇 초에 나오는지는 받아쓰기 도구가 클립을 듣고 잽니다. 제 경우 18초 분량을 씨피유로 12~17초에 쟀습니다. 빌드는 그 시간표를 받아 아이콘을 떨어뜨립니다.

순위를 뒤집은 변형에서는 등급 값이 에스에서 디로 바뀌었고 대사 길이도 달라졌습니다. 저는 시간을 한 군데도 고치지 않았습니다. 대사를 자주 갈아 끼울 영상이라면 시간 기준 편집기보다 이쪽이 손이 덜 갑니다.

복제는 원본에서 무엇을 가져오는가

픽셀이 아니라 관계를 가져옵니다. 다만 그 관계를 읽어내는 건 하이핏이 아니라 클로드코드의 눈이라서, 읽기가 틀리면 복제도 틀립니다.

제가 넣은 원본은 축구 선수 등급을 매기는 20초 영상이었습니다. 클로드코드는 이걸 1초 간격 스무 장으로 잘라 보고 글로 남겼습니다. 남은 관계는 셋이었습니다.

  1. 판정하는 문장에서 순위판에 아이콘이 떨어진다
  2. 농담 구절에서만 끼워 넣는 그림이 뜬다
  3. 지금 말하는 낱말에 파란 상자가 붙는다

참고 영상을 1초 간격 스무 장으로 자른 격자 — 클로드코드가 장면 전환을 읽은 자료

새 영상은 이 셋을 지키면서 내용만 AI 영상 도구 순위로 바뀌었습니다. 원본 진행자의 얼굴이나 목소리는 어디에도 들어가지 않았습니다. 가져올 관계가 세 개를 넘어가는 복잡한 원본이라면 격자 간격을 0.5초로 좁혀서 한 번 더 읽히세요. 저도 낱말 상자 규칙은 그렇게 해서 확인했습니다.

변형 빌드는 왜 3분의 1 시간에 끝나는가

실행 파일에 "앞선 빌드의 이 결과는 그대로 써라"라고 적을 수 있어서입니다. 단, 대사가 바뀌면 받아쓰기는 다시 해야 하므로 절약 폭이 줄어듭니다.

제 실행 파일의 해당 부분입니다.

<build-record id="kept-hypit-b" build="bld_20260917T105711247Z_BCB9F98A5D" output="hypit-b-semantic.take"/>
<satisfy output="hypit-b-semantic.take" candidate="kept-hypit-b"/>

이런 두 줄짜리 쌍을 클립마다 하나씩, 모두 네 쌍 적었습니다. 그러면 그 클립의 받아쓰기를 건너뜁니다. 빌드 로그 첫머리의 작업 수가 19에서 3으로 바뀌었고, 나머지는 앞선 실행이 공급했다는 표시가 붙었습니다.

빌드작업 수걸린 시간새로 만든 것
첫 복제1956초전부
진행자 교체330초 미만그림 1장, 클립 4개(빌드 밖에서)

표에서 걸러 읽어야 할 곳은 맨 오른쪽 괄호입니다. 빌드는 30초지만 고양이가 말하는 클립은 영상 모델인 에이치쓰리(H3)로 따로 뽑아야 했고 하나에 4분 안팎이 듭니다. 빌드 시간만 보고 "30초에 변형 하나"라고 계산하면 틀립니다. 변형 계획을 세울 때는 클립을 다시 뽑아야 하는 변형과 아닌 변형을 먼저 나누세요.

돈은 어느 단계에서 나가는가

하이핏 자체는 무료이고, 그림·영상·목소리·받아쓰기를 바깥 서비스에 맡기는 줄에서만 요금이 생깁니다. 다만 어느 줄이 바깥인지는 견적을 찍어 봐야 압니다.

빌드 전에 견적 명령을 돌리면 작업마다 맡을 곳과 요금 안내가 나옵니다. 제 견적은 25줄 전부에 내 컴퓨터에서 처리하며 요금이 없다는 표시가 붙었습니다. 공식 예제는 같은 길이대 영상에 1달러 7센트에서 1달러 15센트를 썼다고 저장소 첫 화면에 적어 두었습니다.

제가 0원을 만든 방법은 생성 단계를 하이핏 밖으로 뺀 것입니다. 진행자 그림과 말하는 클립을 제 컴퓨터의 크레아 2와 에이치쓰리로 뽑아 파일로 넣었습니다. 하이핏 입장에서는 "이미 있는 파일"이라 부를 서비스가 없습니다. 그래픽카드가 있다면 이 구성을, 없다면 새 그림 없이 자막과 그래픽만 쓰는 구성을 고르세요. 둘 다 견적은 0원으로 찍힙니다.

제 첫 설계는 어디가 틀렸나

첫 판에서 저는 진행자를 정지 그림으로 두고 목소리만 따로 합성해 붙였습니다. 그림 한 장에 제 목소리 클론을 얹으면 가장 싸고 빠를 거라고 봤습니다.

결과물을 본 사용자 반응은 한 줄이었습니다. 여자 그림에서 남자 목소리가 나오고 입도 안 움직이니 이상하다는 것이었습니다.

원인은 제가 원본의 관계 하나를 빼먹은 데 있었습니다. 원본에는 "진행자가 실제로 말한다"는 네 번째 관계가 있었는데 격자 분석 글에는 적어 놓고도 설계에서 뺐습니다.

고친 방향은 세 가지였습니다. 진행자 그림을 목소리 성별에 맞췄고, 목소리 합성 단계를 없애고 에이치쓰리가 입 모양과 목소리를 한 번에 내게 했고, 대본 파일에 보이는 출연자 줄을 따로 뒀습니다. 복제가 어색하면 효과를 더 얹기 전에 원본 관계 목록에서 빠뜨린 줄이 없는지부터 보세요.

이 구조가 안 맞는 영상

말이 없는 영상입니다. 뮤직비디오나 풍경 브이로그는 묶을 단어가 없어서 하이핏의 장점이 거의 안 나옵니다. 고개를 흔드는 뮤직비디오를 원본으로 쓰자는 얘기가 나왔을 때 제가 접은 이유가 이것입니다.

판이 빠르게 바뀌는 것도 비용입니다. 대본 파일 표기법이 0.2.0 판에서 달라져 그 전 예제는 고쳐야 돌아갑니다. 같은 판에 한국어 띄어쓰기 보존이 들어왔으니 한국어 영상이면 그 아래 판은 쓸 이유가 없습니다. 장기 프로젝트에 넣을 거면 판 번호를 실행 기록과 같이 적어 두세요.

세 파일을 받았을 때 볼 순서

  1. 대본 파일에서 대사 구간에 묶인 줄이 몇 개인지 센다
  2. 꾸미기 파일의 글꼴과 넘침 설정이 한국어에 맞는지 본다
  3. 실행 파일의 재사용 줄이 가리키는 빌드 기록이 내 컴퓨터에 있는지 확인한다

도입에서 말한 56초와 30초의 차이는 결국 3번 파일의 재사용 줄에서 나왔습니다. 지금 만드는 영상에서 매번 바뀌는 건 대사인가요, 모양인가요? 대사라면 이 구조가 맞습니다.

만드는 과정 전체는 영상으로 남겼고, 이 글에서 뜯어본 파일 세 개는 카카오톡 오픈채팅 방구석모각코 고정 글에 올려 두었습니다.

새 글 알림

이런 작업 기록, 계속 받아보실래요?

네이버 블로그 이웃추가하면 새 글이 피드로 바로 떠요. 광고 없이 진짜 이야기만.