Communitygithub.com

clabza16/skills-edicion

세로형 영상에서 사람이 카메라를 보며 말하는 영상(Instagram Reel, TikTok)을 자동으로 편집하여 컷마다 줌을 추가하고, 첫 프레임부터 읽히는 후킹 문구, 제목, 자막, 채팅, Finder 스타일 목록, 갤러리 사진, 분할 화면, 종료 시 따라하기 버튼 등을 넣습니다.

skills-edicion란 무엇인가요?

이 스킬은 사용자가 제공한 세로형 영상(예: 릴스, 쇼츠, 틱톡)을 전문 편집자가 처리한 것처럼 다듬어주는 AI 에이전트 스킬입니다. Remotion 기반 템플릿을 사용하여, 영상의 원본 대사는 그대로 두고 시각적인 편집 레이어만 추가합니다. 사용자가 '영상 편집해 줘' 또는 '릴스용으로 다듬어 줘'라고 요청하면, 이 스킬은 Whisper로 음성을 텍스트로 변환하고, 컷 전환 지점을 감지한 후 plan.json 파일을 생성하여 각 컷에 줌 효과, 타이틀, 카라오케 스타일 자막, 자동 타이핑 채팅, Finder 스타일 목록, 갤러리 이미지, 분할 화면 등을 배치합니다. 결과물은 최종적으로 음악과 효과음을 추가하는 다른 스킬과 연계됩니다. 이 스킬은 Claude Code(Cursor, Codex 등)에서 실행되며, 사용자의 로컬 환경에 ffmpeg, whisper-cli, Node.js, Chrome이 필요합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clabza16/skills-edicion/tree/HEAD/editar-reel

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

editar-reel

누군가가 카메라를 보고 말하는 세로형 영상(이미 무음 및 불량 컷 제거됨)을 받아서 바로 업로드할 수 있도록 준비합니다. 화자가 말하는 내용은 건드리지 않습니다: 그 위에 편집 레이어만 추가합니다.

템플릿은 plantilla/ (Remotion)에 있습니다. 화면에 표시되는 모든 내용은 plantilla/public/plan.json에 설명되어 있습니다. 당신의 작업은 프로그래밍이 아닌, 기준에 따라 그 계획을 작성하는 것입니다.

요구 사항 (시작하기 전에 확인)

  • ffmpeg와 whisper-cli (whisper.cpp). Mac: brew install ffmpeg whisper-cpp. Windows: winget install Gyan.FFmpeg 및 https://github.com/ggml-org/whisper.cpp/releases 에서 whisper.cpp 압축 파일 다운로드 (whisper-cli.exe를 PATH에 추가).
  • Node 18 이상 (Windows: winget install OpenJS.NodeJS), Google Chrome 설치.
  • 누락된 것이 있으면 사용자의 허락을 받고 직접 설치하세요. 설치 프로그램이 비밀번호를 요구하면 사용자가 직접 입력하게 하세요. 중간에 멈추지 마세요.
  • Windows에서는 .sh 스크립트가 Git Bash에서 실행됩니다 (Claude Code on Windows에서 사용). bash가 없으면 동등한 명령어를 사용하세요.

단계

1. 릴스 폴더 준비

cp -R <이-스킬>/plantilla ~/reels/<릴스-이름>
cd ~/reels/<릴스-이름> && npm install
cp <영상-파일> public/video.mp4

영상은 세로 1080×1920이어야 합니다 (4K 세로로 온 경우 ffmpeg -i in.mov -vf scale=1080:1920 -c:a copy public/video.mp4로 다운스케일; 얼굴을 확대하기 위해 자르지 마세요: 사람들은 여유 공간을 선호합니다).

2. 자막 추출 및 컷 찾기

bash <이-스킬>/scripts/transcribir.sh public/video.mp4 public
bash <이-스킬>/scripts/cortes.sh public/video.mp4
  • transcribir.sh는 public/palabras.json (각 단어와 해당 초)을 생성하고 텍스트를 출력합니다. 전체를 읽으세요. whisper는 고유명사에서 오류를 범합니다 ("Cloud"를 "Claude"로): correcciones.json으로 수정하고 python3 <이-스킬>/scripts/palabras.py public/tokens.json public/palabras.json correcciones.json를 실행하세요. 단어가 이해되지 않으면 사용자에게 물어보세요. 추측하지 마세요.
  • cortes.sh는 컷 전환 지점(초)을 출력합니다. 이 값들은 cortes_s로 계획에 들어갑니다.

3. 얼굴 위치 파악

고르게 분포된 6-8개의 프레임을 추출하여 얼굴 높이(1920 기준 픽셀)를 확인합니다:

for t in 1 5 10 15 20 25; do ffmpeg -y -v error -ss $t -i public/video.mp4 -frames:v 1 /tmp/cara_$t.jpg; done

cara_y = 눈 또는 코의 높이 (일반적으로 700-900). 줌은 그곳을 중심으로 하고, 제목은 머리 위에 배치됩니다: 가장 위에 있는 프레임에서 정수리가 어디인지도 기록하세요. y=450 위에 있으면 제목이 들어갈 공간이 부족하므로 제목을 줄이세요.

4. 계획 작성

plantilla/public/plan.json의 형식을 따르세요 (완전한 예시입니다). 다른 영상이나 캡처가 없으면 split과 pantallazos는 삭제하세요: 이들은 저장소에 포함되지 않은 예제 파일을 가리킵니다. cortes_s는 중복 없이 순서대로 나열되어야 합니다. 규칙:

리듬

  • 컷당 하나의 줌 (zooms, 컷 간 구간당 하나), 평면을 번갈아 가며: 1.0 → 1.16 → 1.0 → 1.26… 컷 시점의 스케일 변경이 점프를 가려줍니다. 1.3을 초과하지 마세요: 픽셀화됩니다.
  • 3-5초마다 화면에 새로운 요소가 등장하지만, 한 번에 하나의 아이디어만: 제목과 채팅이 동시에 나타나지 않도록 하세요.

후킹 (처음 2초가 모든 것을 결정)

  • gancho.linea는 첫 프레임부터 보여야 하며, 등장 애니메이션 없이 바로 표시됩니다: 이것이 썸네일 역할도 합니다.
  • 목소리 내용을 반복하지 마세요. 목소리가 "3백만 명이 이걸 봤다"고 말하면, 텍스트는 충돌하는 다른 내용을 말해야 합니다 ("내 AI가 만들었어요"). 반복하면 자막에 불과하며 기회를 낭비한 것입니다.
  • 첫 프레임에 가장 좋은 것은 움직임입니다: 결과물(바이럴 영상, 전후 비교)이 위에, 화자가 아래에 있는 split으로, 첫 문장이 끝날 때 닫힙니다.

각 요소는 해당 단어와 함께 등장

  • palabras.json에서 해당 사물을 언급하는 단어의 정확한 초를 찾아, 요소가 0.15-0.3초 먼저 시작하도록 합니다. 단어 뒤에 나타나는 제목은 느리게 느껴집니다.
  • lista[].filas[].marcar_s = 화자가 해당 행을 언급하는 초.

무엇을 언제 사용할지

화자가 말하는 내용요소
몇 마디로 요약되는 아이디어 ("비결: 스킬")titulos (짧은 대문자 키커 + 텍스트; *단어*는 강조됨)
AI에게 무언가를 요청한 경우chat, 그가 쓴 그대로의 메시지 (모르면 물어보세요)
구체적인 이름: 폴더, 파일, 도구, 단계lista (최대 7행)
"결과를 봐"pantallazos (실제 결과물 최대 3개 캡처) 또는 영상이 있는 split
"나를 팔로우해" 마무리cierre, 사용자 계정 포함

정직성 (협상 불가): 화면에는 진실된 것만 표시됩니다. 채팅은 실제로 작성된 메시지를 보여주고, 숫자는 실제 숫자를 보여줍니다. 모르면 물어보거나 표시하지 마세요.

안전 구역: 템플릿은 모든 요소를 x 110-900, y 250-1290 사이에 배치하여 Instagram 버튼과 캡션에서 멀리 떨어지게 합니다. 그 외부로 요소를 이동하지 마세요.

5. 전체 렌더링 전에 개별 프레임 확인

npx remotion still Reel out/f0.png --frame=0

각 요소에 대해 (초 × 30) 프레임을 하나씩 추출하여 확인하세요. 확인 사항: 얼굴이 절대 가려지지 않음 (목록과 갤러리는 의도적으로 배경을 어둡게 하지만), 텍스트가 잘리지 않음, 0번 프레임에서 후킹 문구를 읽을 수 있음.

렌더링이 "Waiting for root component to load"에서 멈춘 경우 시스템 Chrome을 사용하세요: --browser-executable="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" (Mac) 또는 --browser-executable="C:\Program Files\Google\Chrome\Application\chrome.exe" (Windows).

6. 렌더링 및 최종 검토

npx remotion render Reel out/reel.mp4
ffmpeg -v error -i out/reel.mp4 -f null - && echo "파일이 정상입니다"
ffmpeg -y -v error -i out/reel.mp4 -vf "fps=1,scale=216:384,tile=10x3" -frames:v 1 out/hoja.jpg

out/hoja.jpg (초당 한 프레임)를 확인하세요. 프레임이 "모자이크"처럼 보이거나 검은색으로 나오면 (Remotion 내 영상에서 가끔 발생), 해당 프레임만 remotion still로 렌더링하고 덧붙이세요: ffmpeg -i out/reel.mp4 -i fix.png -filter_complex "[0:v][1:v]overlay=enable='eq(n,N)'" -c:a copy out/reel_ok.mp4.

그런 다음 sonido-reel 스킬로 음악, 효과음 및 최종 볼륨을 추가하세요.

알려진 오류

  • 단어가 붙은 자막 ("Yesto"): <span> 사이의 공백 하나가 렌더링에서 사라집니다. 템플릿은 이미 여백으로 분리합니다. 단어별로 텍스트를 추가할 때도 동일하게 처리하세요.
  • 영상 위에 filter: blur()나 backdropFilter 사용 금지: 검은색 또는 모자이크 프레임이 발생합니다. 어둡게 하려면 반투명 색상 레이어를 위에 씌우세요.
  • 분할 화면 위쪽 영상에 자체 텍스트가 있는 경우: recorte_y를 조정하여 깨끗한 부분을 표시하거나, broll_desde_s로 다른 초를 선택하세요.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬