/edit-my-video
원시 클립을 넣으면 사용자 스타일의 완성된 1080x1920 릴이 나옵니다. 사용자는 일반적으로 비기술적이므로, 짧고 간단한 메시지로 한 번에 한 단계씩 대화하고, 모든 기술 작업을 직접 수행하며, 코드를 건드리게 해서는 안 됩니다. 절대 AskUserQuestion 팝업을 사용하지 말고 (채팅으로 질문). 아무데도 게시하거나 업로드하지 마십시오. 사용자를 위해 작성하거나 화면에 표시하는 모든 것에 em 대시를 사용하지 마십시오.
SK = 이 스킬의 폴더. STYLE = 스타일 폴더 (기본값: SK/config.json에 저장된 폴더, 없으면 /build-my-style이 만든 폴더, 없으면 ~/edit-style; 이 중 STYLE.md가 없으면 위치를 묻거나 먼저 /build-my-style을 제안). WORK = 비디오당 하나의 폴더, <edits folder>/<slug>/ (slug = 짧은 케밥-케이스, 예: github-repos). 모든 경로는 따옴표로 묶으세요. 공백이 있습니다. 스크립트는 python3 "SK/scripts/<name>.py" ...로 실행되며, 각 스크립트는 인수 없이 실행될 때 자체 사용법을 출력합니다.
세션의 첫 번째 편집 전에 읽기: references/creative-rules.md (가장 중요한 파일: 디자인 방법과 엄격한 취향 검사) 및 references/engine.md (렌더링하는 HyperFrames 패턴). 4단계 전에 references/storyboard.md를 읽으십시오.
가장 중요한 한 가지 규칙
STYLE.md는 메뉴가 아니라 가드레일입니다. 외형(색상, 글꼴, 모션 느낌, 사운드 레벨, 안전 영역, 거부된 사항)을 고정합니다. 만들 수 있는 것을 제한하지는 않습니다. 모든 대사에 대해 이 아이디어를 가장 잘 설명하는 시각적 요소가 무엇인지 묻고, 그 look 안에서 새롭게 디자인하십시오. 첫 번째 테스트 편집은 스타일 페이지의 템플릿을 복사했고(세 가지 작업만 수행할 수 있는 체크리스트), 크리에이터는 이를 "매우 제한적"이고 "전혀 즉흥적이지 않다"고 평가했습니다. 레이아웃을 다양하게 하십시오. 절대 같은 레이아웃을 연속으로 두 번 사용하지 마십시오. 시각적 요소를 크게 만드십시오.
단계 ("Step 3 of 8: finding your best takes"처럼 한 줄로 현재 단계를 표시)
1. 설정 확인 (수 초)
python3 "SK/scripts/setup.py" --check. 누락된 항목을 짧은 목록으로 표시: 항목, 용도, 한 줄 수정 방법. 설치해야 하는 항목(ffmpeg, Node, Python, Chrome)이 있으면 Terminal 앱(Command + Space, Terminal 입력)에 해당 줄을 붙여넣고 "완료"라고 말하도록 안내하세요. --install (faster-whisper, playwright, HyperFrames, speech model)은 그들이 승인한 후에만 실행하세요: "무료 편집 도구를 설치할까요? 약 5분, 한 번만 필요합니다." 그런 다음 python3 "SK/scripts/style.py" check "STYLE" (스타일 폴더가 완전한지 확인) 및 python3 "SK/scripts/style.py" serve "STYLE" (페이지 서버가 실행 중이 아니면 시작, URL 기록). 첫 번째 실행 시에만: 편집본이 저장될 위치를 묻고 (스타일 폴더 옆 edits/ 폴더 제안) 저장: setup.py --save --style "STYLE" --edits "<folder>".
2. 입력 (한 메시지)
아직 없는 것만 물어보세요:
- 원시 클립 폴더 (종종 반복 테이크가 많음, 각 대사의 마지막 깔끔한 테이크 사용)
- 비디오의 주제, 그리고 스크립트나 메모가 있으면 그것들
- 클릭 유도를 위한 댓글 키워드
- 목표 길이 (25~40초 제안)
- 음악: 사용자가 트랙을 언급한 경우에만. 그렇지 않으면 없음 (크리에이터가 직접 음악 선택).
그런 다음
mkdirWORK 및python3 "SK/scripts/style.py" resolve "STYLE" --out "WORK/style.json". STYLE.md 전체를 읽으십시오: 특히Feedback from edits,Rejected,Kept(최신순). 이것들은 과거 편집에서 나온 크리에이터 자신의 수정 사항이며 다른 모든 것보다 우선합니다.
3. 테이크, 컷, 단어 (~5분 영상당 약 1분)
takes.py "WORK" "<clip>" ... --prompt "<말할 이름들>"모든 시도를 나열, 재시도 표시.WORK/takes/*.txt를 읽으십시오. 각 대사의 마지막 완전하고 깔끔한 테이크를 선택하십시오 (더듬는 부분은 건너뛰고,in을 이동하여 잘못된 시작 부분을 자르십시오).WORK/edl.json을 작성하십시오 (형식은cut.py사용법에 있음).cut.py "WORK" --prompt "<이름>": 프레임 정확도로 세그먼트를WORK/hf/assets/v/로, 음성은 -16 LUFS로, 가장자리는 정확하게,WORK/words.json/WORK/words.txt(릴 시간 포함).progress/01-cut-takes-in-order.jpg를 확인하십시오.words.txt를 그들이 의도한 내용과 비교하여 읽으십시오. Whisper는 이름을 잘못 알아듣습니다:captions.py fix "WORK" "49=ArtCraft"로 words.json에서 수정하십시오 (실제로 말한 내용과 일치하도록만). 비트별로 한 줄씩, 그리고 길이를 알려주십시오.
4. 먼저 스토리보드 (사용자가 승인한 후에야 렌더링)
references/storyboard.md를 따르십시오: WORK/storyboard.json 작성 (비트별 아이디어: 단어, 시간, 레이아웃, 시각적 요소, 애니메이션, 캡션, 사운드), 실제 푸티지 위에 계획된 시각적 요소를 합성하여 비트당 하나의 스틸 이미지 생성 (실제 스크린샷, 실제 앱 아이콘, JPG), 주요 비트 34개(훅, 주요 아이디어, 결말, CTA)에는 23개의 대안(A/B/C) 포함. 그런 다음 storyboard.py page "WORK" --style "STYLE"를 실행하고 http://localhost:<port>/storyboards/<slug>/를 여십시오 (open <url>). 말하세요: "스토리보드가 열렸습니다. 선택 사항이 있는 곳에서 A, B 또는 C를 선택하고, 각 비트를 승인 또는 변경하고, 아무 곳에나 메모를 추가하고, 제출을 누른 다음 완료되었다고 알려주세요." "완료"를 기다리십시오. 그런 다음 storyboard.py review "WORK" --style "STYLE"가 사용자의 선택과 메모를 storyboard.json에 반영합니다. 변경된 비트만 다시 빌드하여 다시 표시하고, 모든 항목이 승인될 때까지 반복합니다.
5. 변형 (선택 사항, 한 번 제안: "전체를 만들기 전에 훅의 움직이는 버전 2~3개를 보고 싶으신가요?")
23개의 주요 순간에 대해: 그 순간을 포함할 만큼 편집을 빌드하고(6단계), 4초, 렌더링 약 6초). storyboard.json의 해당 대안에 hf/index.html을 hf/index-<beat>-B.html로 복사하고 해당 비트를 재설계한 다음, render.py slice "WORK" <beat>-A <start> <end> 및 render.py slice "WORK" <beat>-B <start> <end> --index "WORK/hf/index-<beat>-B.html"를 실행하십시오 (각 2"video": "variations/<name>.mp4"를 넣고, storyboard.py page "WORK" --style "STYLE" --variations, .../storyboards/<slug>/variations.html을 열고, 완료를 기다린 후, storyboard.py review ... --variations를 실행하고, 승리한 변형을 index.html에 유지하십시오.
6. 편집본 제작 (창의적인 부분)
render.py new "WORK" --title "<video> v1": 스타일의 색상, 글꼴, 캡션 그림자 및 모션 키트(engine/kit.js)가 포함된 고정된 HyperFrames 프로젝트를WORK/hf/에 생성합니다.- 실제 자료 수집:
shoot.py web <url> <png> --mobile(페이지가 완전히 로드된 후),shoot.py icon "<App>" <png>(실제 macOS 앱 아이콘), 해당 도구 사이트의 공식 로고 (없는 경우). - 승인된 스토리보드에서 비트별로
WORK/hf/index.html을 작성하고 (references/engine.md의 패턴 및 키트 API), words.txt에서 각 단어가 속한 시간에 모든 시각적 요소를 맞춥니다. 각 비트를 새롭게 디자인하고, 모든 시각적 장면에data-visual="<what it is>"및data-layout="face|split|full"을 부여하십시오. - 캡션:
captions.py make "WORK" --skip <a-b>(<a-b>는 화면의 텍스트가 이미 단어를 말하는 순간은 건너뜀), 그런 다음WORK/caps.json을 수동으로 편집: 자연스럽게 읽히도록 청크를 나누고 (단어 2~3개),top을 설정하여 입 위에 절대 위치하지 않도록 하고, 비트당cls, 강조 단어 하나에html사용.captions.py inject "WORK". - 사운드:
WORK/cues.json작성 (모든 컷, 패널, 아이콘, 라인, 히어로 단어는 고정된 레벨에서 큐를 가짐, 이중 히트 금지), 사용자가 이름을 지정한 경우에만 음악을 추가한 다음mix.py "WORK"(믹스를 -16 LUFS로 설정). render.py check "WORK"(모든 오류 수정),render.py snap "WORK" <times> --name <beat>를 실행하고 변경한 프레임을 확인하십시오. 매 단계마다 번호가 매겨진 그림을WORK/progress/에 넣으십시오 (대부분의 스크립트가 자동으로 수행).
7. 사용자에게 보여주기 전에 직접 렌더링 및 검토
render.py render "WORK" --out "WORK/<Video name> - v1.mp4", 그런 다음 qa.py "WORK" "<mp4 파일>".
모든 FAIL을 수정하십시오. 그런 다음 실제로 나열된 모든 그림(2fps 연속 사진과 안전 영역이 그려진 전체 크기 클로즈업)을 확인하십시오: 텍스트 밀집, 시각적 요소가 작거나 공간이 비어 있는 경우, 캡션이 입을 가리는 경우, 동일한 레이아웃 반복, 튀는 요소, 검은 요소, 숫자/이름이 단어와 일치하지 않는 경우. 자동 검사는 눈으로 잡아내는 것을 놓칠 수 있습니다 (이 스킬의 첫 번째 테스트는 흐릿한 히어로 단어와 빈 하프 카드가 있는 상태에서 검사를 통과했습니다). 한 번 수정하고, 다시 렌더링하고, qa.py를 다시 실행한 다음 open "<mp4>"를 실행하십시오.
몇 줄로 알려주십시오: 파일 위치, 길이, 비트별 내용, 그리고 추측한 사항.
8. 피드백 루프 (사용자가 메모를 줄 때마다)
수정하고, 다시 렌더링하고 (재렌더링은 약 20초 소요), qa.py를 다시 실행하고, 여십시오. 그리고 그 메모를 스타일에 기록하여 다음 편집이 이미 알 수 있도록 하십시오:
python3 "SK/scripts/feedback.py" "STYLE" --video <slug> --rule "<지금부터 이렇게 하기>" (또는 --rejected "<다시는 안 함>", --kept "<이게 마음에 들었음>"). 사용자의 표현을 사용하고, 플래그당 하나의 메모로; 그들이 좋아한 것은 싫어한 것만큼 중요합니다. 먼저 STYLE.md를 백업하고 로그를 남깁니다. 추가한 내용을 한 줄로 말하십시오. 메모가 잠긴 값(샤인, 줌 곡선, 캡션 그림자)에 관한 것이면, 그 값이 스타일 페이지의 랩에 있다고 말하고 잠금을 자동으로 재정의하는 대신 열어 보겠다고 제안하십시오.
소요 시간 (M-시리즈 Mac, ~8분 영상에서 15초 완성 릴 기준)
테이크: 영상 5분당 약 1분 · 컷 + 단어: 약 15초 · 스토리보드 스틸: 약 2분 · 변형 슬라이스: 각 약 6초 · 렌더링: 약 20초 · QA: 약 30초.