Claude Code로 YouTube Shorts 대본 TTS 파이프라인 30분 만에 완성

Claude Code로 YouTube Shorts 대본 TTS 파이프라인 30분 만에 완성

Claude Code로 YouTube Shorts 대본 TTS 파이프라인 30분 만에 완성

쇼츠 오디오 수작업에서 벗어나는 법

오늘 만들 것
쇼츠 오디오 수작업에서 벗어나는 법

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

준비할 도구

준비할 도구

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

오디오 자동 변환 파이프라인 만들기

오디오 자동 변환 파이프라인 만들기

1
대본 생성용 JSON 규격부터 잡기
AI에게 보낸 프롬프트
Claude야, 유튜브 쇼츠 대본을 작성할 수 있는 JSON 데이터 구조를 설계해 줘. 그리고 'AI가 인간을 지배할 수 없는 이유'라는 주제로 30초 분량의 4개 장면짜리 대본 shorts_script.json 파일을 만들어줘. 각 장면은 scene_number, narration, duration 필드를 가져야 해.
왜 이렇게 시켰나: 처음부터 복잡한 파이프라인 코드를 바로 짜게 하면 AI가 흐름을 놓치기 쉽습니다. 먼저 오디오 변환의 뼈대가 될 JSON 파일을 분리해서 받아두면, 뒤 단계에서 Python이 읽어야 할 구조가 또렷해집니다.

결과 확인: 명령을 실행하면 작업 디렉토리에 shorts_script.json 파일이 생성되고, 4개 장면의 나레이션 텍스트가 들어갑니다.

2
오디오 파일 일괄 변환 스크립트 작성하기
AI에게 보낸 프롬프트
shorts_script.json 파일을 읽어서 각 장면의 narration 텍스트를 gTTS 라이브러리를 사용해 mp3 오디오 파일로 저장하는 Python 스크립트 generate_audio.py를 작성해 줘. 파일 이름은 scene1.mp3, scene2.mp3 형태로 순서대로 저장되어야 하고, 완성되면 터미널에서 실행해 봐.
왜 이렇게 시켰나: 생성된 JSON 파일 경로를 정확히 지정해 주어야 Python이 데이터를 헷갈리지 않습니다. 또 gTTS라는 무료 라이브러리를 분명하게 적어 주면, 유료 API 키 없이도 바로 음성을 뽑아내는 가벼운 코드가 나옵니다.

결과 확인: Claude Code가 Python 코드를 작성한 뒤 터미널 명령까지 이어서 실행해 줍니다. 작업 폴더 안에 scene1.mp3부터 scene4.mp3까지 4개의 음성 파일이 순서대로 만들어집니다.

3
한국어 발음과 요청 간격 보강하기
AI에게 보낸 프롬프트
방금 만든 generate_audio.py 스크립트에서 gTTS 언어 설정을 한국어('ko')로 확실하게 지정해 줘. 그리고 구글 서버에 너무 빨리 요청을 보내서 막히지 않도록 각 파일을 만들 때마다 2초 동안 일시 정지하는 time.sleep을 추가해 줘.
왜 이렇게 시켰나: gTTS의 기본 언어는 영어로 잡히는 경우가 많아서, 한국어 대본을 읽을 때는 언어 코드를 명시해 주는 편이 안전합니다. 무료 API는 요청이 몰리면 막힐 수 있으니, 실행 루프 안에 쉬는 시간을 넣어 두는 게 실전에서 훨씬 안정적입니다.

결과 확인: 코드가 업데이트된 뒤 다시 실행하면 약간의 지연과 함께 더 매끄러운 한국어 발음의 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 자동화 비교

댓글 쓰기

다음 이전