Amazon Bedrock 활용 : 숏폼 비디오 자동 생성하기

안녕하세요 오늘은 BESPIN GLOBAL Innovate AI실 이정훈님이 작성해주신 ‘Amazon Bedrock 활용 : 숏폼 비디오 자동 생성하기’ 대해 소개해드리도록 하겠습니다.

목차

  1. Amazon Bedrock을 활용한 숏폼 비디오 자동 생성
    • 숏폼 영상이란?
    • 아키텍처 개요
    • AWS 환경에서 배포하기
    • 주제 및 하이라이트 구간 추출 시 활용 프롬프트
    • 활용 성과

1. Amazon Bedrock을 활용한 숏폼 비디오 자동 생성

생성형 AI는 단순한 챗봇을 넘어, 영상 분석·편집·콘텐츠 자동 생성 등의 다양한 활용 사례로 확장되고 있습니다. AI 기반 숏폼 영상 자동 편집 툴을 직접 배포하고 활용하여 기존 영상들을 자동으로 숏폼을 제작할 수 있습니다.

  • 주요 기능
    • 긴 영상을 자동 분석 & 최대 15개 숏폼 생성
    • AI 기반 주제 추출 & 하이라이트 분석
    • 자막 & 제목 자동 생성 (사용자 편집 가능)
    • 9:16 포맷 변환 및 화면 크롭 지원
    • 완전 서버리스 구조로 비용 효율적 운영

1-1. 숏폼 영상이란?

숏폼(Short-form) 영상은 1분 이내의 짧은 영상 콘텐츠를 의미합니다.

  • 주요 특징
    • 기존 16:9 가로 영상이 아닌 9:16 세로 영상 포맷
    • 틱톡, 유튜브 쇼츠, 인스타그램 릴스 등 SNS 최적화
    • 2023년 기준 소비자의 70% 이상이 숏폼 콘텐츠 소비
  • 활용 사례
    • 기존 긴 영상을 짧게 요약하여 핵심 메시지 전달
    • 하이라이트 클립을 활용해 기본 콘텐츠 유입 유도
    • 브랜드 인지도를 높이기 위한 SNS 광고 및 홍보 활용

하지만, 기존의 숏폼 제작 과정은 많은 시간과 인력이 필요하며 반복적인 작업이 많습니다.

1-2. 아키텍처 개요

  •  동작 과정
    • 사용자가 긴 영상을 업로드
    • Amazon Transcribe를 이용해 음성을 텍스트로 변환
    • Amazon Bedrock (LLM)이 영상을 분석하여 주요 주제 & 하이라이트 구간 선택
    • AWS Lambda & Step Functions이 하이라이트 구간을 기반으로 비디오 클립 생성
    • Amazon Elemental MediaConvert를 이용해 9:16 비율의 숏폼 비디오 생성
    • 최종 검수 후 AWS Amplify를 통해 배포 & 사용자 제공

1-3. AWS 환경에서 배포하기

 1-3-1. 필수 사전 준비

1-3-2. 샌드박스 환경 배포

# 1. 저장소 클론
git clone https://github.com/aws-samples/gen-ai-video-short-form-generator.git

# 2. 종속성 설치
cd gen-ai-video-short-form-generator
npm install

# 3. 클라우드 샌드박스 배포
npx ampx sandbox

# 4. 프론트엔드 앱 실행
npm run dev

1-3-3. AWS Amplify를 활용한 배포

저장소를 만들고 아래 가이드에 따라 배포

(URL : https://docs.amplify.aws/react/start/quickstart/#2-deploy-the-starter-app )

1-4. 주제 및 하이라이트 구간 추출 시 활용 프롬프트

주제 및 하이라이트 구간을 추출 시 FM에게 지시하는 프롬프트는 다음과 같습니다.

  • 주제 추출

Below is a transcript of a video.

    <script> {script} </script>

    Extract the agenda items from the script in the order they appear. Follow these guidelines:

    1. Aim for at least 15 topics. If the video is short, provide as many as possible.

    2. Topics should be specific and explanatory of the video's overall content.

    3. Express each topic in the script's original language.

    4. Keep proper nouns in their original language (typically English, but can be in Korean, Japanese, or other).

    5. Format each topic like a concise video title, using 8 words or less.

    6. Ensure topics follow the video's chronological order.

    Present the extracted agenda in this JSON format:

    <JSON>

    {{

    "Topics": [

        "Topic1",

        "Topic2",

        "Topic3",

        ...

        "Topic9"

    ]

    }}

    </JSON>

    Respond only with the JSON structure above, filled with the extracted topics.

 

  • 주제에 대한 하이라이트 추출 (200단어 이내)

FIND THE MOST RELEVANT CONTENT:

 

    Carefully read the entire <script> {script} </script>.

    Understand the given <Topic> {topic} </Topic>.

 

    <instructions>

    1. Read the given <script></script> carefully.

    2. Select the most relevant sentences or parts(consisted of sentences) that would come together and act as a separate script, best explaining the <topic></topic>.

    3. Use [...] to indicate omitted text between non-consecutive selections.

    4. Maintain the original language, including any errors.

    5. Try to keep it less than 200 words. Not a must.

    6. Format your response as follows:

    <thought>

    Briefly explain:

    - Your selection process

    - How you preserved the original text

    - Any challenges faced

    - Reasons for non-consecutive selections (if applicable)

    </thought>

    <Topic>Brief topic description</Topic>

    <JSON>

    {{

    "VideoTitle": "Concise title summarizing the content",

    "text": "Your selection of relevant sentences, preserving original text exactly"

    }}

    </JSON>

    6. Double-check for accuracy and format adherence.

    </instructions>

    <important_notes>

 

    Prioritize relevance and preservation of original text.

    Match the output language to the input script.

    Do not correct any errors in the original text.

    Maintain the exact format, including double curly braces in JSON.

    Try to keep the selection total in less than 200 words. 

    Use [...] for non-consecutive selections.

    </important_notes>

 

    <examples>

    Example 1 (English):

    <script>

    The pyramids of Egypt are ancient monumental structures. Most were built during the Old and Middle Kingdom periods. The most famous Egyptian pyramids are those found at Giza, on the outskirts of Cairo. Several of the Giza pyramids are counted among the largest structures ever built. The Pyramid of Khufu is the largest Egyptian pyramid. It is the only one to remain largely intact. Egyptologists believe that the pyramids were built as tombs for the country's pharaohs and their consorts during the Old and Middle Kingdom periods.

    </script>

    <Topic>Egyptian Pyramids</Topic>

    <JSON>

    {{

    "VideoTitle": "The Magnificent Pyramids of Ancient Egypt",

    "text": "The pyramids of Egypt are ancient monumental structures. Most were built during the Old and Middle Kingdom periods. [...] The Pyramid of Khufu is the largest Egyptian pyramid. It is the only one to remain largely intact. Egyptologists believe that the pyramids were built as tombs for the country's pharaohs and their consorts during the Old and Middle Kingdom periods."

    }}

    </JSON.

    </examples>

1-5. 활용 성과

  • 기존 4개의 긴 영상 → 30개 이상의 숏폼 자동 생성
  • 기존 대비 90% 이상의 편집 시간 절감 (1시간 이내 편집 완료)
  • 총 1만 회 이상의 조회수 확보

활용 성과

여기까지 ‘Amazon Bedrock 활용 : 숏폼 비디오 자동 생성하기’에 대해 소개해드렸습니다. 유익한 정보가 되셨길 바랍니다. 감사합니다. 

Written by 이 정훈 Innovate AI실

BESPIN GLOBAL