Claude Code 활용 쇼츠 대본 3단 분할 파이프라인 30분 만에 완성

Claude Code 활용 쇼츠 대본 3단 분할 파이프라인 30분 만에 완성

Claude Code 활용 쇼츠 대본 3단 분할 파이프라인 30분 만에 완성

블로그에 잠들어 있는 꿀팁 글을 60초 쇼츠 영상으로 재활용해 봅시다

오늘 만들 것
블로그에 잠들어 있는 꿀팁 글을 60초 쇼츠 영상으로 재활용해 봅시다

유튜브나 인스타그램 릴스를 시작할 때 가장 먼저 마주하는 난관은 대본 작성과 화면 기획입니다. 유용한 정보가 담긴 글이나 정리해 둔 원고가 있더라도, 이를 60초라는 짧은 시간 안에 소화할 수 있는 분량으로 다듬는 과정은 까다롭습니다. 게다가 각 장면에 어울리는 이미지 프롬프트까지 일일이 구상하고 작성하려면 상당한 시간과 노력이 들어갑니다.

텍스트 원고만 준비하면 나레이션 대본, 미드저니용 화면 묘사 프롬프트, 그리고 영상 편집기에 바로 불러올 수 있는 자막 타임라인까지 알아서 쪼개어 저장하는 자동화 환경을 다뤄보겠습니다. 어려운 프로그래밍 규칙을 깊이 이해하지 못해도 상관없습니다. 터미널 기반 AI 비서의 파일 생성과 흐름 제어 기능을 활용하면 짧은 시간 안에 결과물을 폴더 안에서 바로 얻게 됩니다.

텍스트 원고를 나레이션, 비주얼 프롬프트, 편집 타임라인으로 자동 분할하는 원리

텍스트 원고를 나레이션, 비주얼 프롬프트, 편집 타임라인으로 자동 분할하는 원리

자동 변환 과정의 중점은 원고를 읽고 문맥의 흐름에 맞춰 문장을 정교하게 나누는 작업에 있습니다. 수작업으로 처리하면 시간이 오래 걸릴 일이지만, 단순한 자동화 스크립트를 활용하면 빠르게 해결됩니다. 입력된 원고 텍스트를 마침표나 줄바꿈을 기준으로 분할한 후, 순차적인 장면 번호를 부여하고 이를 시청 흐름에 적합하게 가공합니다.

여기에 본문에서 탐지된 단어를 기반으로 미드저니나 DALL-E와 같은 생성형 도구에 입력할 영어 묘사문을 자동으로 매칭하는 규칙을 연결합니다. 복잡한 외부 라이브러리 설치 과정 없이 파이썬에 기본으로 포함된 모듈만 활용하여 구현하므로, 다양한 운영체제 환경에서 추가적인 설정 작업 없이 가동하는 숏폼 콘텐츠 전용 도구가 완성됩니다.

Claude Code 기동하고 5분 만에 대본 분할 파이프라인 구축하기

Claude Code 기동하고 5분 만에 대본 분할 파이프라인 구축하기

작업을 시작하려면 먼저 컴퓨터에 빈 폴더를 생성하고 터미널을 열어 개발을 진행할 준비를 마쳐야 합니다. 대화형 AI 도구를 작동시켜서 현재 폴더 안에서 뼈대 파일 생성과 실행 테스트를 진행할 수 있도록 명령합니다.

1
작업 폴더를 생성하고 개발 환경 준비하기

명령 프롬프트나 터미널 창을 열고 아래와 같이 명령어를 순서대로 입력하여 작업 폴더를 만들고 Claude Code 에이전트를 가동합니다.

AI에게 보낸 프롬프트
mkdir shorts-pipeline
cd shorts-pipeline
claude

도구가 실행되면 대화 상자에 원하는 자동화 명세를 한국어로 전달합니다. "폴더 안에 있는 원고(input.txt)를 읽고, 60초 분량의 나레이션 대본(shorts_voice.txt), 미드저니용 화면 프롬프트(shorts_scenes.json), 그리고 자막용 타임라인(shorts_timeline.csv)으로 나누어 주는 파이썬 코드를 작성해 줘." 명령을 접수한 AI는 프로젝트 폴더 구조를 파악하고 가동할 수 있는 소스코드를 빌드합니다.

표준 파이썬으로 구현하는 3단 분할 파이프라인 소스코드

자동으로 텍스트를 분석하여 3개의 리소스로 저장하는 파이썬 스크립트입니다. 문자열 파싱과 데이터 구조화 과정이 정갈하게 정리되어 있습니다.

2
자동 분할 파이썬 코드 작성하기

작성할 스크립트 파일명은 split_pipeline.py로 지정하며, 텍스트 분석에 필요한 정규표현식 모듈과 데이터 처리를 위한 모듈이 포함됩니다.

import os
import json
import re

DEFAULT_INPUT = '인공지능 코딩 도구인 Claude Code가 출시되었습니다.\n터미널 안에서 개발자와 대화하며 파일 수정과 명령 실행을 직접 처리합니다.\n이를 활용하면 복잡한 환경 설정 없이도 단 5분 만에 실시간 알림봇이나 자동화 파이프라인을 만들 수 있습니다.\n코딩을 모르는 초보자도 말로 지시하기만 하면 즉시 실행 가능한 앱을 만들어낼 수 있어서 1인 개발과 프로젝트 진행이 한결 용이해집니다.'

def split_shorts_pipeline(input_path, voice_path, scenes_path, timeline_path):
    if not os.path.exists(input_path):
        with open(input_path, 'w', encoding='utf-8') as f:
            f.write(DEFAULT_INPUT.strip())
        print('기본 테스트 원고 파일 생성 완료: ' + input_path)

    with open(input_path, 'r', encoding='utf-8') as f:
        text = f.read().strip()

    sentences = [s.strip() for s in re.split(r'[.!?\n]', text) if s.strip()]
    total_sentences = len(sentences)
    chunk_size = max(1, total_sentences // 3)
    
    scenes_data = []
    voice_lines = []
    timeline_lines = ['Scene,StartTime,Duration,Narration']
    
    keyword_translations = {
        'Claude Code': 'A futuristic glowing robot helper coding in a dark command terminal, neon lights',
        '알림봇': 'An alarm bell ringing with digital waves on a smartphone screen, high contrast tech style',
        '자동화': 'A beautiful conveyor belt processing glowing files and data packets in a modern digital factory',
        '초보자': 'A friendly hand clicking a single button on a sleek computer monitor, clean design',
        '프로젝트': 'A creative workspace with dual monitors displaying web applications, cozy lighting'
    }

    current_time = 0.0
    for i in range(3):
        start_idx = i * chunk_size
        end_idx = (i + 1) * chunk_size if i < 2 else total_sentences
        group = sentences[start_idx:end_idx]
        
        if not group:
            continue
            
        narration = ' '.join(group)
        scene_no = i + 1
        duration = len(narration) * 0.15
        
        prompt = 'A modern tech concept illustration, high contrast, clean minimalist art'
        for kr_word, en_desc in keyword_translations.items():
            if kr_word in narration:
                prompt = en_desc
                break
                
        voice_lines.append('[Scene ' + str(scene_no) + '] ' + narration)
        
        scenes_data.append({
            'scene': scene_no,
            'visual_prompt': prompt,
            'duration_seconds': round(duration, 1)
        })
        
        timeline_lines.append('Scene ' + str(scene_no) + ',' + str(round(current_time, 1)) + ',' + str(round(duration, 1)) + ',\'' + narration + '\'')
        current_time += duration

    with open(voice_path, 'w', encoding='utf-8') as f:
        f.write('\n\n'.join(voice_lines))
        
    with open(scenes_path, 'w', encoding='utf-8') as f:
        json.dump(scenes_data, f, ensure_ascii=False, indent=2)
        
    with open(timeline_path, 'w', encoding='utf-8') as f:
        f.write('\n'.join(timeline_lines))

    print('--- 3단 분할 파이프라인 작동 완료 ---')
    print('1. 나레이션 대본 저장 완료: ' + voice_path)
    print('2. 화면 연출 프롬프트 저장 완료: ' + scenes_path)
    print('3. 편집용 타임라인 저장 완료: ' + timeline_path)

if __name__ == '__main__':
    split_shorts_pipeline('input.txt', 'shorts_voice.txt', 'shorts_scenes.json', 'shorts_timeline.csv')

이 코드는 input.txt 파일이 폴더 내부에 없을 때 오류를 내는 대신 디폴트 문장을 작성하도록 조치되어 초기 실행 오류를 방지합니다. 대화창에서 작성이 마무리된 후 빌드가 성공하면, 소스코드 비교 및 수정을 위한 터미널 명령을 통해 세부 사항을 조율할 수 있습니다.

CLAUDE.md를 활용한 대본 길이 및 스타일 제약 규칙 설정

파이프라인이 구동될 때마다 일관된 품질을 얻으려면 AI가 준수해야 할 명시적 가이드를 배치해 주어야 합니다. 프로젝트의 상위 폴더에 CLAUDE.md 파일을 두고 명세를 기록하면, 작업 대화 도중에 맥락이 변경되어도 일치하는 규칙에 따라 코드와 결과물을 통제하기 용이합니다.

3
CLAUDE.md에 자동 분할 안전 규칙 고정하기

작업 공간에 다음 설정이 기록된 규칙 파일을 추가해 둡니다.

AI에게 보낸 프롬프트
# Shorts Splitter Rules
- 나레이션 대본은 무조건 구어체(~해요, ~입니다)로 매끄럽게 통일할 것.
- 각 장면(Scene)의 이미지 프롬프트는 영문으로 묘사할 것 (미드저니 및 DALL-E 호환).
- 전체 목소리 녹음 분량은 150단어 이하(약 60초 분량)로 타이트하게 제한할 것.
- 실행 및 테스트 명령어: python split_pipeline.py

이렇게 설정해 놓으면 새로운 원고 텍스트를 제공하고 변환을 맡겼을 때도 매끄러운 톤을 유지하고, 정해진 시간 제약을 준수하면서 결과물을 생성할 수 있습니다.

이미지 생성에 쓰이는 영문 묘사문을 동적으로 번역 API와 연동하면 호출 제한이나 추가 비용 등의 문제가 발생하기도 합니다. 초기 구현 단계에서는 자주 다루는 중요 키워드를 파이썬 내부 사전에 고정해 두는 편이 가볍고 안정적인 운영을 돕습니다.

터미널 실행으로 변환된 3가지 영상 리소스 확인하기

코드 작성과 명세 고정이 완료되었다면, 터미널 환경에서 스크립트를 수행하고 분리된 결과물을 검수할 차례입니다. 터미널을 통해 스크립트를 실행한 뒤 정상적으로 출력된 데이터 파일들을 살펴보겠습니다.

4
로컬에서 파이프라인 가동하고 변환 파일 확인하기

명령줄 창에 아래의 명령을 차례대로 수행해 스크립트를 동작시키고 각 산출물의 상태를 확인해 줍니다.

AI에게 보낸 프롬프트
python split_pipeline.py
cat shorts_voice.txt
cat shorts_scenes.json
cat shorts_timeline.csv

하나의 긴 문장이었던 원고가 세 장치로 분할되어 텍스트와 JSON 구조에 어긋남 없이 보관되어 있어야 합니다. shorts_voice.txt는 구어체 대본을 담고 있어야 하며, shorts_scenes.json은 이미지 생성에 적절한 영어 설명문을 제공해야 합니다. 자막 관리에 쓰이는 csv 파일 역시 각 콤마를 경계로 시간대와 나레이션이 들어맞아야 정상 가동된 것입니다.

긴 블로그 본문에서 대본을 발췌하고 매번 이미지 설명문을 번역기로 돌려가며 작업했던 번거로운 절차는 이제 간소해집니다. 터미널 중심의 빌드 환경과 단일 파이썬 스크립트를 연동해 두면, 원본 글을 투입하고 아주 빠르게 숏폼 콘텐츠에 적합한 데이터 구조로 변환할 수 있는 작업 흐름이 구성됩니다.

관련 검색어

  • 🔍 Claude Code 사용법
  • 🔍 Claude Code 비교
  • 🔍 유튜브 쇼츠 사용법
  • 🔍 유튜브 쇼츠 비교
  • 🔍 자동화 파이프라인 사용법
  • 🔍 자동화 파이프라인 비교

댓글 쓰기

다음 이전