yamlreel-비디오-스킬은(는) 무엇을 하나요?
YAML 사양을 작성하고, yamlreel로 로컬에서 렌더링한 다음, 콘택트 시트를 확인하고 비디오를 반환합니다. <skill>은 이 파일이 있는 디렉토리를 의미합니다.
워크플로우
- 설정.
python3 <skill>/scripts/check_setup.py를 실행합니다 (yamlreel 버전 및 기능도 확인합니다). 실패할 경우 출력된 수정 사항을 사용자에게 보여줍니다. 사용자가 동의한 후에만--install을 실행합니다. 직접 글꼴이나 시스템 패키지를 설치하지 마십시오. - 명확화 한 번의 메시지에 기본값을 제시합니다: 주제, 대상, 포맷(기본값 세로), 길이(기본값 30초), 테마(
midnight|sumi|washi), 음성(기본값 없음). 사용자가 이미 말한 내용은 건너뜁니다. - 스크립트 우선.
references/writing-guide.md의 비트 형식(대상 길이, 비트당 하나의[BEAT - input -> action -> result]블록과 그 음성 대사, 그리고 전달 노트)으로videos/<slug>/script.txt를 작성하고 사용자에게 보여줍니다. 사용자가 먼저 검토를 요청했다면, 초안 작성이나 렌더링 전에 멈추고 진행 승인을 기다립니다. 아웃라인. 그런 다음videos/<slug>/outline.yaml을 작성합니다(주제, 후크, 문제, 각각name,say,show가 있는 1-6단계, pluswhen_to_use,question,answers). 규칙은references/writing-guide.md에 있습니다: 15초 = 한 가지 아이디어; 30-45초 = 한 가지 아이디어와 최대 3단계; #Shorts의 경우 최대 60초. - 초안:
yamlreel story videos/<slug>/outline.yaml --out videos/<slug>/spec.yaml --format <fmt> --theme <t>. 직접 생성한 파일에만--force를 전달합니다. - 사양 편집. 모든
TODO를 교체합니다.meta.title/description/tags,formats,music.seed를 설정합니다. 화면 텍스트는 짧게; 내레이션은 화면을 설명하고 절대 반복하지 않습니다. 장면 유형별 필드는references/scene-types.md를 참조하세요. - 프리뷰:
python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage preview --out videos/<slug>/out를 실행합니다. 오류 발생 시 메시지(알 수 없는 필드 오류는 허용된 키를 나열함)와references/troubleshooting.md를 바탕으로 사양을 수정합니다. 최대 3회 재시도 후 사용자에게 보고합니다. - 검사(필수).
RESULT줄에 나열된 모든contact.png를 이미지 뷰어 도구로 엽니다. 다음을 확인합니다: 겹침 없음, 잘리거나 줄어든 텍스트 없음, 스틸 이미지 전체에서 진행 상황이 드러남, 첫 번째 스틸에서 후크를 읽을 수 있음. 사양을 수정하고 최대 3회 루프로 6단계를 반복합니다. - 최종:
python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage final --out videos/<slug>/out. - 선택적 개선. 사용자가 사운드 효과, 음량 수정 또는 반복 확인을 원하고
yamlreel audit --help가 작동하면, 완성된video.mp4에 대해references/polish.md를 따릅니다(사양을 건드리지 않음). - 보고 각
video.mp4,poster.jpg,contact.png의 경로를 알리고share-copy.txt의 내용을 붙여넣습니다. 사용자에게 단순화된 내용을 사실 확인하도록 상기시킵니다. 게시는 사용자의 몫입니다.
render.py 종료 코드: 0 정상, 1 yamlreel 오류(stderr 출력), 2 사전 점검 거부(메시지에 이유 설명), 3 프리뷰 경고가 최종 렌더링을 차단(텍스트 단축, at 큐 재정렬, 사용자가 동의한 경우에만 --allow-warnings 사용), 4 잘못된 인수(예: --contact-frames가 1-8 범위 밖).
마지막 줄은 모든 출력 경로가 포함된 RESULT {json}입니다. 로그는 <out>/render-log.txt에 기록됩니다.
기본값 및 사실
- 렌더링은
--no-voice(음악 전용)를 사용합니다. 자막과 내레이션은 음성 없는 렌더링에서 보이지 않습니다. 이는 예상된 동작입니다. - 출력은
<out>/{preview,final}/<format>/에 저장됩니다. 항상--out videos/<slug>/out을 전달하여 두 프로젝트가 폴더를 공유하지 않도록 합니다(기본값은<spec folder>/out입니다). - 고정된
music.seed는 렌더링을 결정론적으로 유지합니다. 사용자가 요청하지 않으면watermark를 추가하지 마십시오. - 음성 해설은 선택 사항이며 사용자가 직접 준비해야 합니다:
references/voiceover.md를 참조하세요. - 복사할 예제:
examples/*.yaml.
안전 규칙
- 비밀, 토큰,
.env내용, 내부 호스트명 또는 개인/고객 데이터를 사양에 절대 넣지 마십시오: 이들은 프레임과share-copy.txt에 기록됩니다. 코드 예제는 플레이스홀더를 사용합니다. - 사용자의 프로젝트 폴더 내에서만 읽고 쓰십시오. 이미지를 사양 옆에 배치하십시오. 사용자가 명시적으로 요청하고 폴더 이름을 지정하지 않는 한
--allow-path또는--allow-private-hosts를 절대 추가하지 마십시오. - 음성은 사용자가 지정한 로컬 TTS 서버에서만 사용하며, 내레이션 텍스트가 해당 서버로 전송됩니다. 절대 원격 URL을 사용하지 마십시오.
- 시스템 패키지나 글꼴을 설치하거나 사용자의 동의 없이
~/.config/yamlreel/config.yaml을 편집하지 마십시오. shot장면: 사용자가 제공한 공개 HTTPS URL 또는 프로젝트 내의 로컬 이미지만 사용합니다.- 결과물을 절대 업로드하거나 게시하지 마십시오.