
영상 편집 × AI: 편집하는 에이전트와 승인에 집중하는 사람의 협업
요약
영상 편집 과정을 JSON 데이터 기반의 상태 편집으로 전환하여 AI 에이전트와 인간이 협업하는 워크플로우를 제안합니다. AI는 반복적인 편집 작업을 수행하고, 인간은 최종 결과물을 검증 및 승인함으로써 제작 속도와 품질을 동시에 높이는 구조를 설명합니다.
핵심 포인트
- 영상 편집을 GUI 조작이 아닌 JSON 스키마 기반의 데이터 편집으로 정의
- AI 에이전트와 인간이 동일한 편집 상태(JSON)를 공유하며 작업
- 완전 자동화 대신 AI의 작업과 인간의 판단을 분리한 협업 모델
- 차이점 확인(Diff)과 검증을 통해 AI 편집 결과의 신뢰성 확보
영상 편집 내용을 JSON 형식으로 집약함으로써, AI 에이전트와 인간이 동일한 편집 상태를 공유하며 작업할 수 있게 되었습니다. AI는 컷(Cut)이나 연출의 제안·반영·검증을 담당하고, 인간은 차이점(Diff) 등의 완성도를 확인하여 최종 승인을 수행합니다.
목표로 한 것은 완전 자동화가 아니라, "편집 작업은 AI에게 맡기고, 작품으로서의 판단은 사람이 갖는다"는 워크플로우(Workflow)입니다. 이 기사에서는 로컬 퍼스트(Local-first) 영상 편집 기반의 설계 사상과, AI와 인간이 안전하게 분담하는 구체적인 제작 플로우를 소개합니다.
TL;DR
대본이나 구성안은 AI로 만들 수 있어도, 자막 배치, 컷 타이밍, 소재 삽입, BGM 및 음량 조절과 같은 GUI 상의 편집 작업은 AI에게 맡기기 어려워 영상 제작의 병목 현상(Bottleneck)으로 남아 있었다.
이에 따라 컷, 자막, 연출, 소재, BGM 등의 편집 정보를 스키마(Schema)가 포함된 JSON으로 관리. "영상 편집"을 화면 조작뿐만 아니라 AI가 다룰 수 있는 데이터 편집으로 확장했다.
브라우저 에디터와 AI 에이전트가 동일한 JSON을 읽고 쓰기 때문에, 인간의 조정과 AI에 의한 편집을 하나의 타임라인(Timeline) 상에서 수행할 수 있게 되었다.
AI에 의한 변경은 차이점 확인, 검증(Validation), 프레임 생성(Frame Generation)을 통해 검증할 수 있다. 인간이 세부 사항을 모두 수작업하는 것이 아니라, AI의 편집 결과를 보고 판단하는 방식으로 바뀌었다.
최종 렌더링(Render)에는 인간의 승인을 필수적으로 설정하여, AI가 멋대로 완성된 것으로 간주할 수 없는 경계를 두었다. 완전 자동화가 아니라, 작업은 AI가, 작품으로서의 판단은 인간이 담당하도록 설계했다.
그 결과, 편집의 주도권이나 고집을 놓지 않으면서도 영상 제작 속도를 체감할 수 있을 정도로 크게 향상시킬 수 있었다.
이 기사에서 알 수 있는 것
- AI에게 "영상을 편집해줘"라고 부탁할 수 없는 이유
- 영상 편집을 "타임라인 조작"에서 "상태의 편집"으로 바꾸기
- 인간과 AI가 동일한 편집 상태를 다룰 수 있게 만들기
- AI에게 편집 권한을 주었을 때 발생한 또 다른 어려움
- AI의 편집을 망가뜨리지 않게 하는 메커니즘
- 실제 영상 제작 플로우
- 왜 완전 자동화가 아니라 인간의 승인을 남겨두었는가
- 빨라진 것은 렌더링이 아니라, 판단까지의 거리였다
대상 독자 및 전제
대상 독자
- 화면 녹화나 토크 영상의 컷, 자막, 소재 배치를 효율화하고 싶은 사람
- AI에게 영상 편집을 시키긴 했지만, 완성도에 대한 판단이나 자신다움은 포기하고 싶지 않은 사람
- AI의 제안을 GUI 편집 작업으로 반영하는 공정에서 한계를 느끼는 사람
- AI 에이전트와 인간이 동일한 영상을 편집할 수 있는 워크플로우에 관심이 있는 사람
- 영상 편집을 타임라인 조작뿐만 아니라 데이터로서 다뤄보고 싶은 개발자
전제
- 이 기사에서 다루는 것은 기존의 영상 편집 소프트웨어를 AI로 조작하게 만드는 방법이 아닙니다.
- 컷, 자막, 소재, 연출, BGM 등의 편집 상태를 스키마가 포함된 JSON으로 관리하고, 그 데이터로부터 영상을 조립하는 접근 방식입니다. 인간은 브라우저 상의 에디터에서, AI는 편집용 인터페이스에서 동일한 편집 상태를 변경합니다.
- AI에 의한 완전 자동 편집을 목표로 하는 것이 아니라, 반복적인 편집 작업은 AI에게 맡기고, 완성도 확인과 공개 전 승인은 인간이 담당하는 것을 전제로 합니다. 대상으로 하는 것은 주로 화면 녹화, 토크 화면, 하나의 녹화 소재를 기점으로 편집하는 제작 플로우입니다.
왜 "영상 편집 × AI"는 어려운가
제 안에서 가장 컸던 벽은 바로 이것이었습니다.
- 영상 편집은 컷, 자막, 소재, 위치, 타이밍, 음량 등 여러 상태가 조합되어 있다.
- 이러한 편집 상태는 기존의 편집 소프트웨어에서는 GUI나 타임라인 안에 갇혀 있다.
- AI에게 "자막을 조금 위로", "이 부분을 삭제해줘"라고 부탁해도 어떤 요소를 어떻게 변경할지 정확히 지정하기 어렵다.
- AI가 적절한 편집안을 내놓더라도 인간 측에서 취사선택을 할 수 없다.
기획이나 대본은 AI로 효율화할 수 있어도, 컷이나 자막 조절 등의 제작 공정 후반(편집)은 수작업이 되어, 자신의 아이디어나 생각을 편집에 반영하기는 어렵다는 느낌이었습니다.
영상에서의 "상태의 편집"이란
이 프로젝트에서는 컷, 자막, 소재, 연출, 위치, 타이밍, 음량 등의 편집 정보를 역할별 JSON으로 관리하고 있습니다.
cutplan.json:남길 구간·컷할 구간
transcript.json:자막 문구·표시 타이밍·위치·스타일
overlays.json:소재, 줌(Zoom), 블러(Blur), 주석, 화면 레이아웃 등의 연출
bgm.json:BGM 배치·음량·페이드(Fade)·더킹(Ducking)
chapters.json:YouTube 설명란 등에 사용하는 챕터 정보
meta.json:동영상 제목 및 설명란 초안
shorts.json:쇼츠(Shorts) 영상으로 추출할 범위·레이아웃
thumbnail.json:썸네일 텍스트·배치·디자인 정보
이를 통해 동영상 편집을 타임라인상의 드래그 조작뿐만 아니라, 수치나 정의를 다시 쓰는 '상태의 편집'으로 다룰 수 있게 되었습니다.
이렇게 해두면, 지금까지 AI에게 전달하기 어려웠던 '동영상 그 자체의 편집'도,
- 자연어로 AI에게 지시 → 적절한 JSON 파일 편집
- 편집 결과를 에디터에서 확인
이라는 플로우를 실행하기 쉬워집니다.
하고 싶은 편집을 구체적인 데이터로서 공유할 수 있다는 점이 AI와의 협업을 성립시키는 토대가 되고 있습니다.
인간과 AI가 동일한 편집 상태를 다루기 위해
편집 정보를 JSON 파일로 관리함으로써,
인간과 AI가 '동일한 동영상의 상태'를 공유
할 수 있게 되었습니다.
인간은 브라우저 에디터를 사용하여 영상을 확인하며 컷 경계나 자막 위치를 직관적으로 조정합니다. 반면, AI는 JSON을 읽어 들여 '자막을 조금 위로 이동한다', '무음 부분을 컷한다', '이 장면에 줌을 추가한다'와 같은 지시를 구체적인 데이터의 변경으로서 반영합니다.
조작 방법은 다르지만, 변경하는 대상은 같습니다.
인간: 에디터 상에서 영상을 보며 조정한다
AI: 편집 상태를 읽고, JSON에 대한 변경안을 만든다
렌더러(Renderer): 업데이트된 JSON을 바탕으로 영상을 조립한다
AI가 JSON을 변경하면 그 내용은 실행 중인 에디터에도 반영됩니다. 반대로 인간이 에디터에서 저장한 변경 사항도 AI가 다음에 편집 상태를 읽을 때의 전제가 됩니다.
또한, AI에 의한 변경은 즉시 확정하지 않고, 차분(Diff) 확인, 데이터 검증, 적용, 필요에 따른 프레임 확인이라는 순서로 진행합니다. 인간과 AI가 동일한 부분을 편집했을 경우에도 차분을 확인하여 어느 쪽의 변경을 채택할지 판단할 수 있습니다.
여기서 중요한 것은 인간과 AI가 동일한 조작 화면을 사용하는 것이 아닙니다. GUI와 데이터 편집이라는 서로 다른 입구를 통해 동일한 편집 상태에 액세스할 수 있다는 점입니다.
이를 통해 단순 반복 작업은 AI에게 맡기고, 인간은 영상을 보며 완성도를 판단한다는 역할 분담이 가능해졌습니다.
AI에게 편집 권한을 부여함으로써 발생하는 부작용
편집 정보를 JSON으로 다룰 수 있게 되면 AI에게도 편집을 맡기기 쉬워집니다.
하지만 여기서 'AI가 무엇이든 편집할 수 있는' 상태로 만들어 버리면 오히려 위험해집니다.
예를 들어 AI가 컷 범위, 자막, 소재, 음량, 레이아웃, 승인 상태까지 자유롭게 건드릴 수 있게 되면 다음과 같은 문제가 발생합니다.
- 필요한 발언까지 컷해 버림
- 자막의 타이밍이나 위치를 크게 망가뜨림
- 존재하지 않는 소재를 참조함
- 인간이 조정한 내용을 덮어씀
- 최종 확인 전인데 '완성된 것'으로 처리함
즉, AI에게 편집을 돕게 하려면 단순히 편집 파일을 넘겨주는 것만으로는 불충분했습니다.
이 프로젝트에서는 AI가 사용할 수 있는 조작을 의도적으로 제한하고 있습니다.
AI에게는 편집 상태를 읽거나, 정해진 형식으로 변경안을 내거나, 검증 가능한 범위 내에서 JSON을 업데이트하는 역할을 부여합니다. 반면, 최종적인 승인이나 영상으로서 정말 성립하는지에 대한 판단은 인간 측에 남겨둡니다.
여기서 중요한 것은 'AI에게 전부 맡기는 것'이 아니라 'AI가 건드려도 되는 범위를 정하는 것'이라고 느꼈습니다. AI는 작업량을 줄이기 위한 편집자로서는 상당히 강력하지만, 편집 전체의 책임자로 만들어 버리면 의도하지 않은 변경을 알아차리기 어려워집니다.
그렇기에 AI가 사용할 수 있는 도구를 제한하고, 변경 내용을 검증할 수 있는 형태로 만들어 인간이 마지막에 확인할 여지를 남깁니다. 이러한 제약이 있음으로써 AI를 안심하고 편집 플로우에 편입시킬 수 있게 됩니다.
AI의 편집 가드레일(Guardrail)
이 프로젝트에서는 AI에게 편집 작업을 맡기기 위한 입구로서 MCP 서버를 준비하고 있습니다.
다만, MCP를 통해 CLI의 모든 기능을 공개하고 있는 것은 아닙니다.
AI가 사용할 수 있는 조작은 편집 상태의 취득·검증·제한된 편집 적용·외관 확인으로 한정하고 있습니다.
MCP를 통해 AI에 공개하고 있는 조작
| 조작 | 역할 |
|---|---|
describe | 현재의 편집 상태를 취득한다 |
validate | JSON이나 편집 규칙을 검증한다 |
apply | 검증을 포함하여 편집 패치 (edit patch)를 적용한다 |
frames | 지정된 시점의 프레임을 추출하여 외관을 확인한다 |
materials | 이용 가능한 소재를 확인한다 |
id-stamp | 편집 요소에 ID를 부여하여 AI가 대상을 지정하기 쉽게 한다 |
MCP를 통해 AI에 공개하지 않은 조작
| 조작 | 역할 |
|---|---|
approve | 최종 승인은 인간의 판단으로 남겨두기 위해 |
render | 승인 전에 결과물을 추출하지 않기 위해 |
plan | 큰 편집 방침의 재생성을 AI 단독으로 실행하지 않기 위해 |
run | 여러 공정을 묶어서 진행하는 조작을 AI 단독에게 맡기지 않기 위해 |
이처럼, AI에게는 "편집을 진행하기 위한 도구"는 전달하되, "완성으로 간주할 권한"은 전달하지 않도록 하고 있습니다.
구체적으로 AI는 describe로 현재의 편집 상태를 읽어들이고, apply로 검증이 포함된 변경 사항을 적용하며, validate로 구조를 확인하고, 필요에 따라 frames로 외관을 확인합니다.
반면, 최종 승인이나 렌더링 (rendering)은 MCP에 공개하지 않았습니다.
MCP는 AI에게 편집 권한을 전달하기 위한 인터페이스인 동시에, AI가 사용할 수 있는 조작을 제한하는 경계이기도 합니다.
AI는 편집 작업에 참여할 수 있다. 하지만 완성 판단까지는 할 수 없다.
나의 영상 제작 순서 (실제 플로우)
여기서는 제가 실제로 사용하고 있는 영상 제작 플로우를 작성합니다. 크게 나누면 다음의 5단계입니다.
| 페이즈 | 할 일 | 주요 작업 |
|---|---|---|
| A. 소재 만들기 | 아이디어 도출, 대본 작성, 영상 촬영 | 1, 2 |
| B. 초기 생성 | run 명령어로 받아쓰기·컷 안·편집 JSON 생성 | 3, 4 |
| C. 확인 | 에디터에서 프리뷰를 하며 전체를 확인 | 5 |
| D. 조절·마무리 | 컷, 자막, 소재, 음량 등을 조정 | 6 |
| E. 추출 | 승인 후 영상을 추출 | 7 |
영상으로 만들 내용을 먼저 간단하게 대본으로 만든다
-
제 경우에는 이 단계에서 너무 세세하게 생각하지 않고, "하고 싶은 말"을 대략적으로 적어 내려간 뒤 AI와 함께 구체적인 대사를 만들어 갑니다.
대본을 바탕으로 영상을 촬영한다
-
제 경우에는 OBS로 화면 녹화를 하고 있습니다.
촬영한 영상을 준비했다면,
run
명령어를 실행합니다. - 여기서 영상 편집에 필요한 초기 데이터를 한꺼번에 생성합니다. 예를 들어 다음과 같은 처리입니다.
-
음성 받아쓰기 (transcription)
-
무음 구간 검출
-
컷 후보 생성
-
챕터 및 메타 정보 생성
-
편집용 JSON 생성
plan-effects
명령어를 실행한다
-
줌(zoom) 등의 연출을 제안받습니다.
run이
끝나면 에디터를 열어 내용을 확인한다
-
editor명령어를 통해 localhost에서 에디터를 실행합니다. - 여기서 주로 확인하는 점은 다음과 같습니다. -
컷 안이 의도대로인지
-
자막이 크게 어긋나지 않았는지
-
부자연스럽게 사라진 발언은 없는지
-
영상 전체의 흐름이 무너지지 않았는지
-
이 단계에서는 세밀하게 만드는 것보다, 우선 "AI나 자동 처리가 만든 초기 상태를 사용할 수 있는가"를 확인합니다.
-
특히 컷은 영상의 의미 그 자체와 관련됩니다. 따라서 AI의 안을 그대로 믿는 것이 아니라, 사람이 한 번 프리뷰를 보고 확인합니다.
-
에디터:

에디터에서 조정·마무리
-
전체적인 흐름을 확인했다면 에디터 상에서 세부적인 조정을 진행합니다. 이 단계에서 다루는 부분은 예를 들어 다음과 같습니다.
-
컷 범위의 미세 조정
-
자막의 위치나 표시 타이밍
-
소재나 텔롭(자막 효과) 추가
-
줌이나 블러(blur) 등의 연출
-
BGM의 음량이나 타이밍
-
챕터나 타이틀 안의 수정
-
사람은 프리뷰를 보며 판단하고, AI에게는 일괄 변경이나 세부적인 수정을 도와달라고 합니다. 이 분담이 실제로 사용하면서 가장 효율적이라고 느끼는 부분입니다.
-
AI 편집 예시:
"적절한 위치에 블러를 삽입해줘"
승인하고 추출한다
- 마지막으로, 에디터에서 내용을 확인하고 승인한 뒤 영상을 내보냅니다 (Write out). 이 프로젝트에서는 편집하자마자 바로 내보낼 수 있는 것이 아니라, 승인 단계를 거치도록 구성했습니다.
- AI가 만든 컷 제안이나 AI가 변경한 편집 내용은 편리하지만, 최종적으로 "이 영상으로 내보내도 되는가"를 판단하는 것은 인간입니다. 따라서 내보내기 전에 프리뷰를 확인하고, 문제가 없다면 승인한 후 렌더링 (Rendering)합니다.
요약
- 영상 제작의 효율화가 어려웠던 이유는 편집 소프트웨어의 GUI 작업이 AI에게 전달하기 어려웠기 때문
- 영상을 "JSON 데이터화"하고, 각 JSON 파일을 인간과 AI의 공통 인터페이스 (Interface)로 만듦으로써 단순 작업을 AI에게 맡길 수 있었음
- 완전 자동화는 아니지만, 인간은 기획이나 내용에 집중하기 쉬워졌다는 체감이 있음
- 편집 판단이 축적될수록, AI에 의한 영상 편집은 더욱 자연스러운 형태로 승화될 수 있다고 생각함 (희망 사항을 포함하여)
처음에는 Remotion을 사용하여 편집 후의 영상을 확인하는 정도면 충분하다고 생각했지만, 수정 작업 (Re-work)이 많아 UX는 최악이었습니다. Remotion이 제공하는 에디터는 프리뷰만 가능하고 편집을 수행할 수 없었기 때문에, 자체 에디터 구현으로 방향을 틀었습니다. 결과적으로 대규모 구현이 되었지만, 만족스러운 결과물을 만들 수 있었습니다. (아직 소개하지 못한 기능은 많이 남아있지만...)
(마지막으로) 왜 완전 자동화가 아닌 "협업"을 선택했는가
최근에는 완전히 자동으로 영상을 만드는 시도도 있으며, 실제로 그 퀄리티도 높아지고 있습니다.
다만, 지금은 일부러 "AI와 협업하는" 스타일을 선택하고 있습니다.
첫 번째 이유는 "내가 고집하고 싶은 부분은 스스로 결정하고 싶기" 때문입니다.
전달하고 싶은 내용의 세밀한 말투나 줌 (Zoom) 타이밍, 템포감 등은 내 콘텐츠의 독창성 (Originality)이라고 생각하며, 사람마다 다른 개성이 재미를 준다고 믿습니다.
그래서 저는 "AI에게 맡겨도 좋다고 생각하는 부분은 AI에게 맡기고, 내가 고집하고 싶은 부분에 집중한다"라는 스타일을 선택하고 있습니다.
물론 이것이 완전 자동화를 부정하는 것은 아니며, 자신의 스타일에 맞춰 다양한 방식을 시행착오하며 시도하면 된다고 생각합니다.
두 번째 이유는 완전히 자동으로 영상을 편집하게 하기에는 기술적 허들이 존재한다는 점입니다. AI가 영상을 인식하는 것은 어려우며 (멀티모달 (Multimodal)인 Gemini는 1fps로 처리되어 영상 편집에는 아직 거칠기 때문에), 현재 단계에서는 개선의 경로를 찾고 있는 중입니다. 느린 영상이나 애니메이션을 이용한 영상이라면 현 단계의 기술 (Remotion이나 HyperFrames)로 충분히 대응할 수 있겠지만, 실제 사람의 영상에서는 그렇게 쉽지 않습니다. 물론 AI의 진보는 눈부시므로, 머지않아 영상을 인식할 수 있게 될 것이라고 생각합니다.
제가 실제로 만든 영상 편집 프로젝트의 리포지토리 (Repository)
이곳이 실제로 제가 만든 영상 편집 프로젝트의 리포지토리 공개 버전입니다!
꼭 AI와의 협업을 체험해 보세요.
반응이 있다면, 향후 더욱 자세한 해설 기사도 써보고 싶습니다!
FAQ
Q. 이 방법이 기존의 영상 편집 소프트웨어를 대체할 수 있나요?
A. 가능합니다. 고도의 편집 기능은 갖추지 못했지만, 시중에 넘쳐나는 자동화 도구처럼 편집 사이클의 일부가 아니라, 영상 편집을 일관되게 수행할 수 있는 소프트웨어입니다.
Q. 결국 AI가 하는 것은 JSON 편집뿐인가요?
A. 네, 저의 운용 방식에서는 그렇습니다. 하지만 이 점이 중요한데, JSON 편집으로 전환되는 순간 AI가 잘하는 영역 (텍스트 차이점 · 구조 편집)이 된다는 것이 핵심이었습니다.
Q. 독창성이 없어지지 않을까요?
A. 저는 오히려 반대입니다. 단순 작업을 AI에게 넘길 수 있는 만큼, 고집(디테일)에 시간을 쓸 수 있게 되었습니다. 내가 고집하고 싶은 부분은 끝까지 고집하고, AI로 단순화할 수 있는 부분은 단순화하자는 것이 이번 테마입니다.
Q. AI 편집의 차이점은 GUI에 어떻게 표시되나요?
A. 아래의 에디터 사진처럼 타임라인 상의 클립에 차이점 (Diff)으로 표시됩니다. 추가된 클립을 탭하면 승인/거부를 개별적으로 선택할 수 있으며, 일괄 승인도 가능합니다. 이는 Cursor의 UX를 참고한 것이며, Video-as-Code로서 저만의 해답입니다.

Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기