개발 2026.09.28

PDF 한 권으로 홍보영상 만들기 — Claude가 Signalio 67초 영상을 만든 과정

설계 노트 PDF와 프로젝트 폴더만 주고 홍보영상을 맡겼다. 질문 두 번, 로컬 내레이션·음악, 장면 10개 병렬 제작, 자동 검사까지 — 유료 API 없이 만든 과정을 정리했다.

PDF 한 권으로 홍보영상 만들기 — Claude가 Signalio 67초 영상을 만든 과정

한 줄 요약: PDF 한 권과 프로젝트 폴더만 건네고 "할 수 있는 모든 역량을 다해서 홍보영상을 만들어 달라"고 했다. Claude가 질문 두 번, 사이트 캡처, 로컬 내레이션·음악, 장면 10개 병렬 제작, 자동 검사를 거쳐 67.5초짜리 영상을 만들었다. 유료 음성·음악 API는 한 번도 쓰지 않았다.

아래는 작업 창에 Claude가 남긴 진행 보고를 순서대로 정리한 기록이다.

1. 출발점: 16쪽짜리 설계 노트

베이스 자료는 오늘 만든 「12개월 포텐셜 점수와 애널리스트 지도」 PDF다. 10배 상승을 사후에 설명하는 점수가 아니라, 아직 가격에 반영되지 않은 변화를 찾는 100점 평가체계와 애널리스트 보고서에 '타율'을 매기는 설계안이다. Claude는 PDF를 전부 읽은 뒤 프로젝트 메모리를 함께 봤다. 2026-09-20의 정보 시스템 전환, 기각된 매매 규칙 20여 개, vault(관계 지도)의 규모 같은 맥락이다.

2. 질문은 두 번, 여섯 가지

Claude는 바로 만들지 않고 먼저 물었다. 첫 번째 질문 묶음에서 컨셉 네 가지를 제시했다.

  • 아무도 다 읽지 못한다 — 공시 홍수 → 주의력 부족 → 관계로 엮고 점수로 거르고 타율로 가린다 (추천·선택)
  • 62점만 보여주지 않는다 — 점수 카드 해부형
  • 애널리스트에게도 타율이 있다 — 야구 비유형
  • 좋은 결과일수록 먼저 의심한다 — 기각 기록 다큐형

여기에 16:9 유튜브용, 약 60초, 한국어 내레이션과 배경음악을 골랐다. 두 번째 묶음에서는 중간 검토 없이 바로 완성본을 받기로 하고, 실제 사이트 화면을 캡처해 넣고, 시범 후보 종목은 실명 그대로 보여주기로 했다. Claude는 종목명을 가리자고 권했지만 실명을 택했다. 대신 해당 장면에는 "시범 점수 · 투자 권유 아님" 고지를 계속 띄우기로 했다.

3. 사이트를 찍어 보니 랜딩이 옛날 문구였다

signalio.net 첫 화면을 캡처하자 "장 시작 30분, 기회는 자동으로 · 자동매매 봇 플랫폼"이 나왔다. 정보 시스템으로 전환하기 전의 문구가 아직 남아 있었다. 그래서 Claude는 랜딩 대신 실제로 돌아가는 모닝(07:30)·이브닝(19:20) 리포트를 캡처했다. 처음 찍은 날이 일요일이라 빈 리포트가 나왔고, 평일(9/25) 호로 다시 찍었다. 이브닝 리포트 하단에는 "누적: 공시 112,302 · 이벤트 29,846"이 공개돼 있었다. 영상 첫 장면의 숫자는 여기서 가져왔다.

1번 장면 — 공시 112,302건

4. 디자인: 프리셋이 색을 뒤집었다

디자인은 'broadside' 프리셋을 골랐다. 검은 바탕에 강조색 하나, 거대한 타이포로 선언하는 포스터 스타일이다. 브랜드 색(다크, 초록 #00C853, 핑크 #E91E63)을 입히는 스크립트는 오류 없이 끝났지만, 결과를 열어 보니 문제가 두 가지 있었다.

  • 색이 반대로 들어갔다. 스크립트가 이 프리셋을 밝은 바탕으로 오인해 배경을 흰색으로 바꿔 놓았다. Claude가 직접 되돌렸다.
  • 한글 글꼴이 6조각뿐이었다. 사이트에서 캡처한 Pretendard는 90여 조각 중 6조각만 받아져 한글 대부분이 깨질 상황이었다. 전체 글꼴 파일(2MB)을 받아 교체했다.

색 규칙도 하나 정했다. 핑크는 '기각·손실'에만 쓴다. 초록은 살아남은 것, 핑크는 버려진 것이다.

3번 장면 — 기각된 규칙들

5. 소리: 들을 수 없으니 숫자로 확인했다

HeyGen 음성은 로그인이 안 돼 있었고, 기본 로컬 엔진(Kokoro)은 한국어를 못 한다. 그래서 Claude는 이 PC에 이미 설치된 도구를 찾아 썼다.

  • 내레이션: Supertonic 2 로컬 TTS, 남성 음성 M2. 처음 합성한 길이는 69초였다. 속도를 1.15로 올려 65초로 줄였다.
  • 발음 확인: Claude는 소리를 들을 수 없다. 대신 로컬 음성 인식(faster-whisper large-v3)으로 합성 음성을 다시 받아써서 대본과 대조했다. "촉매"가 [총매], "팔 할"이 [파랄]로 들린 건 오류가 아니라 표준 발음이었다.
  • 배경음악: 로컬 ComfyUI 서버의 ACE-Step으로 두 곡을 만들었다. 5초 구간별 음량을 재 보니 A안은 68초까지 −16.7dB로 고르고 B안은 앞 10초가 비고 기복이 컸다. 보컬 흔적은 둘 다 없었다. 내레이션 밑에 깔 곡이라 A안을 골랐다.

한 가지 더. 이 PC의 셸은 한글 인자를 조용히 깨뜨린다. 그래서 한글이 들어가는 모든 입력은 셸을 거치지 않고 UTF-8 파일로 넘겼다.

6. 대본 10줄, 장면 10개를 동시에

대본은 PAS 구조로 짰다. 공시 홍수 → 정보가 아니라 주의력 → 기각된 규칙들 → Signalio → 관계 지도 → 100점 포텐셜 → 시범 후보 → 애널리스트 타율 → 매일의 리포트 → 선언 순이다. 한 문장은 사실에 맞게 고쳤다. "열 번 중 여덟 번은 팔 할이 아니다"는 원시 타율 .800 자체를 부정하는 말처럼 들린다. 그래서 "열 번 중 여덟 번 맞혔다고, 팔 할로 믿지 않습니다"로 바꿨다.

각 장면은 내레이션의 단어 타이밍에 맞춰 설계했다. 원칙은 말하기 전에는 화면에 올리지 않는다는 것이다. 그런 다음 장면마다 서브에이전트를 하나씩, 모두 10개를 동시에 띄워 HTML 컴포지션을 만들게 했다. 가장 빨리 끝난 장면은 약 1분, 가장 늦은 장면은 약 4분이 걸렸다.

6번 장면 — 12개월 포텐셜 100점 7번 장면 — 시범 후보 카드

7. 검사에서 걸린 것들

조립한 뒤 자동 검사를 돌리자 처음에는 실패가 났다.

  • 의도적으로 흐리게 만든 요소의 대비 부족. 쏟아지는 공시 칩은 배경 질감이라 '장식'으로 표시해 검사에서 뺐다. 기각된 카드는 글자는 읽혀야 하니 흐림을 55%에서 78%로 줄였다.
  • 숫자와 라벨 겹침. 5번 장면에서 카운트업하며 커지는 숫자가 라벨에 닿아, 숫자를 조금 내렸다.
  • 핑크 자막. 스냅샷을 보니 자막 강조색이 핑크였다. "나옵니다" 같은 평범한 단어가 '기각'처럼 읽혀서 초록으로 바꿨다. 같은 이유로 "5% 변동" 마커도 회색으로 바꿨다. 지분 5% 변동은 나쁜 사건이 아니기 때문이다.
8번 장면 — 애널리스트 타율 .714 9번 장면 — 실제 이브닝 리포트

8. 렌더, 그리고 마지막 확인

렌더는 1분 17초 걸렸고, 결과는 1920×1080, 30fps, 67.5초, 22.6MB였다. 목표보다 7.5초 길다. 내레이션을 더 빠르게 하면 뭉개져서 이 길이를 유지했다. 끝으로 완성된 MP4의 소리를 다시 받아써서 내레이션 20구간이 대본 순서대로 모두 들어갔는지 확인했다.

10번 장면 — signalio.net

숫자로 본 작업

  • 사용자에게 한 질문: 2번(선택지 8개) + 렌더 확인 1번
  • 장면 10개 · 서브에이전트 10개 병렬
  • 내레이션 10줄(로컬 TTS) · 배경음악 후보 2곡(로컬 생성)
  • 자막 51그룹(단어 단위 타이밍)
  • 외부 유료 API: 0

남은 숙제

영상을 보고 signalio.net에 들어온 사람은 여전히 "자동매매 봇 플랫폼"이라는 첫 화면을 보게 된다. 영상보다 먼저 고쳐야 할 것이 랜딩이라는 사실을, 영상을 만들면서 알게 됐다.

영상 속 시범 점수는 2026.09.23 종가 기준 연구 설계용 수작업 점수이며, 확정 랭킹이나 투자 권유가 아니다.

← 블로그 목록