Premiere Clean Edit
하나 이상의 원본 비디오 파일을 가져와 완성된 내보내기 가능한 동영상으로 만듭니다:
데드 에어와 필러 단어를 잘라내고, 색상을 보정하며, 번인 준비가 된
자막을 추가하고, 가로 및 세로 버전을 모두 내보냅니다 — 모두 Adobe Premiere Pro를
premiere-pro MCP 도구를 통해 구동하고, Premiere 자체가 헤드리스로 할 수 없는
오디오 분석은 claude-video-vision이 수행합니다.
Premiere Pro는 이미 머신에서 열려 있어야 하며 premiere-pro MCP
서버가 연결되어 있고 MCP Bridge (CEP) 패널이 시작되어 있어야 합니다(Window → Extensions)
— 이 스킬은 앱을 실행할 수 없습니다. 서버가 설치되지 않은 경우 키트의 setup 스킬을 실행하세요.
create_sequence와 같은 도구가 직접 나열되지 않으면 서버가
search_tools / invoke_tool 뒤에 숨겨져 있는 것입니다: 이를 사용하거나,
PREMIERE_MCP_TOOLSET=full로 서버를 다시 등록하세요. mcp__premiere-pro__*
도구 호출이 연결 오류로 실패하면 사용자에게 Premiere Pro를 열고
재시도하라고 알리고 우회하지 마세요.
두 개의 MCP인 이유
premiere-pro는 자르고, 그레이딩하고, 내보낼 수 있지만 — 어디를 잘라야 할지 결정할 방법이 없습니다.
해당 서버에는 무음 감지나 전사 도구가 없습니다.
claude-video-vision의 video_analyze가 그 격차를 메웁니다: 원본 파일이 Premiere에
닿기 전에 ffmpeg 무음 감지와 로컬 whisper 전사(단어 수준 타임스탬프)를 실행합니다.
컷 리스트는 일반 데이터로 한 번 계산된 후 일련의 MCP 호출로 실행됩니다.
Premiere 타임라인을 스크러빙하여 컷 포인트를 눈대중으로 맞추려 하지 마세요 —
프레임 정확한 청력을 가질 수 없으며, 분석 패스가 그 작업을 수행합니다.
두 가지 편집 유형 — 시작하기 전에 선택
- 음성 기반 (토크, 화면 녹화, 보이스오버): 아래 파이프라인을 따르세요 — 무음/필러 자르기와 자막이 주요 작업입니다.
- 몽타주 / B-롤 (방 투어, 워크스루, 여행 영상 — 대사로 컷이 결정되지 않음): 무음/필러 단계를 건너뛰고 아래 몽타주 파이프라인을 따르세요. 자막은 선택 사항이며, 음악과 페이스 조절이 주요 작업입니다.
두 유형 모두 아래 하우스 스타일로 마무리됩니다. 어떤 유형인지 확실하지 않다면: 오디오가 스토리를 전달하지 않는다면 몽타주입니다.
하우스 스타일 (기본 소셜 미디어 룩)
이 기본값은 자동 편집 결과와 수동 최종 컷을 비교하여 도출되었습니다. 이를 무시한 첫 번째 컷은 일반적으로 수동으로 다시 만들어집니다. 사용자가 자신만의 스타일이나 좋아하는 참조 비디오가 있다면 그 취향이 우선합니다: 물어보고 이 규칙을 그에 맞게 조정하세요.
- 가장 강력한 브랜드/설정 샷으로 시작과 끝을 장식하세요 — 타이틀 카드처럼 열고 닫으세요. 스토리 순서가 시간 순서보다 우선합니다; 브랜드 사인이나 히어로 샷이 "가장 먼저 찍힌 클립"보다 우선합니다.
- 과감하게 자르세요. 장면당 한 비트, ~3–6초, 최고의 순간만 — 전체 클립은 절대 사용하지 않습니다. 좋은 참조 컷은 사용 가능한 80초 영상에서 46초를 유지했습니다. 소셜 결과물의 경우 총 ~45–60초를 목표로 하세요.
- 약한 영상은 완전히 버리세요 — 흔들린 손목 워크인, 주저하는 시작. 클립이 사과를 필요로 한다면 편집에 포함하지 마세요.
- 와이드 샷과 디테일 클로즈업을 번갈아 가며 사용하세요 — 방 와이드 → 스토브 노브, 침실 와이드 → 헤드보드 질감. 설정 샷 사이에 디테일을 배치하세요.
- 장면 간에는 하드 컷 대신 크로스 디졸브를 사용하세요. 의도적인 강조를 위해서만 하드 컷을 사용합니다(좋은 참조 컷에는 하나, 아마도 두 개 정도).
- 몽타주에는 음악 우선 오디오. 연속적인 음악 배경(~-11 LUFS), 무음 없음; 원본 카메라/주변 오디오는 제거하거나 완전히 묻고, 단순히 덕킹하지 마세요. 트랙이 제공되지 않으면 요청하거나 음소거된 타임라인을 남기고 표시하세요 — 절대 원시 주변 오디오를 배송하지 마세요.
- 세로 우선 전달: 1080×1920, 30fps, H.264 ~12 Mbps가 4K60 소스에서도 기본 결과물입니다. 가로는 선택 사항이며, 그 반대가 아닙니다.
스토리타임/UGC 클립 (대화가 있는 실제 순간 — 만남, 반응, 솔직한 상호작용)의 경우 위 규칙에 네 가지 규칙을 추가하세요:
- 바이럴 순간으로 콜드 오픈하세요. 만남의 중간에서 가장 인상적인 2–4초 클로즈업을 0:00에 배치한 다음, 처음부터 이야기를 다시 들려주세요. 시간 순서는 여기서 기본 실패 모드입니다 — 설정/맥락으로 절대 열지 마세요.
- 내레이션 훅을 위한 공간을 남겨두세요. 크리에이터들은 종종 콜드 오픈 위에 직접 말하는 보이스오버 라인을 녹음합니다("아마 여러분이 왜 그런지 궁금해하실 거예요…"). 편집은 이를 생성할 수 없습니다 — 콜드 오픈을 만든 다음, 훅 VO가 필요하다고 표시하거나(또는 요청하세요) 없이 배송하지 마세요.
- 브랜드 카드로 끝내세요. 사용자가 홍보할 브랜드, 제품 또는 핸들이 있는 경우 짧은 엔드 카드(~3–5초)로 마무리하세요. 로고나 핸들을 요청하고 절대 만들어내지 마세요.
- 음악 배경 대신 대화 레벨을 조정하세요 (~-16 LUFS, 좁은 범위) — 스토리타임에서는 말이 전달되고, 몽타주에서는 음악이 전달됩니다.
파이프라인
이 단계를 순서대로 실행하세요. 클립 배치(예: 일주일치 녹화)의 경우 하나의 공유 Premiere 프로젝트 내에서 클립당 2-8단계를 반복하세요.
1. 입력 확인
(맥락에서 추론하거나) 다음을 물어보세요: 원본 파일 경로와 이것이 단일 결과물인지 아니면 가로(LinkedIn 스타일, 16:9)와 세로(Threads/TikTok/Reels, 9:16) 내보내기가 모두 필요한지. 사용자가 말하지 않으면 기본적으로 둘 다 내보내도록 설정하세요 — 편집이 잠기면 리프레임은 저렴합니다.
2. ffprobe로 소스 정보 확인
ffprobe -v error -select_streams v:0 -show_entries stream=width,height,r_frame_rate \
-show_entries format=duration -of json "<raw-file>"
width, height, r_frame_rate (분수 해석, 예: 30000/1001 ≈ 29.97),
그리고 duration이 필요합니다. Premiere에서 생성하는 시퀀스는 이와 일치해야 합니다 —
일치하지 않는 시퀀스 설정은 품질을 저하시키는 무음 스케일링/프레임 레이트 변환을 유발합니다.
3. 오디오 분석 — 무음 + 전사
원본 파일에 대해 filters: {silence: true, transcription: true}와 함께
mcp__claude-video-vision__video_analyze를 호출하세요. 이는 무음 구간과
단어 수준 전사(whisper가 로컬에서 whisper.cpp를 통해 실행 — API 키 불필요, 첫 실행은 모델 로딩에 1분 정도 걸릴 수 있음)를 반환합니다.
결과를 JSON 파일로 저장하세요 — 다음 컷 리스트 스크립트에 제공할 것입니다.
4. 컷 리스트 계산
분석 JSON에 대해 scripts/build_cutlist.py를 실행하세요:
python3 "<skill-path>/scripts/build_cutlist.py" analysis.json \
--duration <ffprobe-duration> --srt-out captions.srt
이 스크립트가 존재하는 이유는 이 작업을 수동으로 올바르게 수행하는 것이 특정 방식에서 오류가 발생하기 쉽기 때문입니다: 컷 후의 모든 자막 타임스탬프는 그 앞에서 제거된 모든 것의 누적 지속 시간만큼 이동해야 하며, 그렇지 않으면 자막이 동기화에서 벗어납니다. 스크립트는 무음 간격에 대한 병합/패딩 로직을 처리하여 컷이 단어 중간에 떨어지지 않도록 합니다.
세 가지를 자동으로 자릅니다: ≥0.35초 무음 간격(음성이 잘리지 않도록 0.08초 패딩됨), 단단한 필러 단어(um, uh, er 및 변형), 그리고 더듬음/잘못된 시작(즉시 단어 반복 "the the" 등). 의도적으로 자동으로 자르지 않는 것은 부드러운 필러(like, so, right, you know, actually)입니다 — 이것들은 종종 실제 말하는 목소리이지 노이즈가 아닙니다. 과거 UGC 편집의 실제 피드백: "you know what I'm saying?"과 같은 애드립은 배치에서 가장 진정성 있는 것으로 플래그 지정되어 명시적으로 유지되었고, 잘리지 않았습니다. 스크립트는 이러한 항목을 flagged_for_review에 컨텍스트와 함께 표시합니다 — 해당 목록을 훑어보고 진짜 필러가 아니라 목소리/개성처럼 보이는 경우에만 사용자에게 에스컬레이션하세요; 확실하지 않으면 그대로 두세요.
5. Premiere 프로젝트 및 러프 컷 구축
create_project(또는 재사용하는 경우open_project) 및 ffprobe의 출력(2단계)과 일치하는 설정으로create_sequence.- 원본 파일을
import_media하고, 트랙 0의 시간 0에add_to_timeline. - 컷 리스트의
cuts배열을start시간의 내림차순으로 탐색하고 각각에 대해: 컷의 시작과 끝에서razor_timeline_at_time, 그런 다음 결과 중간 클립에서deleteMode: "ripple"로remove_from_timeline. 내림차순이 중요한 이유는 — 이전 컷을 리플 삭제하면 이후의 모든 타임스탬프가 이동하므로, 순방향으로 진행하면 4단계의 나머지 컷 포인트가 더 이상 아무것과도 일치하지 않습니다. - 시퀀스 지속 시간이 이제 컷 리스트 JSON의
new_duration과 대략 일치하는지 확인합니다.
6. 색보정
기본 룩(사용자가 스타일화된 그레이딩이 아닌 깨끗하고 자연스러운 것을 요청함): 화이트 밸런스 수정, 거친 하이라이트 롤오프, 약간 으스러진 그림자 들어올리기, 적당한 채도. 이것을 눈으로 확인하지 않고는 할 수 없습니다 — color_correct의 매개변수는 자동 감지 기능이 없는 수동 슬라이더입니다. 따라서:
- 대표 프레임(인트로를 지난 몇 초 후)을
export_frame. - 확인합니다. 화이트 밸런스(피부 톤이 주황색이나 파란색으로 읽히면 안 됨), 노출(클리핑/크러싱된 부분이 있는지), 대비를 판단합니다.
- 타임라인 클립에 적당한
color_correct조정을 적용합니다 — 작은 조정(한 자리 값), 극적인 변화는 피합니다. 자연스러운 보정은 "보정"으로 거의 눈에 띄지 않아야 하며, "이게 맞아 보인다"는 느낌만 있어야 합니다. export_frame을 다시 하고 비교합니다. 무언가 여전히 이상하면 한두 번 반복합니다; 단일 프레임에서 완벽을 쫓아 무한 반복하지 마세요.
사용자가 수동 보정 대신/추가로 적용하려는 .cube/.3dl LUT가 있는 경우 기본 보정 위에 낮은~중간 intensity(0.5–0.8)로 apply_lut를 사용하고 대체하지 마세요 — LUT만으로는 실제 화이트 밸런스 문제를 해결하지 못하고 색상만 다시 입힐 뿐입니다.
7. 자막
- 4단계에서 작성된
captions.srt를import_media. - 시퀀스에
create_caption_track,projectItemId를 가져온 SRT로 지정.
이것은 4단계가 이미 SRT를 컷 후 타임라인에 맞게 다시 조정했기 때문에만 작동합니다 — 여기서 원본(컷 전) 전사 타임스탬프에서 자막을 다시 생성하면 편집된 비디오와 동기화되지 않습니다.
8. 두 번째 종횡비로 리프레임
리프레임은 모션 트래킹을 사용하여 기존 프레임 안으로 자릅니다 — 더 넓은 종횡비에서 더 좁은 종횡비(16:9 → 9:16)로 갈 때 잘 작동하지만, 더 좁은 종횡비에서 더 넓은 종횡비(9:16 → 16:9)로 갈 때는 생성할 실제 프레임 데이터가 없습니다(Premiere의 자동 리프레임이 수행하지 않는 생성적 확장이 필요함). 따라서:
- 가로로 촬영 → 세로 내보내기를 위해
numerator: 9, denominator: 16로auto_reframe_sequence. 이것이 일반적인 경우이며 잘 작동합니다. - 세로로 촬영 → 가로 버전이 실제로 필요한 경우, 조용히 패딩/블러 처리하는 대신 사용자에게 말하세요; 일반적으로 잘못된 AI 리프레임보다 재촬영이나 레터박스/필러박스 내보내기가 더 나은 선택입니다.
9. 내보내기
최종 소셜 결과물은 ProRes가 아닌 H.264 1080p입니다 — 이것은 Premiere 간 핸드오프가 아닌 완성된 내보내기입니다. 각 버전을 export_sequence:
- 가로:
format: "h264"(또는"mp4"),resolution은 소스와 일치,quality: "high". - 세로 (리프레임된 시퀀스에서): 동일한 설정, 1080×1920.
사용자가 경로를 지정하지 않은 경우 출력 규칙: 원본 소스 파일 옆에 edited/ 폴더를 만들고 출력 파일 이름을
<source-name>-final.mp4 (가로) 및 <source-name>-vertical.mp4로 지정합니다.
완료 전에 save_project.
10. 보고
사용자에게 알려주세요: 무엇이 잘렸는지(이유별 개수 — 무음/필러/더듬음), flagged_for_review에서 남겨두고 그 이유, 색보정이 변경한 사항, 그리고 내보낸 파일이 있는 위치. 단순히 "완료"라고 말하지 마세요 — 이것은 그들의 영상입니다; 그들은 무엇이 건드려졌는지 알아야 합니다.
몽타주 파이프라인 (대사 없는 영상)
- 타임라인에 닿기 전에 모든 소스 클립을 시청하세요 —
최소 1fps로
video_watch. 파일 이름, 썸네일 또는 이전 폴더 요약에서 내용을 추론하지 마세요: "방만" 클립이 거울에 사람이 보이는 상태로 끝날 수 있습니다(이런 일이 발생했습니다 — 두 개의 욕실 클립이 마지막 몇 초까지 깨끗했습니다). 시청하는 동안 각 클립의 최고 3–6초 비트와 정확한 트림 포인트를 기록하세요. - 모든 클립을 ffprobe합니다(파이프라인 2단계). 소스 fps와 일치하는 시퀀스를 만드세요 — 60fps 클립은 60fps 시퀀스를 사용합니다. 시퀀스 설정은 생성 후 변경할 수 없으므로(MCP 버그 참조), 먼저 올바르게 설정하세요.
- 하우스 스타일당 스토리 순서로 어셈블: 브랜드 샷 → 와이드와 디테일 번갈아 가며 → 히어로 뷰 샷 → 다시 브랜드 샷.
- 각 클립을 기록된 비트로 트림: 전체 클립을 해당 슬롯에 추가하고, 유지 경계에서 레이저 컷, 나머지 부분을 리플 삭제 — 둘 다 전달
videoTrackIndices및audioTrackIndices, 그런 다음list_sequence_tracks로 비디오 및 오디오 트랙 길이가 여전히 일치하는지 확인합니다. 고아 오디오 테일은 조용히 그 이후의 모든 것을 비동기화합니다. - 모든 장면 경계에 크로스 디졸브 추가(
add_transition_to_clip). - 하우스 스타일당 음악 배경; 카메라 오디오 제거.
- 세로 우선 내보내기(1080×1920, 30fps, h264, 높은 품질). 요청이 있는 경우에만 가로 버전을 만드세요.
알려진 premiere-pro MCP 버그 (2026년 8월 확인)
trim_clip이 조용히 아무것도 하지 않음 — 성공을 반환하지만 아무것도 변경하지 않습니다(duration유무와 관계없음). 절대 사용하지 마세요; 대신 레이저 + 리플 삭제를 사용하세요.export_frame이time을 무시함 — 요청한 타임코드와 관계없이 항상 시퀀스의 첫 번째 프레임을 반환합니다. 특정 순간을 확인하거나 시퀀스 중간 클립을 그레이딩하는 데는 쓸모없음; 대신 claude-video-vision으로 소스 파일에서 프레임을 가져오세요. 또한 자체 확장자를 추가합니다(x.png→x.png.png), 그러니 확장자 없는 outputPath를 전달하세요.razor_timeline_at_time에videoTrackIndices만 있어도 여전히 모든 오디오 트랙을 자름 — 그리고 비디오 전용 리플 삭제는 고아 오디오를 남깁니다. 항상audioTrackIndices를 명시적으로 전달하고 이후 동기화를 확인하세요.set_sequence_settings는 생성 후 fps/크기를 변경할 수 없음 — 올바른 설정으로 새 시퀀스를 만들고 이전 시퀀스를 삭제하세요.- MCP 호출이 시간 초과되어도 여전히 성공할 수 있음(
create_sequence가 그랬습니다). 시간 초과 시 재시도하기 전에get_project_info/list_sequences를 확인하세요 — 블라인드 재시도는 중복을 생성합니다. export_sequence가 성공을 보고하고 아무것도 쓰지 않을 수 있음 — 두 번 확인됨(outputPath에 파일 확장자가 있거나 없는 경우); 또한format: "ProRes"로 요청된 경우에도format: "h264"를 에코합니다. 내보내기 후 출력 파일이 실제로 존재하는지 항상 확인하고 존재하지 않으면 사용자에게 수동 내보내기를 안내하세요.- 듀얼 모니터 설정에서
list_sequence_tracks에 비디오 트랙이 누락될 수 있음 — 두 번째 모니터가 Premiere의 기본 디스플레이인 경우. 영향을 받으면set_sequence_settings를 호출하면(아무것도 변경하지 않음) 트랙이 다시 나타납니다.
시작하기 전에 — 필요한 것 확인
- Premiere Pro가 열려 있고 MCP Bridge(CEP) 패널이 실행 중입니다.
premiere-proMCP 서버가 연결되었습니다(설치되지 않은 경우setup스킬 실행).claude-video-vision이video_analyze도구로 사용 가능합니다.- Python 3가 설치되어 있고
scripts/build_cutlist.py의 종속성이 충족되었습니다(일반적으로 표준 라이브러리만 필요).
이 스킬은 Cursor, Codex, Claude Code, Cline, Windsurf, Go槊d 등 모든 MCP 호환 AI 에이전트 플랫폼과 함께 작동합니다.