Vuncloud 블로그
← 개발 노트로 돌아가기

Video-Use는 어떻게 쓰나? Claude Code, Codex 등 AI Coding Agent로 영상을 자동 편집하기: 자연어 영상 편집, 소스 처리와 AI 영상 워크플로 실전

오픈소스 skill · takes_packed.md · edit/final.mp4약 12분 읽기

비선형 편집 소프트웨어 타임라인의 컬러 클립, 플레이헤드, 오디오 파형. video-use가 EDL로 ffmpeg 자동 편집을 구동하는 장면
TL;DR · 먼저 이 다섯 줄
  • video-use는 browser-use의 오픈소스 스킬이다. Premiere가 아니다. 소스를 폴더에 넣고 Agent에게 말하면 edit/final.mp4가 돌아온다
  • 모델은 영상 전체를 보지 않는다. 주 읽기 자료는 ElevenLabs Scribe가 뽑은 단어 단위 전사이고, 약 12KB의 takes_packed.md로 눌린다
  • 순서는 고정이다. 정리 → 쉬운 말로 전략 → 승인 → EDL → ffmpeg 렌더 → 컷 점검, 최대 3라운드
  • Claude Code, Codex, Hermes, OpenClaw 모두 붙일 수 있다. 저장소 전체를 스킬 디렉터리에 심볼릭 링크하고, 옆에 ffmpeg와 ELEVENLABS_API_KEY가 있어야 한다
  • 토킹헤드, 튜토리얼, 인터뷰에 가장 맞다. 화면만 있는 몽타주는 전사가 얇고, 복잡한 색보정은 타임라인 소프트웨어에 남긴다

「음, 어 잘라 줘」를 대화창에 넣었을 때, Agent가 mp4 전체를 비전 모델에 넘기기만 하면 청구와 지연이 먼저 터진다. browser-use의 video-use는 길을 바꿨다. Claude Code, Codex처럼 명령을 실행할 수 있는 코딩 Agent가 전사를 읽고 편집 결정표(EDL)를 쓴 다음 ffmpeg를 호출해 영상을 만든다. 저장소는 100% 오픈소스라고 적혀 있고, 입구는 github.com/browser-use/video-use다. 이 글은 2026년 9월 23일 저장소의 README, install.md, SKILL.md를 기준으로 정리했다. 명령과 디렉터리는 그날 파일을 따른다. pull 이후 바뀌면 로컬 SKILL.md가 우선이다.

공식이 어울린다고 적어 둔 영상은 토킹헤드, 몽타주, 튜토리얼, 여행, 인터뷰다. 미리 정해진 메뉴는 없다. 필요한 것은 끝까지 도는 Agent 세션과, 전사 뒤 렌더를 버티도록 중간에 잠들지 않는 머신이다.

12
프로덕션 정확성 하드 룰
~12KB
takes_packed.md, 모델의 주 읽기 자료
30ms
컷마다 오디오 페이드

video-use가 자르는 것

타임라인은 열지 않는다. 원본 클립을 폴더에 넣고, 그 디렉터리에서 Agent를 띄운 뒤 쉬운 말로 목표를 말한다. 공식 예시는 한 문장이다. edit these into a launch video. Agent는 먼저 소스를 세고, 전략을 내고, 동의를 기다린 다음 소스 옆에 edit/final.mp4를 쓴다. 스킬 저장소 자체는 깨끗하게 둔다. 산출물을 video-use/ 안에 쓰면 안 된다.

README에 적힌 완성 기능은 ffmpeg와 몇 가지 선택적 애니메이션 엔진이 하는 일이다. 새 모델이 추가된 것은 아니다.

  • 추임새와 클립 사이의 죽은 공기 제거: umm, uh, 말실수 후 다시 하기, 무음
  • 구간별 색보정: 따뜻한 시네마틱 warm_cinematic, 중립 강화 neutral_punch, 또는 직접 쓴 ffmpeg 필터 체인
  • 컷마다 30ms 오디오 페이드. 팝 노이즈를 피한다
  • 번인 자막: 기본은 두 단어, 모두 대문자. 스타일은 바꿀 수 있다
  • 애니메이션 오버레이: HyperFrames, Remotion, Manim 또는 PIL. 여러 애니메이션은 서브 Agent가 병렬로 처리한다
  • 렌더 후 자체 점검. 통과해야 보여 준다. 세션 기억은 project.md에 써서 다음 주에 이어서 자른다

browser-use가 웹페이지를 보는 생각과 같은 종류다. 스크린샷으로 컨텍스트를 채우기보다 모델에게 구조화된 텍스트를 준다. 영상 쪽에서 그 텍스트가 전사다.

모델은 영상을 어떻게 읽나

SKILL은 곧게 적는다. LLM은 영상을 시청하지 않는다. 영상을 읽는다. 두 층이면 단어 경계에서 컷을 넣기에 충분하다.

첫 번째 층은 항상 로드된다. 오디오 전사. 소스 파일마다 ElevenLabs Scribe를 한 번 돌려 단어 단위 타임스탬프, 화자 분리, 그리고 (laughter), (applause), (sigh) 같은 오디오 이벤트를 받는다. 모든 테이크는 약 12KB의 takes_packed.md 한 장으로 눌린다. 구는 무음이 0.5초에 닿거나 화자가 바뀔 때 끊긴다. 모델이 주로 읽는 줄은 이런 형태다.

## C0103  (duration: 43.0s, 8 phrases)
  [002.52-005.36] S0 Ninety percent of what a web agent does is completely wasted.
  [006.08-006.74] S0 We fixed this.

두 번째 층은 필요할 때만 호출한다. 화면 합성. timeline_view는 특정 시간 창의 필름스트립, 파형, 단어 라벨 PNG를 내보낸다. 쓰는 곳은 결정 지점뿐이다. 애매한 쉼, 두 테이크 중 어느 쪽을 고를지, 컷이 깨끗한지. 스캔 도구가 아니므로 매초 부르지 않는다.

공식은 단순한 경로 하나를 대조로 든다. 3만 프레임 × 프레임당 약 1500 token, 대략 4500만 token의 노이즈. video-use 경로는 12KB 텍스트와 몇 장의 PNG다. 이 숫자는 저장소가 든 대조이고, 이 사이트의 실측 청구가 아니다. 기억할 방향은 컨텍스트에 단어와 시간을 두는 것이다.

촬영 현장 슬레이트에 테이크 번호, 타임코드, 신 이름이 적힌 장면. video-use가 여러 소스를 먼저 정리한 뒤 편집 전략을 내는 흐름
테이크 번호와 타임코드가 먼저다. 어느 문장을 자를지는 그다음이다. 원본은 소스 디렉터리에 두고, 결정은 edit/에 쓴다.

설치: Claude Code, Codex, OpenClaw

머신에 네 가지가 동시에 있어야 한다. 안정된 경로의 저장소 클론, $PATH 안의 ffmpeg와 ffprobe, 저장소 루트 .env의 ElevenLabs 키, 그리고 현재 Agent가 SKILL.md를 찾을 수 있을 것. Python 의존성은 pyproject.toml에 있다. requests, librosa, matplotlib, pillow, numpy. 콘솔 명령은 없고, 스크립트는 python helpers/….py로 직접 돌린다.

설치를 Agent에게 맡기기

공식은 아래 문단을 Claude Code, Codex, Hermes, OpenClaw, 또는 shell이 있는 Agent에게 붙이라고 한다. 스스로 클론하고, 의존성을 설치하고, 스킬을 등록하고, 필요할 때 키를 한 번 요청한다.

Set up https://github.com/browser-use/video-use for me.

Read install.md first to install this repo, wire up ffmpeg, register the skill with whichever agent you're running under, and set up the ElevenLabs API key — ask me to paste it when you need it. Then read SKILL.md for daily usage, and always read helpers/ because that's where the editing scripts live. After install, don't transcribe anything on your own — just tell me it's ready and wait for me to drop footage into a folder.

키는 elevenlabs.io의 API keys 페이지에 있다. 설치 확인은 timeline_view.py --help와 ffprobe -version만 본다. 설치가 됐는지 증명하려고 실제 영상을 전사하지 마라. Scribe는 호출마다 과금된다. 키는 ~/Developer/video-use/.env에 쓴 뒤 chmod 600. 키를 출력하지 말고, 커밋하지 마라.

직접 클론하고 등록하기

손으로 하려면 저장소의 수동 설치를 따른다. 심볼릭 링크는 디렉터리 전체다. helpers/가 SKILL.md와 이웃이어야 하기 때문이다.

git clone https://github.com/browser-use/video-use ~/Developer/video-use
ln -sfn ~/Developer/video-use ~/.claude/skills/video-use
# Codex: ln -sfn ~/Developer/video-use ~/.codex/skills/video-use

cd ~/Developer/video-use
uv sync                         # or pip install -e .
brew install ffmpeg             # required; ffprobe comes with it
brew install yt-dlp             # optional, only when pulling footage from a URL

cp .env.example .env            # ELEVENLABS_API_KEY=...
Agent 스킬 위치
Claude Code ~/.claude/skills/video-use
Codex ${CODEX_HOME:-~/.codex}/skills/video-use
Hermes / OpenClaw / 기타 그 Agent의 skills 디렉터리. 이름은 그대로 video-use. 스킬 디렉터리가 없으면 시스템 프롬프트에서 ~/Developer/video-use/SKILL.md를 가리킨다

ffmpeg는 4.x 이상이어야 한다. 정적 빌드도 된다. Linux는 배포판 패키지를 쓰고, sudo 비밀번호를 추측하지 마라. HyperFrames, Remotion, Manim은 애니메이션 슬롯을 처음 만들 때 설치한다. 설치하는 날에 하나를 전역으로 선호하지 마라. HyperFrames는 현재 Node.js 22+가 필요하다. yt-dlp도 필요할 때 설치한다.

업데이트는 git pull --ff-only. 심볼릭 링크는 다음 세션에 새 코드를 그대로 먹는다. 의존성 목록이 바뀌면 uv sync를 한 번 더 돌린다.

첫 완성본

설치가 끝나면 작업은 소스 디렉터리에서 시작한다. 스킬 저장소 안이 아니다.

cd /path/to/your/videos
claude    # or codex, hermes

첫 문장으로 「렌더 시작」이라고 하지 마라. 이렇게 말한다. 이 테이크들을 정리하고, 쉬운 말로 전략 하나를 줘. 공식 흐름은 묻고, 확인하고, 실행하고, 자체 점검하고, project.md에 적는 것이다. 전략을 승인하기 전에는 컷을 넣지 않는다.

정상적인 세션은 이런 질문을 거친다. 질문은 소스에 따라 달라지고 고정 목록은 없다. 영상 유형, 목표 길이와 화면비, 분위기, 반드시 남길 순간, 반드시 자를 순간, 애니메이션과 색보정이 필요한지, 자막이 필요한지. 그다음 Agent가 4에서 8문장으로 형태를 쓴다. 어느 테이크를 고르고, 어디로 자르고, 애니메이션, 색보정, 자막, 예상 길이. 동의를 답한 뒤에야 edl.json을 쓰고, 구간별 색보정을 하고, render.py를 호출한다.

미리보기는 render.py --preview(720p, 빠름). 자체 점검은 완성본에서 각 컷 전후 약 1.5초의 timeline_view, 거기에 오프닝·엔딩과 중간 두세 곳, 그리고 ffprobe로 길이를 맞춘다. 실패하면 고치고, 다시 렌더하고, 다시 본다. 최대 3라운드. 3라운드 후에도 문제가 있으면 표시해서 알려야 하고, 무한 루프는 금지다. 미리보기를 볼 때 자체 점검은 이미 통과한 상태여야 한다.

프로젝트 쪽은 호스티드 체험(Browser Use Cloud)과, Browser Use Box로 VPS나 Telegram에서 상시 켜 두는 입구도 제공한다. 자기 머신이나 Cloud Mac에서는 경로가 위와 같다. 소스 디렉터리와 등록된 스킬.

디렉터리, 스크립트, EDL

원본 파일은 그대로 둔다. 세션은 전부 <videos_dir>/edit/에 떨어진다.

경로 역할
project.md 세션마다 한 단락을 덧붙인다. 전략, 결정, 미완료. 다음에는 이것을 먼저 읽는다
takes_packed.md 구 단위 전사. 컷을 고르는 주 읽기 자료
transcripts/*.json Scribe 원본 JSON. 소스 파일별로 캐시한다. 소스 파일이 안 바뀌었으면 다시 전사하지 마라
edl.json 컷, 색보정, 오버레이, 자막 경로, 총 길이
clips_graded/ 구간으로 뽑아 색보정과 오디오 페이드가 끝난 클립
animations/slot_* 애니메이션 슬롯마다 자기 소스와 완성본
master.srt · preview.mp4 · final.mp4 완성 타임라인의 자막, 미리보기, 최종본

파이프라인은 직선이다. 자체 점검은 렌더로 돌아갈 수 있지만 상한이 있다.

Transcribe → Pack → LLM reasoning → EDL → Render → Self-Eval
                                              └ if something is wrong, revise, at most 3 rounds

자주 쓰는 스크립트는 모두 helpers/에 있고, 경로는 SKILL.md가 있는 디렉터리 기준이다.

  • transcribe.py: 단일 파일 Scribe. --num-speakers를 붙일 수 있고, 결과는 캐시된다
  • transcribe_batch.py <videos_dir>: worker 4개 병렬. 소스가 여러 개면 이것을 쓴다
  • pack_transcripts.py --edit-dir: JSON을 takes_packed.md로 모은다
  • timeline_view.py: 결정 지점의 필름스트립 PNG
  • render.py <edl.json> -o …: 구간 추출, 이어 붙이기, 오버레이, 마지막에 자막 번인. --preview는 720p, --build-subtitles는 master.srt를 같이 쓴다
  • grade.py: 프리셋 또는 --filter 커스텀 체인. 색보정은 구간을 뽑을 때 일어난다. 이어 붙인 뒤 전체를 다시 인코딩하지 마라

edl.json 형태는 대략 이렇다. 시간과 경로는 자기 소스에서 온다. 예시의 초 수를 베끼지 마라.

{
  "version": 1,
  "sources": {"C0103": "/abs/path/C0103.MP4"},
  "ranges": [
    {"source": "C0103", "start": 2.42, "end": 6.85,
     "beat": "HOOK", "quote": "...", "reason": "cleanest take"}
  ],
  "grade": "warm_cinematic",
  "overlays": [
    {"file": "edit/animations/slot_1/render.mp4", "start_in_output": 0.0, "duration": 5.0}
  ],
  "subtitles": "edit/master.srt",
  "total_duration_s": 87.4
}

여러 테이크에서 가장 좋은 한 문장을 고를 때는 편집 서브 Agent를 하나 더 연다. 파일 순서를 따르지 않고 비트(HOOK, 문제, 해법…)로 조립한다. 시작과 끝은 단어 경계에 떨어져야 한다. 구조는 런치 영상, 튜토리얼, 인터뷰, 또는 직접 만든 것이어도 된다. 한 가지에 끼워 맞추지 마라.

망가지기 쉬운 하드 룰

SKILL은 예술적 판단은 모델에 맡기고, 지키지 않으면 조용히 영상이 망가지는 12가지만 고정한다. 아래는 편집 중에 실제로 듣고 보게 되는 규칙이다. 나머지(전사 캐시, 병렬 애니메이션, 확인 전 컷 금지, 산출물은 edit/만)는 앞에 적혀 있다.

규칙 안 지키면 보이는 것
자막은 필터 체인 맨 마지막 오버레이가 자막을 덮는다. 에러가 나지 않을 수도 있다
구간으로 뽑은 뒤 무손실 -c copy로 이어 붙이기 한 패스 필터 그래프는 오버레이를 더할 때 구간마다 한 번 더 인코딩한다
컷 30ms afade 컷마다 팝 노이즈가 한 번씩 난다
오버레이는 setpts로 0프레임을 창 시작으로 옮긴다 창 안에서 애니메이션 중간부터 재생된다
SRT는 완성본 시간축: 단어 시작 − 구간 시작 + 구간 오프셋 이어 붙인 뒤 자막이 통째로 밀린다
컷은 단어 경계에 두고 30–200ms를 밖으로 확장 단어 중간으로 잘린다. Scribe 타임스탬프는 50–100ms 흔들리고, 확장은 그 흔들림을 흡수한다
단어 단위 원문만. 프레이즈 모드 SRT도, 정규화된 추임새도 쓰지 마라 1초 미만의 숨이 사라지고, 「음」을 자를 신호가 없다

로컬 Whisper SRT는 안티패턴으로 명시돼 있다. 느리고, 추임새를 정규화해 버린다. 전사는 호스티드 Scribe로 가고, 소스 파일별로 캐시한다.

소스는 어떻게 다루나

컷은 말과 숨에서 오고, 화면은 따라간다. 무음이 400ms 이상이면 보통 가장 깨끗한 컷이다. 150–400ms 구 경계는 쓸 수 있다. 화면은 한 번 본다. 150ms보다 짧으면 대개 문장 중간에 잘려 안전하지 않다. 화자가 바뀌는 자리에는 400–600ms 숨을 남길 수 있다. 빠른 컷은 조이고, 다큐는 풀어 준다. 취향의 문제다. 웃음, 펀치라인, 강조는 꼬리를 남긴다. 웃음 자체가 비트다. (laughs) 같은 이벤트는 신호다. 컷을 그 바로 앞에 걸지 마라.

한 컷은 소리와 화면이 함께 성립해야 한다. 오디오만 고치거나 화면만 고치는 방식은 SKILL이 실패로 지목한다.

색보정은 구간 단위다. 먼저 timeline_view로 프레임 하나를 보고, 한 가지만 고친 다음 다시 본다. 프리셋은 출발점일 뿐이다. 토킹헤드에는 warm_cinematic이 비교적 안전하고, neutral_punch는 대비만 올리고 색상은 그대로 둔다. none은 사용자가 색보정을 말하지 않았을 때의 기본값이다. 피부색을 시험해 보지 않았으면 톤 커브 기울기를 세게 당기지 마라.

자막에서 돌리는 값은 세 가지다. 한 줄의 단어 수, 대소문자, 아래 가장자리와의 거리. 숏폼 런치 영상에 바로 쓰는 스타일은 두 단어 모두 대문자, Helvetica 18 Bold, 흰 글자 검은 테두리, MarginV=35. 다큐멘터리는 한 줄 4–7단어, 일반 대소문자, 더 큰 여백으로 바꿀 수 있다. 어느 쪽이든 자막은 맨 마지막에 굽고, 타임코드는 완성본 시간축을 쓴다.

애니메이션은 슬롯마다 엔진을 고른다. 웹처럼 보인다는 이유로 Remotion을 기본으로 두지 마라.

  • HyperFrames: HTML/CSS/GSAP, 제품 UI 모션, 투명 WebM. 슬롯 디렉터리에서 npx --yes hyperframes, Node 22+
  • Remotion: 사용자가 React를 지목했거나, 이미 Remotion 디자인 시스템이 있을 때만
  • Manim: 수식, 상태 기계, 그래프 변형. 저장소에 skills/manim-video/가 딸려 있다
  • PIL + PNG 시퀀스: 카운트, 타자기, 한 줄 공개. 런치 영상 예시가 쓰는 길이고, 빠르다

색과 글꼴이 분명하지 않으면 전략 단계에서 멈춘다. 확인한 뒤에 그린다. 내레이션에 맞춘 카드는 단순한 것이 약 5–7초, 복잡한 그림은 8–14초, 마지막 프레임은 최소 1초 머문다. 등장은 cubic ease-out(3차 감속)을 쓴다. 선형 보간은 쓰지 마라. 애니메이션 슬롯이 여러 개면 서브 Agent를 동시에 연다. 실제 경과 시간은 가장 느린 슬롯과 거의 같다. 서브 Agent 프롬프트는 그 자체로 완결되어야 한다. 부모 세션이 보이지 않기 때문이다.

화면비는 소스를 따른다. 직접 지정한 경우는 예외다. 흔한 목표: 시네마틱 1920×1080@24, 화면 콘텐츠 30fps, 세로 1080×1920, 정사각 1080×1080. render.py 기본값은 들어오는 영상을 모두 1080p로 줄인다. 납품 비율은 전략에서 한 번 물어볼 만하다.

자연어 문장

효과가 있는 말은 전략을 묶는다. 아래는 같은 흐름에서 바로 말할 수 있는 문장이다. 중국어와 영어 모두 되고, Agent가 읽는 것은 의도이다.

  • 「전사 말고는 아직 하지 마. 파일 이름, 길이, 대사가 있는지를 정리하고, 여섯 문장으로 전략을 준 다음, 내가 답할 때까지 EDL을 쓰지 마.」
  • 「제품 발표 토킹헤드다. 목표 60–90초, 16:9. 음, 어, 말실수 후 다시 한 부분은 빼. We fixed this 문장과 그 뒤 웃음은 남겨.」
  • 「두 테이크 모두 가격을 말했다. 말실수가 없는 쪽을 써. 컷은 단어 경계에 두고, 앞뒤로 약 80ms를 남겨.」
  • 「색보정 하지 마. 자막 하지 마. 먼저 --preview. 내가 승인하면 final.mp4를 내.」
  • 「세로 1080×1920, 자막은 두 단어 대문자. 애니메이션은 5초 타이틀 카드 한 장만. 색을 확인한 뒤에 만들어.」
  • 「소스 파일은 안 바뀌었으니 다시 전사하지 마. 내 직전 의견대로 HOOK의 아웃점만 고쳐.」

수정 의견은 자연어 루프로 돌아간다. 전략을 다시 정하고, 다시 렌더한다. 전사는 다시 하지 않는다. 최종본은 미리보기를 확인한 뒤에 낸다. 세션이 끝날 때마다 project.md에 전략, 결정, 미완료를 덧붙인다. 다음에 디렉터리에 들어오면 Agent는 지난 세션을 한 문장으로 요약한 뒤, 이어서 할지 묻는다.

언제 쓰지 말아야 하나

코딩 Agent 위에 올린 편집 스킬이다. 색보정 콘솔의 일은 맡지 않는다.

  • 대사가 거의 없는 음악 몽타주. 컷은 음성 경계와 무음을 중심으로 설계된다. 화면 의도는 전략에 직접 적어야 한다. 그렇지 않으면 모델에게 주 읽기 자료가 없다.
  • 키프레임을 손으로 끌고, 멀티캠을 실시간으로 바꾸고, 정밀한 2차 색보정을 원할 때. 이것은 Final Cut, Premiere, DaVinci에 둔다. video-use가 맡는 것은 러프 컷, 추임새 제거, 자막 번인, 단순한 오버레이다. 완성본은 다시 NLE로 넣을 수 있다.
  • 전사 예산. Scribe는 ElevenLabs 크레딧을 쓴다. 캐시는 같은 값을 두 번 내지 않으려고 있다. 설치 때 긴 영상으로 시험하는 것이 가장 흔한 낭비다.
  • 자체 점검은 시사가 아니다. 컷 근처 PNG와 파형을 뽑아 점프 컷, 팝 노이즈, 가려진 자막을 잡는다. 농담이 웃기는지, 브랜드 색이 맞는지는 보장하지 않는다. 취향은 여전히 승인이 필요하다.
  • 권리. 편집할 권리가 있는 소스만 다룬다. 스킬은 yt-dlp로 URL을 받을 수 있다. 그것은 소스 입구다. 저작권을 우회하는 근거가 되지 않는다.
  • 키. 스킬 저장소의 .env에만 둔다. 소스 디렉터리에 쓰지 마라. 다른 곳으로 동기화되는 채팅 기록에 붙이지 마라.

긴 세션을 Cloud Mac에 두는 이유

런치 영상 한 편은 대개 이렇다. 일괄 전사, 전략을 왔다 갔다 수정, 720p 미리보기, 애니메이션 슬롯 한두 개, 마지막 1080p. ffmpeg와 서브 Agent 모두 시간을 먹는다. 노트북 덮개를 닫으면 Agent 프로세스도 같이 잠들고, edit/는 중간 미리보기에서 멈춘다.

  • 세션을 끊지 마라. Cloud Mac에서 tmux를 열고, 그 안에서 Claude Code나 Codex를 돌린다. 연결이 끊긴 뒤에도 렌더는 계속되고, project.md도 그대로다.
  • 툴체인은 brew다. 공식 macOS 경로는 brew install ffmpeg다. 같은 머신에 Python, uv, 그리고 HyperFrames가 요구하는 Node 22가 있다. 렌더 도중에 Linux로 바꿔 필터 차이를 찾지 않아도 된다.
  • 디스크는 소스를 따라간다. 원본과 edit/는 Agent가 있는 그 디스크에 둔다. 심볼릭 링크는 스킬 저장소만 걸고, 소스는 걸지 않는다.
  • 코딩 작업과 나눠도 되고, 한 대에 모으면 더 편하다. 같은 Mac에서 오전에는 Codex가 저장소를 고치고, 오후에는 video-use가 발표 토킹헤드를 자른다. 양쪽 다 긴 세션이고, 둘 다 슬립을 싫어한다.

모델은 다음 주에 바뀔 수 있다. 스킬 디렉터리와 ffmpeg는 그렇지 않다. Agent를 Vuncloud Cloud Mac에 두고, 노트북은 preview.mp4를 보고 「HOOK을 2초 더 짧게」라고 답하는 일만 한다.

FAQ

video-use는 편집 소프트웨어인가?

아니다. browser-use가 오픈소스로 낸 Agent 스킬이다. 소스 디렉터리에서 말하면 Agent가 단어 단위 전사를 읽고 EDL을 쓴 다음, ffmpeg로 edit/final.mp4를 렌더한다. 타임라인 화면은 없다.

어떤 Agent를 쓸 수 있나?

shell을 돌리고 SKILL.md를 읽을 수 있으면 된다. 공식 경로는 Claude Code, Codex, Hermes, OpenClaw를 덮는다. 저장소 전체를 심볼릭 링크한다. markdown 파일 하나만 걸지 마라.

ElevenLabs가 꼭 필요한가?

전사에는 필요하다. Scribe가 단어 단위 타임스탬프, 화자 분리, 웃음 같은 이벤트를 준다. 키는 저장소 .env에 두고 권한은 600이다. 키가 없으면 파이프라인이 시작되지 않는다. 설치 때 실제 영상으로 전사를 시험하지 마라.

모델이 영상 전체를 그림으로 보나?

상시로 보지 않는다. 주 읽기 자료는 takes_packed.md다. 화면은 결정 지점과 완성본 자체 점검 때에만 timeline_view PNG로 뽑는다.

완성본은 어디에 있고, 원본은 바뀌나?

원본 파일은 그 자리에 둔다. 산출물은 소스 디렉터리의 edit/에 있고, 최종본은 final.mp4다. 전략을 확인하기 전에는 컷을 넣으면 안 된다.

Premiere나 Final Cut을 대체할 수 있나?

토킹헤드와 튜토리얼의 러프 컷, 추임새 제거, 자막 번인은 빠르다. 키프레임, 멀티캠, 정밀 색보정은 NLE에 남긴다. 대사가 거의 없는 영상은 화면 전략을 직접 말해야 한다.

맺음말

세 가지다. video-use는 코딩 Agent가 프레임을 뽑는 대신 전사를 읽게 한다. 승인 전에 렌더하면 안 된다. 완성본은 소스 옆 edit/final.mp4에 있고, 스킬 저장소에는 없다. 먼저 ffmpeg, 키, 디렉터리 전체 심볼릭 링크를 맞게 두고, 첫 문장은 전략만 요구한다. 미리보기가 통과한 뒤에 색보정과 애니메이션을 말한다.

추임새와 숨은 이 파이프라인에 맡기기 좋다. 취향과 권리는 여전히 당신 쪽에 있다. 머신이 렌더 도중에 잠들면 안 된다.

편집 Agent에는 잠들지 않는 Mac이 필요하다

ffmpeg, Scribe 캐시, project.md가 같은 머신에 있다. Claude Code나 Codex를 tmux에 넣으면, 연결이 끊긴 뒤에도 edit/가 남아 있다.

Cloud Mac 플랜 보기

개발 노트 · Video-Use

긴 세션 편집은 잠드는 노트북에 두지 않는다

Claude Code · Codex · ffmpeg · Cloud Mac

Cloud Mac 플랜 보기
한정 혜택 플랜 보기