소개
이전 사례글에서는 운세 데이터를 기반으로 영상을 생성하는 흐름을 만들었다면, 이번에는 그 다음 단계인 "영상 품질 개" 및 "완전 자동화"에 도전했습니다.
https://www.gpters.org/nocode/post/challenge-automatically-create-fortunetelling-cVf2UTOaLaZn9sb
단순히 영상을 만드는 것을 넘어서,
👉 데이터 조회
👉 TTS 생성
👉 영상 렌더링
👉 YouTube 업로드
모든 과정을 한 번에 자동으로 실행되는 파이프라인을 구축하는 것이 목표였습니다.
진행 방법
1. 전체 워크플로우
이번에 구성한 전체 흐름은 아래와 같습니다.
DB 조회 → 데이터 가공 → TTS 생성 → 영상 렌더링 → 썸네일 생성 → YouTube 업로드이 모든 과정이 하나의 명령어로 실행됩니다.
npm run pipeline:full2. 사용 도구
Remotion → 코드 기반 영상 생성
TTS (Supertonic) → AI 음성 생성
YouTube API → 자동 업로드
3. 핵심 구현 포인트
영상 + 음성 완전 자동 연결
TTS로 생성된 음성을 각 씬에 맞게 삽입
영상 길이를 나레이션 길이에 맞춰 동적으로 조절
👉 단순 영상이 아니라 "말하는 영상" 자동 생성
싱크 문제 해결
초반에는 이런 문제가 있었습니다.
음성보다 텍스트가 먼저 끝남
타이프라이터 효과와 음성이 어긋남
이 문제를 해결하기 위해
텍스트 시작 타이밍 조정
애니메이션 종료 시점 조절
프레임 단위로 싱크 맞추기
👉 특히 Claude Code와 대화하면서 반복적으로 튜닝한 것이 큰 도움이 됐습니다.
스타일 일관성 유지
자동 생성이다 보니 문제가 생겼습니다.
씬마다 스타일이 미묘하게 다름
텍스트 표현 방식이 흔들림
해결 방법
공통 스타일 규칙 정리
컴포넌트 단위로 구조 통일
👉 결과적으로 영상 퀄리티가 안정화됨
YouTube 자동 업로드
마지막 단계는 업로드 자동화였습니다.
YouTube API 연동
썸네일 첨부
업로드 실패 시 재시도
👉 자동으로 영상이 유튜브에 등록된다. (자동화 완성 체감 포인트)
결과와 배운 점
영상 생성 부터 → 유튜브 업로드까지 명령어 한 줄로 전체 파이프라인 실행이 가능하도록 완전 자동화 프로세스를 만드는데 성공하였습니다.
이 프로세스를 만들면서 배운 점은 다음과 같습니다.
자동화는 ‘연결’이다.
- 각각의 기능을 구현했지만 모든 것을 연결하는 것이 진짜 핵심이었습니다.싱크 문제가 퀄리티를 좌우한다.
- TTS + 영상 조합에서는 타이밍이 곧 완성도를 결정한다.AI와 함께 개발하면 속도가 달라진다.
- Claude Code와의 반복 대화
- 문제 정의 → 수정 → 테스트 사이클 단축👉 혼자였다면 훨씬 오래 걸렸을 작업이었을 것이다.
추후에는 다른 포맷의 콘텐츠의 콘텐츠 생성 파이프라인을 시도해 보고 싶다.