텍스트 기획을 비주얼로 바꾸는 'Draftie' 개발기
지난 글에서 소개한 ClauseMate 가 철저한 '논리와 팩트'의 세계였다면,
이번 프로젝트는 정반대 지점에 있습니다. 바로 '창의와 영감'의 영역입니다.
법률 계약서를 검토하는 AI를 만들고 나서, 저는 문득 이런 생각이 들었습니다.
"AI가 변호사도 될 수 있다면, 영화감독이나 PD도 될 수 있지 않을까?"
요즘 누구나 숏폼(Shorts, Reels)을 찍고 싶어 하고, 많이 찍기도 합니다만,
카메라를 켜기 전, 우리는 거대한 벽에 부딪힙니다.
바로 "그래서 뭘, 어떻게 찍지?"라는 막막함입니다.
글(Script)은 ChatGPT가 써주지만, 영상은 글이 아닙니다. 화면(Visual)입니다.
"텍스트로 된 아이디어를, 촬영 직전의 비주얼 콘티로 바꿔주는 도구."
이것이 저의 두 번째 프로덕트, Draftie(드래프티)의 시작이었습니다.
이번에는 Gemini 뿐 아닌, DALL-E 3의 도움도 같이 받게 되었습니다.
좌뇌 (Gemini 2.5): 논리적으로 기승전결을 짜고, 15초/30초 길이에 맞춰 대사를 다듬습니다.
우뇌 (DALL-E 3): 텍스트 묘사를 바탕으로 조명, 앵글, 분위기를 시각화합니다.
이 둘을 연결하는 것이 제 역할이었습니다.
Gemini에게
"이 대사에 어울리는 이미지를 DALL-E가 이해할 수 있는 영어 프롬프트로 바꿔줘"
라고 지시하는 프롬프트 엔지니어링이 핵심이었습니다.
예를 들어,
"청소기가 쓱 지나간다"
라는 대사를 Gemini를 거쳐,
"Cinematic low-angle shot, modern cordless vacuum cleaner on wooden floor, dynamic motion blur"
로 변환해 DALL-E에게 넘기는 식이죠. 이 과정이 매끄럽게 이어질 때의 희열은 엄청났습니다.
하지만 곧바로 기술적인 장벽에 부딪혔습니다. 바로 '속도'였습니다.
고해상도 이미지를 생성하는 건 생각보다 무거운 작업입니다.
DALL-E 3가 이미지 한 장을 그리는 데 약 10초가 걸립니다.
만약 5컷짜리 콘티를 만든다면?
"1번 그림 그림 -> (대기) -> 2번 그림 그림 -> (대기)..." 이렇게 순차적으로 처리하면 사용자는 로딩 화면만 1분은 고사하고 3-4분 동안 보고 있어야 합니다.
웹 서비스에서 1분 이상은 영겁의 시간입니다.
여기서 저는 '병렬 처리(Concurrency)'라는 카드를 꺼냈습니다.
파이썬의 ThreadPoolExecutor를 활용해, 마치 주방장 5명을 동시에 고용하듯 5장(혹은 3장)의 이미지를 동시에 요청했습니다.
Before (순차): 30초(최소) x 5장 = 150초 이상 소요
After (병렬): 5장을 동시에 시작 = 가장 늦은 1장 시간(약 50초) 내외로 완료
서버 리소스 관리 때문에 약간의 조율은 필요했지만, 이 기술적 결정 하나로 Draftie는 "답답한 툴"에서 "쓸만한 도구"로 진화할 수 있었습니다.
기능이 완성된 후엔 '옷'을 입혔습니다.
ClauseMate가 신뢰감을 주는 'Blue & White'였다면, Draftie는 창작의 에너지를 담고 싶었습니다.
다크 모드(Dark Mode): 영상 편집 툴(Premiere, Final Cut)들이 어두운 배경을 쓰는 이유는 콘텐츠에 집중하기 위함입니다. Draftie도 이를 따랐습니다.
옐로우(Yellow): 어둠 속에서 번뜩이는 아이디어, 혹은 촬영장의 '슬레이트'를 상징하는 노란색을 포인트 컬러로 잡았습니다.
그리고 "Draftie." 라는 이름에 마침표를 찍고, .app 도메인을 연결했습니다.
단순한 토이 프로젝트가 아니라,
"당신의 초안(Draft)을 완성해 주는 친구(ie)"라는 정체성을 부여한 것입니다.
배포 과정은 역시나 ClauseMate때와 같이 험난했습니다.
Render(클라우드) 서버에 올리자마자 서비스가 자꾸 뻗어버리는 현상이 발생했습니다.
로그를 뜯어보니 범인은 'Time out'이었습니다. 이미지를 생성하느라 30초 이상 응답이 없자, 성격 급한 서버가 "얘 죽었나 봐" 하고 프로그램을 강제로 종료시킨 것이었죠.
Gunicorn 서버 설정을 뜯어고쳐 타임아웃 제한을 120초, 300초로 넉넉하게 늘려주고 나서야 비로소 Draftie는 안정적으로 그림을 그려내기 시작했습니다.
이 과정에서 "로컬 환경과 프로덕션 환경은 천지 차이"라는 개발의 진리를 다시금 깨달았습니다.
Draftie를 개발하며 확신한 것이 있습니다.
"지금은 아이디어만 있다면, 누구나 디렉터가 될 수 있는 시대"라는 것입니다.
코딩을 몰라도, 그림을 못 그려도 괜찮습니다. AI라는 도구, 그리고 약간의 실행력만 있다면 우리는 머릿속의 상상을 단 며칠 만에 눈앞의 현실로(그것도 아주 그럴듯하게!) 만들어낼 수 있습니다.
저의 이 작은 시도들이, 무언가를 만들고 싶어 망설이는 분들에게 작은 자극이 되었으면 좋겠습니다. 이제 저는 또 다른 상상을 하러 갑니다. 다음엔 또 무엇을 만들어볼까요? 좋은 제안이 있으시면 언제든지 코멘트 남겨주세요! 또다른 우당탕탕 개발기로 찾아 뵙겠습니다.
� 당신의 첫 번째 AI 감독, Draftie 써보기: https://draftie.app