brunch

You can make anything
by writing

C.S.Lewis

by SeaWolf Dec 28. 2023

GPTs가 스스로 스토리부터 비디오까지 무인 자동 제작

누구나 스토리텔링을 만드는 것이 매우 중요하지만 어려운 부분이다.

뭐니 뭐니 해도 좋은 스토리를 창작하는 게 핵심이다.

챗GPT가 등장하면서 AI를 이용한 스토리 생성에 혁신이 이뤄졌지만 아직도 갈길은 요원하다고 본다.


거의 1년 전쯤 챗GPT와 스테이블디퓨전을 이용한 동화책을 만들어,

카카오 브런치에 게재를 하였던 경험이 있어 이번에는 좀 더 멀티모달을 만들어 보기로 했다.


목표는 최초 설정 후 "사람이 배제된 채 99% 이상 AI 스스로 최종 결과물까지 만들게 하는 무인화가 핵심"으로 잡았다. 물론, 참신하고 개연성 있는 스토리가 인과관계로 연결되어야 한다는 것은 필수다.

이에 따라 "아동용 유튜브 콘텐츠"를 실행 목표로 설정했다.




최종 완성 결과물



아동용으로 설정한 이유는, 


1) 스토리 다루기가 상대적으로 쉬울 것 

2) 비디오의 품질 대비 기대효과가 클 것으로 예상 

3) 아동용 콘텐츠는 처음이라 만들어 보고 싶다는 생각


[구체적인 실행 방안(아키텍처)을 구상하고 직접 빌드하기] 


1. 스토리 생성 로직은 "일관성을 유지하면서 계속 새로운 에피소드가 추가되는

구조로 설계해야 지속성이 생길 것"이라고 보았다.


2. 이에 따라 아동용 스토리텔링 전용 GPTs를 만들었다.(현재는 나만 보기로 설정)

GPTs의 인스트럭션은 약 A4 1페이지 분량으로 아주 세세하게("전체 콘셉트와 맥락을

유지할 수 있게 하는 것이 목적") 설정하였다.

인스트럭션에 모든 작성글의 서두와 말미에 지정한 키워드들을 반드시 사용(이 영상을 처음 보는 사람이라도 어떤 콘셉트와 배경인지를 인식시키고, 다음 편을 기대하게 만들기 위한 텍스트적 설정)하게 하였다.

본문은 자연스러운 시간의 흐름에 따라 위기, 갈등, 해결의 축으로 진행함에 있어

세부적인 예시들을 다수 설정하여 맥락을 유지한 채로 새로운 에피소스 생성 역시

그 룰을 따르게 하였다.

*"토리의 모험"이란 콘셉트를 "매일매일 자고 나면 얼굴이 변하는 소년"으로 설정한

이유는 이미지 생성 시 시드 유지가 곤란한 특성이 있기에, 아예 단점을 장점으로

변모시키려는 의도이며, 매번 새로운 에피소드가 생성되기에 오히려 더 좋다고

판단하였다.


3. GPTs에서 생성된 스크립트를 Zapier를 통해 후속 가공 및 멀티모달 생성을 위해

Actions를 api로 연결하였다.

*GPTs Actions 설정 상세 방법은 본인이 작성한 카카오 브런치 링크를 참조

https://brunch.co.kr/@seawolf/9


4. GPTs에 연결하면, GPTs는 나에게 "새로운 에피소드의 주제 키워드"를 묻게 하였다. 단지 사람이 결정할 일은 그것뿐이다. 물론 이것도 랜덤 하게 할 수 있지만 말이다.

'주제 키워드' 도출방법은 인스트럭션에 설정한 바대로 다음 절차를 따른다.

1) 검색 포털을 통해 '아동'들이 선호(검색 키워드의 유입량 등으로 판단)하는 최신

'키워드'(막상 해보니 게임, 놀이 등이 역시나 압도적이다.)를 추출해 제시하게 하였다.

2) 제시받은 키워드 중 마음에 드는 것을 선택하면

3) 인스트럭션에 지정된 로직대로 단박에 한 페이지 분량의 새로운 스토리를 개연성

있게 출력한다.

4) 대부분 마음에 드는 참신한 내용이지만, 프롬프트로 약간의 부분 변경이나 삭제를 요청할 수 있다.

5) 최종 확정된 텍스트는 Actions를 통해 "내 이메일이나 api로 전송" 하라는 명령을 하면 즉시 전송되고 트리거가 발생한다.


5. 이제 GPTs로부터 호출되고 전송값(텍스트)을 넘겨받은 Zapier에서는 내가 설정

해 놓은 순서대로 API가 호출되며 데이터 가공, 융합 및 생성 등이 이루어진다.

6. 최종 비디오 생성까지 멀티모달 구성 요소(API 및 여러 서비스 플랫폼 활용)

1) 최적화된 텍스트 스크립트

2) 텍스트 TO 음성 생성

3) 스크립트 말뭉치들(통상 1 문장에서 3 문장까지를 하나의 덩어리로 규정)의

문맥과 키워드가 자동추출되어 이미지 생성

4) 음악, 음향, 이모티콘 등 부가 액세서리들도 문맥에 맞게 자동 배치

5) 생성된 음성을 자막으로 출력

6) 최종 비디오 렌더링

7) 선택 사항으로 "다국어 언어 변환"


6. 완성본 다운로드로 완료


7. 유튜브 콘텐츠로 등록



소요시간을 측정해 보니(점점 빨라진다.),


1. GPTs를 통해 새로운 스토리 생성 전 과정: 1분 미만

2. Actions 호출을 통한 백엔드 api들이 후속 처리: 1~2분 남짓

3. 최종 완성된 멀티모달 비디오 자동 생성까지 약 3분

4. 이 부분에서 사람이 확인하여 수정할 부분에 대해 약간의 리터칭을

 해주면 퀄리티는 매우 상승함(단순 리터칭 한다고 하면 3분 남짓)

5. 최종 렌더링: 3~5분(비디오 사이즈에 따라 다름)

즉, 10분이면 꽤 괜찮은 수준의 3D 모델링 배경의 탄탄하고 재밌는 아동용 비디오 한 편이 만들어지는 것이다.


비용이래 봤자 OPENAI를 포함한 몇 가지 유료 API들 이용료와 호스팅 비용 다 합쳐도 3분 이내 영상 하나 만드는데 원가측면에서 분당 1천 원 미만일 것이다.



[완성된 결과물 보기 링크]


"토리의 모험" 에피소드 1: K-POP 스타 변신(한국어)

https://www.youtube.com/watch?v=m4U-pQPXQc8&t=15s



"토리의 모험" 에피소드 1: K-POP 스타 변신(영어 버전)

https://www.youtube.com/watch?v=CT3KHU7BvIs



"토리의 모험" 에피소드 2: 슈퍼히어로 변신(한국어)

https://www.youtube.com/watch?v=U4n_W22zWaY&t=7s



"토리의 모험" 에피소드 3: 산타클로스 변신(한국어/ 3D모델링 버전)

https://www.youtube.com/watch?v=wl2RWAqOXtY



"토리의 모험" 에피소드 4: 요리사 변신(한국어/ 클레이 버전)

https://www.youtube.com/watch?v=CdF7Q1fONFM&t=15s


공정의 90% 이상은 무인 자동화를 달성했다고 본다.



아동용 콘텐츠는 처음인지라 꼬꼬마들이 재밌게 보아주었으면 한다.




더 많은 정보를 원하신다면 커뮤니티에 참여하세요.

[ 커뮤니티(카카오톡 오픈채팅) 참여 링크 ]

https://open.kakao.com/o/gE6hK9Vf



                    


                    

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari