Claude Code로 YouTube Shorts 대본 TTS 파이프라인 30분 만에 완성
쇼츠 오디오 수작업에서 벗어나는 법
유튜브 쇼츠를 만들 때 대본을 다듬고, TTS 홈페이지를 오가며 음성 파일을 하나씩 내려받는 일은 생각보다 손이 많이 갑니다. 이 반복 작업을 Claude Code와 Python 스크립트 한 장으로 정리해 두면 작업 흐름이 훨씬 가벼워집니다. 이번 편에서는 주제만 던지면 AI가 장면별 대본을 JSON으로 만들고, 이어서 파이썬이 장면별 mp3 파일로 일괄 변환하는 배치형 파이프라인을 30분 안에 완성해 봅니다.

준비할 도구
준비물은 Claude Code 하나면 충분합니다. Claude Code가 없다면 웹 브라우저에서 Claude 대화창을 써도 되지만, 파일 생성과 명령 실행을 한 번에 이어서 처리하는 Claude Code가 훨씬 빠르고 편합니다.

오디오 자동 변환 파이프라인 만들기
결과 확인: 명령을 실행하면 작업 디렉토리에 shorts_script.json 파일이 생성되고, 4개 장면의 나레이션 텍스트가 들어갑니다.
결과 확인: Claude Code가 Python 코드를 작성한 뒤 터미널 명령까지 이어서 실행해 줍니다. 작업 폴더 안에 scene1.mp3부터 scene4.mp3까지 4개의 음성 파일이 순서대로 만들어집니다.
결과 확인: 코드가 업데이트된 뒤 다시 실행하면 약간의 지연과 함께 더 매끄러운 한국어 발음의 mp3 파일들이 생성됩니다.
여기서 막히면
현상: 터미널에서 스크립트를 실행했을 때 ModuleNotFoundError: No module named 'gtts' 에러가 발생하며 실행이 멈춥니다.
원인: Python 환경에 Google Text-to-Speech 라이브러리가 설치되지 않았거나, Claude Code가 작업하는 가상환경과 다른 환경에서 실행하고 있기 때문입니다.
해결: 터미널에 pip install gTTS 명령어를 입력해 라이브러리를 설치하고, 현재 사용 중인 Python 실행 경로가 패키지가 설치된 곳과 일치하는지 확인합니다.
현상: 스크립트 실행 시 json.decoder.JSONDecodeError 에러가 발생하면서 오디오 파일 생성이 실패합니다.
원인: Claude가 작성한 shorts_script.json 파일에 쉼표(,) 누락이나 따옴표 오류 같은 문법 문제가 있거나, 텍스트 본문에 줄바꿈이 잘못 들어가 JSON 형식이 깨졌기 때문입니다.
해결: VS Code 같은 에디터에서 해당 JSON 파일을 열고 문법 오류 표시가 있는 부분을 수정하거나, Claude Code 세션에 'shorts_script.json의 형식이 깨졌으니 유효한 JSON으로 다시 써줘'라고 지시하면 됩니다.
현상: 스크립트 실행 중 gTTS.gTTSError: Connection to Google Translate failed 라는 네트워크 에러가 뜨며 파일 생성이 멈춥니다.
원인: Google 번역 TTS 서비스는 별도 인증 키가 없는 공개 API를 활용하기 때문에, 대량의 텍스트를 한 번에 요청하거나 인터넷 연결이 불안정할 때 요청이 거부될 수 있습니다.
해결: 대본 텍스트의 길이를 줄이거나, 스크립트의 루프 문 안에 time.sleep(2) 같은 딜레이 코드를 넣어 요청 간격을 벌려 주면 정상적으로 작동합니다.
다음 연동 단계로 이어가기
이렇게 만든 mp3 파일들과 이미지 생성 AI로 뽑아낸 장면 컷들을 moviepy 같은 라이브러리로 자동 병합하는 비디오 생성 단계까지 붙여 보는 것도 좋습니다. 다음 편에서는 이 TTS 파일들과 이미지 폴더를 결합해서, 한 줄의 명령어로 실제 쇼츠 비디오 파일(.mp4)을 완성하는 영상 합성 파이프라인을 다뤄볼게요.
이런 글도 있어요
관련 검색어
- 🔍 Claude Code 사용법
- 🔍 Claude Code 비교
- 🔍 YouTube Shorts 사용법
- 🔍 YouTube Shorts 비교
- 🔍 TTS 자동화 사용법
- 🔍 TTS 자동화 비교