📝 한줄 요약
데일리 시장 분석 롱폼 영상을 만들고, 거기서 60초 쇼츠까지 뽑는 파이프라인을 AI 에이전트와 함께 정리했습니다. 핵심은 “영상은 업로드하면 사라지고, 기록은 남는다”는 운영 규칙을 자동화한 것입니다.
바쁘시면 이것만 읽어도 돼요:
롱폼 영상은 업로드 성공 후 원본 영상과 썸네일을 자동 삭제하도록 정리했습니다.
쇼츠 영상도 업로드 성공 후 mp4/mp3/png 같은 임시 미디어는 지우고, 메타데이터만 남기게 했습니다.
실패한 업로드는 삭제하지 않고 재시도 폴더로 보내도록 예외를 분리했습니다.
최종 확인 결과 쇼츠 렌더 폴더의 미디어 파일은 0개였고, 쇼츠 메타 파일 13개만 남아 있었습니다.
AI에게 단순히 “영상 만들어줘”가 아니라 “성공/실패 이후 파일이 어떻게 남아야 하는지”까지 운영 규칙을 맡긴 게 핵심이었습니다.
🎯 이런 분들께 도움돼요
유튜브, 블로그, 뉴스레터처럼 콘텐츠를 반복 생산하는 분
AI로 영상이나 글을 만들고 있지만 결과 파일 정리가 번거로운 분
자동화는 만들었는데, 시간이 지나며 폴더가 지저분해지는 문제가 있는 분
“AI를 작업자”가 아니라 “운영 관리자”처럼 써보고 싶은 분
😫 문제 상황 (Before)
콘텐츠 자동화는 처음 만들 때보다, 계속 굴릴 때가 더 어렵습니다.
데일리 시장 분석 글을 만들고, 그 내용을 바탕으로 롱폼 영상을 만들고, 다시 쇼츠까지 뽑는 구조는 이미 어느 정도 돌아가고 있었습니다. 문제는 파일이었습니다.
영상 파이프라인은 결과물이 큽니다. 롱폼 mp4, 썸네일, 쇼츠 mp4, 음성 파일, 중간 이미지, 렌더 결과물이 계속 생깁니다. 하루 이틀은 괜찮지만, 매일 돌리면 금방 “이 파일이 업로드된 건지, 실패해서 남은 건지, 그냥 임시 파일인지” 구분이 어려워집니다.
사람이 매번 폴더를 열어 확인하고 지우면 자동화의 의미가 줄어듭니다. 그래서 목표를 이렇게 잡았습니다.
“성공한 영상은 미디어 파일을 남기지 말고, 실패한 영상만 재시도할 수 있게 보관하자.”
🛠️ 사용한 도구
AI 에이전트: Hermes
코딩/수정 보조: Codex 계열 작업 흐름
영상 생성: Remotion 기반 쇼츠 렌더링
업로드 대상: YouTube
저장 구조: 업로드 메타데이터, 실패 재시도 폴더, 쇼츠 렌더 폴더
🔧 작업 과정
1단계 — 먼저 “영상이 어디에 남는지”부터 확인했습니다
처음부터 코드를 고친 게 아니라, 먼저 파이프라인의 저장 구조를 확인했습니다. 자동화에서 제일 위험한 건 “아마 여기에 있겠지” 하고 지우는 것입니다. 영상 파일은 크기도 크고, 업로드 실패 파일을 잘못 지우면 다시 만들거나 다시 업로드해야 합니다.
AI 에이전트에게 이런 식으로 요청했습니다.
데일리 시장 분석 롱폼 영상과 쇼츠 영상이 어디에 저장되고, 업로드 후 파일이 남는지 확인해줘.
확인해보니 롱폼 영상은 임시 작업 폴더에서 만들어지고, 업로드 성공 후에는 영상 원본과 썸네일을 삭제하는 구조였습니다. 대신 업로드 기록은 메타데이터 파일로 남겼습니다.
이 구조가 마음에 들었습니다.
영상 원본은 용량을 차지하지만, 메타데이터는 작고 검색하기 좋습니다. 언제 어떤 영상이 올라갔는지만 알면 운영에는 충분합니다.
그래서 쇼츠도 같은 철학으로 맞추기로 했습니다.
2단계 — 쇼츠는 “성공하면 삭제, 실패하면 보관”으로 나눴습니다
쇼츠는 Remotion으로 렌더링되기 때문에 out 폴더에 mp4, mp3, png 같은 중간 산출물이 생깁니다. 이 파일들은 렌더와 업로드 과정에는 필요하지만, 업로드가 끝난 뒤에는 계속 보관할 이유가 크지 않았습니다.
제가 원한 건 단순한 삭제가 아니었습니다. 성공과 실패를 구분하는 운영 규칙이었습니다.
쇼츠는 Remotion 렌더 때문에 out 폴더에 mp4/mp3/png가 남는데, 업로드 성공하면 미디어는 지우고 메타만 남게 해줘.
AI 에이전트는 이 요청을 “파일 삭제”가 아니라 “파이프라인 정책 변경”으로 처리했습니다.
업로드 성공 시에는 쇼츠 mp4, 음성 파일, 이미지 같은 미디어 파일을 삭제합니다. 대신 *-shorts-meta.json 같은 메타데이터는 남깁니다. 이 메타 파일은 나중에 “이 쇼츠가 이미 업로드됐는지” 확인하는 근거가 됩니다.
반대로 업로드 실패 시에는 파일을 지우면 안 됩니다. 실패한 영상은 재시도할 수 있어야 하기 때문입니다. 그래서 실패한 경우에는 별도 재시도 폴더로 이동하는 정책을 유지했습니다.
여기서 좋았던 점은 AI가 단순히 “폴더 비우기”가 아니라 “운영 상태에 따라 다르게 처리하기”를 도와줬다는 점입니다.
3단계 — 중복 업로드를 막는 기록도 같이 남겼습니다
자동화에서 또 하나 중요한 건 중복 실행입니다.
예를 들어 같은 날짜의 쇼츠를 이미 업로드했는데, 다음 실행 때 다시 업로드되면 문제가 됩니다. 사람이라면 눈으로 보고 피할 수 있지만, 자동화는 기록이 없으면 똑같은 일을 반복할 수 있습니다.
그래서 미디어 파일은 지우되, 메타데이터는 남기는 방식이 중요했습니다.
메타데이터가 있으면 “영상 파일은 없어도 이 쇼츠는 이미 처리된 것”이라고 판단할 수 있습니다. 즉, 파일 정리와 중복 방지가 같은 구조 안에서 해결됩니다.
이 부분이 이번 작업의 핵심이었습니다.
단순히 디스크를 비우는 게 아니라, 자동화가 오래 굴러가도 헷갈리지 않도록 흔적을 남기는 것입니다.
4단계 — 마지막에는 실제 폴더 상태까지 검증했습니다
자동화 작업에서 “됐을 거예요”는 의미가 없습니다. 실제로 파일이 어떻게 남았는지 확인해야 합니다.
그래서 마지막에 운영 폴더를 확인했습니다.
out 폴더에 남은 운영 업로드 산출물이 있으면 정리하고, 실제로 비워졌는지 확인해줘.
확인 결과는 이랬습니다.
쇼츠 렌더 폴더의 미디어 파일: 0개
쇼츠 메타 파일: 13개
실패 재시도 폴더: 0B
업로드 기록 폴더에는 메타데이터만 유지
이 상태가 제가 원했던 결과였습니다.
“영상 파일은 남지 않는다. 하지만 업로드 기록은 남는다. 실패한 경우만 재시도할 수 있게 보관한다.”
자동화가 깔끔해졌습니다.