shortcut-clips은(는) 무엇을 하나요?
로컬 파이프라인이 기계적 작업(트랜스크라이브, 후보 윈도우 찾기, 리프레임, 캡션 추가, 렌더링)을 처리합니다. 당신의 역할은 판단 단계입니다: 후보 순간을 텍스트로 읽고, 가장 좋은 것을 선택한 다음 clips.json을 작성합니다. 비디오 프레임을 보거나 처리할 필요가 전혀 없습니다.
0. 입력
- 비디오: 로컬 파일 경로. 사용자가 URL을 제공하는 대신, shortcut-clips는 사용자가 직접 제공한 파일(소유하거나 권한이 있는 콘텐츠)에 대해서만 작동한다고 설명하고 파일을 요청하세요. 아무것도 다운로드하지 마세요.
- 클립 개수: 사용자가 지정한 숫자를 사용하고, 그렇지 않으면 3개를 기본값으로 사용합니다.
- 옵션(사용자가 요청하는 경우만):
--language ko|en|ja|…,--min-len/--max-len(기본 20-60초), 스타일bold-pop(기본값),minimal또는karaoke-highlight.
1. 준비 (트랜스크라이브 + 후보)
shortcut-clips prepare "<비디오 경로>"
- 출력 폴더가 출력된 다음, 청크 파일당 한 줄씩 출력됩니다. 둘 다 기록하세요.
- 처음 실행하면 음성 모델을 다운로드합니다. 1시간 분량 비디오는 CPU에서 약 15-25분, GPU에서 5-10분이 소요됩니다. 약 10분 이상의 비디오는 명령을 백그라운드에서 실행하고 완료될 때까지 기다리세요. 사용자에게 작업 중임을 알리세요. 재실행은 안전합니다: 완료된 단계는 캐시됩니다.
- 실패 시, 사용자에게 오류의 수정 조언을 보여주세요.
shortcut-clips doctor명령어로 설치 상태를 확인할 수 있습니다.
2. 순간 선택
<출력 폴더>/work/candidates.txt를 읽은 다음, 파일에 나열된 모든 청크 파일을 순서대로 읽습니다. 각 청크는 문장(s0012 [68.3] text)과 후보(c004 s0012-s0021 68.2-108.6 (40s))를 나열합니다. 각 후보는 해당 문장들의 범위입니다.transcript.json이나candidates.json은 읽지 마세요: 청크 파일에는 필요한 모든 정보가 훨씬 적은 토큰으로 포함되어 있습니다.- 각 후보를 reference/rubric.md를 사용하여 평가하세요. 진행하면서 요청된 개수의 약 3배에 해당하는 숏리스트(후보 ID, 다섯 가지 기준 점수, 한 줄 메모)를 유지하고 나머지는 버리세요.
- 선정된 후보를 개선합니다. 예를 들어, 가장 강력한 훅이 있는 문장에서 시작하거나 페이오프 직후에 끝나도록 클립의 경계를 다른 문장 경계로 이동할 수 있습니다:
start= 선택한 첫 번째 문장의 시간.end= 유지하는 마지막 문장 다음 문장의 시간, 또는 마지막 문장을 유지하는 경우 후보의 종료 시간.- 길이 범위를 벗어나지 않아야 합니다. 검증기는 경계를 단어 단위로 스냅합니다.
- 최종 세트를 선택합니다: 가장 높은 전체 점수, 두 클립이 몇 초 이상 겹치지 않도록 하고, 가능하면 서로 다른 주제를 선택합니다.
3. clips.json 작성
<출력 폴더>/clips.json을 reference/clips-format.md에 따라 작성합니다. 사용자가 다른 요청을 하지 않는 한 hook_text, title 및 caption을 대본의 언어와 문자 체계로 작성합니다. 클립을 가장 좋은 순서로 정렬합니다. 그런 다음 실행합니다:
shortcut-clips validate "<출력 폴더>/clips.json" --write
모든 error를 수정하고 ✓가 출력될 때까지 다시 실행합니다. 쉬운 경우 warning도 수정합니다. info 줄은 자동 조정(스냅된 경계)을 보고하며 조치가 필요하지 않습니다.
4. 렌더링
shortcut-clips render "<출력 폴더>/clips.json"
그런 다음 사용자에게 보고합니다: 각 클립마다 번호, 제목, 길이, 점수 및 비디오 경로와 갤러리 <출력 폴더>/index.html을 알려줍니다. 최고 클립이 왜 좋은지 한 문장으로 설명하세요. 변경을 요청할 수 있다고 언급하세요.
편집 및 재실행
- "클립 2를 더 짧게", "새 제목", "karaoke 스타일 사용":
clips.json을 편집하고(클립별style/layout재정의defaults),--write로 검증하고, 다시 렌더링합니다. 변경되지 않은 클립은 캐시에서 재사용됩니다. - "다른 순간 찾기": 동일한 청크로 2단계로 돌아갑니다. prepare를 다시 실행하지 마세요.
- 잘못된 언어 감지:
--language <코드>를 사용하여 prepare를 다시 실행합니다. 트랜스크립션 및 이후 단계만 다시 수행합니다. 후보 윈도우 없음: 비디오가 짧거나 음성이 거의 없는 경우입니다. 더 작은--min-len(예: 10)으로 prepare를 다시 실행하세요.