yamlreel-video-skills 是做什么的?
编写一个YAML规范,在本地使用yamlreel渲染,检查联系表,然后返回视频。<skill> 指此文件所在的目录。
工作流程
- 设置。 运行
python3 <skill>/scripts/check_setup.py(它还会检查yamlreel版本和功能)。如果失败,向用户显示打印的修复方法。仅在用户同意后运行--install。切勿自行安装字体或系统包。 - 澄清:用一条消息说明,提供默认值:主题、受众、格式(默认竖屏)、长度(默认30秒)、主题(
midnight|sumi|washi)、声音(默认无)。跳过用户已经提到的内容。 - 先写脚本。 按照
references/writing-guide.md的段落格式,编写videos/<slug>/script.txt(目标长度,每个段落一个[BEAT - 输入 -> 动作 -> 结果]块,包含其口语台词,然后是交付说明)并向用户展示。如果用户要求先审核,则停止并等待用户同意后再起草或渲染任何内容。 大纲。 然后编写videos/<slug>/outline.yaml(主题、钩子、问题、1-6个步骤,每个步骤包含name、say、show,以及when_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。检查:无重叠,无裁剪或缩小的文本,连续截图展示进度,第一张截图中的钩子可读。修复规范并重复步骤6,直到干净为止,最多循环3次。 - 最终渲染:
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,或项目内的本地图像。- 切勿上传或发布结果。