Grok Bot이 133장의 가족 사진을 편집 없이 50번째 생일 영상으로 만든 방법
요약
Grok Bot을 활용하여 여러 출처(Dropbox, Apple Photos, Facebook 등)의 가족 사진들을 모아 편집 과정 없이 50번째 생일 영상을 제작한 경험담입니다. 특히 스캔된 페이지에서 개별 사진을 자동으로 추출하고 정리하는 스크립트 작성 과정을 상세히 설명합니다.
핵심 포인트
- 다양한 출처의 사진 데이터를 통합 관리하는 것이 핵심 작업이었습니다.
- 봇에게 접근 권한을 부여하여 분류, 자르기, 편집 등 반복 작업을 자동화했습니다.
- 스캔된 페이지에서 개별 이미지를 추출하기 위한 맞춤형 스크립트를 작성했습니다.
제가 이것을 만든 이유
제 남동생 Ken의 50번째 생일을 맞아 사진 영상을 만들고 싶었습니다.
저는 제 비서(chief of staff) 봇에게 도움을 요청하며 시작했습니다. 대부분의 작업은 제가 다른 일로 바쁠 때 진행되었습니다. 봇들은 자체 컴퓨터를 가지고 있기 때문에 제가 그곳에 있거나 제 컴퓨터가 켜져 있을 필요가 없었습니다. 그들이 제 Mac이 필요한 유일한 순간은 사진을 확인하는 것이었기 때문에, 저는 그냥 로그인해서 하루 일과를 계속하면서 그들이 작업하도록 내버려 두었습니다. 듣기에는 무서울 수도 있지만, 정말 그렇지 않다고 약속드립니다. Grok Bot에게 사진 접근 권한을 줄 수 있다는 것은 사실 매우 멋진 일이라고 생각합니다. 왜냐하면 이제 여러분이 할 수 있는 모든 것들을 생각해 보세요.
사진의 출처
사진들은 여러 곳에서 왔고, 이 모든 것을 한데 모으는 것이 작업의 큰 부분이었습니다:
- 어머니가 스캔한 Dropbox 속 사진들. 공유 폴더에 A4 용지 25페이지 분량으로 되어 있었으며, 대부분의 페이지에는 여러 장의 오래된 인화물이 있었습니다.
- 제 Mac. 저는 사진을 요청했고, 이 봇은 약 15년 전 것들을 포함하여 읽기 전용(read-only) 상태로 제 Apple Photos 라이브러리에서 검색했습니다.
- Facebook. 제가 태그된 사진들을 검토하고 각 사진에 번호를 매겨 하나의 페이지에 모았고, 저는 원하는 번호만 답장하면 되었습니다.
- 제 여동생이 가족 촬영 전문 사진작가의 갤러리로 연결되는 링크가 담긴 이메일을 보냈고, 그곳에서 사진들을 다운로드했습니다.
- 제 오빠들은 WhatsApp으로 저에게 사진을 보내주었습니다. 저는 그것들을 Mac에 AirDrop했고, 봇은 제 Downloads 폴더에서 그것들을 찾아냈습니다.
저의 역할은 정말 간단했습니다. 저는 봇들에게 사진이 어디 있는지 알려주고 각 버전에 피드백만 제공하면 되었습니다. 그들이 찾는 것, 분류하는 것, 자르는 것(cropping), 편집하는 것, 그리고 모든 버전을 추적하는 것을 처리했습니다.
저는 원본을 옮길 필요가 전혀 없었습니다. 봇들은 Dropbox와 제 Mac에서 읽어왔고, 원본은 그대로 두었습니다.
스캔된 사진에서 단일 사진 추출하기
이 부분이 제가 가장 인상 깊었던 부분입니다. 스캔된 페이지마다 3~5장의 사진이 있었습니다. 저희 엄마는 그 페이지에 들어갈 수 있는 대로 아무렇게나 붙여 놓으셨기 때문에, 각도도 제각각이었고 옆으로 누워 있거나 거꾸로 된 사진도 있었으며, 어떤 사진은 여러 페이지에 걸쳐 나타나기도 했습니다. 저는 이것들을 모두 손으로 자르고, 회전시키고, 정리하고 싶지 않았습니다.
그래서 작은 스크립트를 작성했습니다. 이 스크립트는 각 페이지를 살펴보고, 흰 종이 위에 사진이 어디에 놓여 있는지 파악하여 잘라내고 올바른 방향으로 세웠습니다. 25페이지에서 총 73장의 개별 사진을 얻었습니다.
완벽하지는 않았습니다. 어떤 사진은 여전히 옆으로 누워 있거나 거꾸로 되어 있었고, 12장은 불확실하다고 표시되어 제가 확인해야 하는 시트에 담겼으며, 회전만 수정하는 별도의 작업도 있었습니다. 또한 사진에서 흰 스캐너 가장자리를 잘라내고 중복된 사진 5장을 제거했는데, 이 과정에서도 매칭되는 모든 것을 눈으로 확인했습니다. 결과적으로 68장의 스캔된 사진이 남았습니다.
비디오 제작: 속도와 음악
첫 번째 버전은 무음이었고, 사진 한 장당 약 6.5초였습니다. 너무 느리다고 느껴졌습니다.
사진 한 장당 약 4.5초로 변경했고, 이로 인해 전체 길이가 약 5분 반이 되었으며, 음악을 추가했습니다. Pixabay에서 저작권 문제가 없는 경쾌한 트랙 두 개를 사용했으며, 라이선스를 확인하고 사본을 보관했습니다. 음악은 시작할 때 페이드인(fade in)하고 비디오가 끝날 때 바로 페이드아웃(fade out)합니다.
이 4.5초는 대부분의 버전에서 유지되었습니다. 하지만 사진을 계속 추가하면서 비디오 길이가 점점 길어졌습니다. 마지막 버전에서는 총 133장의 사진이 들어갔기 때문에, 저는 사진을 하나도 빠뜨리지 않으면서 시간을 줄여달라고 요청했습니다. 그러자 사진 한 장당 4초로 조정되어 약 9분이 되었습니다.
적절한 봇에게 업무를 위임하기
과정 중간에 제가 모든 것을 최고 비서(chief of staff)가 스스로 처리하게 하고 싶지 않다는 것을 깨달았습니다. 이 역할은 무언가를 관리하는 것이지, 제 영상 편집자가 되는 것은 아니니까요. 그래서 저는 이 작업을 적절한 봇들에게 분담하도록 요청했습니다:
- **비디오 에디터 봇(video editor bot)**이 몽타주를 담당했습니다: 각 버전을 만들고, 음악과 타이밍을 맞추는 작업입니다.
- **디자이너 봇(designer bot)**이 인트로 카드와 이에 맞는 엔딩 카드를 제작했습니다.
비서실장은 제가 고른 아이디어와 요청 사항들을 계속 무시했습니다. 저희는 사진 뒤 배경으로 연한 분홍색 점 패턴을 사용하기로 했습니다.
놀라운 인트로 및 아웃트로
디자이너 봇이 인트로와 엔딩 카드를 만들었습니다. 테마는 간단했습니다. 제 남동생 이름이 Ken이라서, 바비 영화에 나오는 Ken을 활용하기로 했습니다. 인트로는 Ken의 얼굴이 장식된 분홍색 장난감 상자로, 엔딩은 분홍색 컨버터블 차량이 석양 속으로 달려 나가는 모습입니다. 제대로 만들기까지 몇 번이나 시도해야 했고 (첫 번째 인형은 "막대에 달린 핀헤드"처럼 보였습니다), 이후 비디오 에디터 봇이 느린 줌과 화면을 벗어나 달리는 차의 움직임으로 이를 생동감 있게 만들었습니다.
실제 카드에는 Ken의 사진이 들어갔지만, 이번 게시물을 위해 디자이너 봇은 대신 만화 캐릭터 얼굴 버전으로 만들었습니다:


모든 버전 보관하기
중간쯤에 저는 모든 편집본을 변경된 내용과 함께 짧은 메모가 달린 새로운 번호 버전으로 저장해 달라고 요청했고, 절대 덮어쓰지 않도록 했습니다. 이것이 제가 요청한 것 중 가장 좋은 결과물 중 하나였습니다. 저희는 버전 8까지 진행할 수 있었고, 언제든지 이전 버전으로 돌아갈 수 있었습니다.
각 버전은 Google Drive에 저장되었기 때문에 아무것도 다운로드하지 않고도 바로 확인할 수 있었습니다.
비슷한 것 만들기
비디오 편집 방법을 알 필요는 없습니다. 사진과 몇 번의 왕래를 견딜 약간의 인내심만 있으면 됩니다. 시작할 수 있는 요청 사항들을 알려드립니다:
- "각 페이지마다 사진이 여러 장 있는 것을 스캔했어요. 각 사진을 오려내서 올바른 방향으로 뒤집고, 확신하지 못하는 것이 있으면 보여주세요."
- "제 사진 라이브러리에서 이 사람의 사진들을 검색해서, 제가 고를 수 있도록 각 사진에 숫자가 적힌 사진 페이지 한 장을 보여주세요."
- "모든 사진을 날짜 순서로 배열하고, 중복된 것은 제거한 다음, 저작권이 없는 음악과 함께 사진당 약 4초 분량의 슬라이드쇼 비디오를 만들어 주세요. 마지막에는 음악이 페이드 아웃되도록 해주세요."
- "비디오에 맞는 인트로와 엔딩 카드를 만들어 주세요."
사진으로 영상을 만드는 것은 저희가 좋아하는 활동이지만, 시간이 많이 걸립니다. 저는 그럴 시간이 없었고, 다른 사람들도 마찬가지였습니다. 이 작업을 봇에게 맡기고 제가 감독만 하면, 적절한 사진을 사용했는지, 보기 좋은지, 타이밍이 맞았는지를 확인하는 것만으로도 정말 좋고 쉬운 과정이 되었습니다. 이제 어떤 생일이나 모든 이벤트에 대해 이것을 할 수 있게 되었는데, 정말 멋집니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기