视频锻造 是做什么的?
创建一个可编辑项目并生成完成的视频。综合使用工具箱中的工具:HTML/GSAP、React、FFmpeg、录制、SVG、精灵图、素材、音频和3D。每个场景选择合适的工具;保留现有项目的引擎。视觉内容通过代码创作或从现有媒体获取。不要使用生成式视频/图像或虚拟头像模型。旁白合成和语音转录是允许的音频工具。
路径相对于此目录,无论安装在哪里。此技能不需要私有MCP、特定代理/模型、作者的私人目录或付费服务。
黄金路径 — 为生成完整视频,请严格按此操作
不要探索代码、手动创作素材或手动调整像素。代码负责所有布局、字体适配和旁白时机的数学计算。您只需编辑一个小的JSON文件中的文本和参数。按顺序执行以下四个步骤:
# 1. 一次性准备本地环境(项目本地Python + 音频模型)
python3 <skill-dir>/scripts/setup_environment.py --out .video-forge-tools --audio
# 2. 复制附带的故事板;仅编辑其文本/秒数/颜色/组件。
# 使用写入操作覆盖整个文件 — 切勿进行精确匹配或手术式编辑。
cp <skill-dir>/assets/storyboard-production.json ./storyboard.json
# 3. 验证,然后渲染为MP4。run.py是唯一的入口点:它会选择准备好的解释器
# 和模型路径,并执行语音→字幕→场景→声音→渲染→检查。
python3 <skill-dir>/scripts/build_project.py ./storyboard.json --check
python3 <skill-dir>/scripts/run.py ./storyboard.json --out ./film
# run.py会阻塞直到MP4完成。如果中断,使用相同的命令和--resume恢复(不要重新开始)。
# 如果您的bash调用超时,添加--background并使用production_job.py status轮询。
# 4. 验证实际文件
python3 <skill-dir>/scripts/verify_video.py ./film/out/final.mp4 --require-audio
弱模型规则:故事板JSON是您唯一可编辑的内容。永远不要使用系统python3调用produce.py/build_project.py来生成完整视频 — 始终通过run.py进行。永远不要编辑.tsx/.py源文件来更改大小、布局或文本;而是将其作为故事板参数传递。如果标题或卡片看起来不对,更改其JSON值,而不是代码 — 布局数学是确定性的,并且已经适合帧。
从最小的有用上下文开始
阅读工作流程。从简报和提供的品牌/参考资料中推断默认值。仅询问缺少决策的材料。对于新项目,保存DESIGN.md和STORYBOARD.md:每个场景一个用途、时长、渲染器、素材、摄像机移动和音频提示。在混合渲染器之前匹配尺寸/帧率。
对于完整的宣传片/教程,默认为上述制作配方,而不是旧的无声四类烟雾测试。阅读制作方向并从assets/storyboard-production.json开始。scripts/run.py携带计划通过语音、单词字幕、连贯场景、声音、渲染和导出检查(它使用准备好的解释器为您调用produce.py)。如果缺少本地音频依赖,scripts/setup_environment.py --out .video-forge-tools --audio会准备一个项目本地Python并报告模型路径。此设置可在编码工具间复用;不需要作者的私人环境。请参阅production-direction.md。
对于此路径,从简报和制作示例开始;运行验证器和生成器,而不是遍历每个实现或预先检查每个依赖。生成器会报告缺失的工具和具体的修复操作。仅在观察到错误需要诊断时才阅读其源码。 驱动模型选择消息和场景参数;经过验证的代码提供工艺和正确性。不要将“它填充了一个JSON”称为端到端制作测试。
复用优先模式是默认值:搜索目录,选择一个演示过的组件,填充其声明的属性,渲染一个简短证明,然后组合。当代理遇到困难或构建评估时,阅读模型脚手架。当目录确实不适合时,自定义代码是合适的。
先搜索实际代码,再发明动作
python3 <skill-dir>/scripts/catalog.py 'character'
python3 <skill-dir>/scripts/catalog.py 'caption'
python3 <skill-dir>/scripts/catalog.py 'terminal'
对于适合起点标题/角色/屏幕/3D词汇的简报,让模型使用assets/storyboard.schema.json填充assets/storyboard-example.json:
python3 <skill-dir>/scripts/build_project.py ./storyboard.json --check
python3 <skill-dir>/scripts/build_project.py ./storyboard.json --out ./my-video
编译器会写入项目以及其选择的场景所需的依赖。使用实际默认值,而不是发明模式。对于完整视频,请使用黄金路径(run.py),而不是停留在这个基本的无声脚手架。
它会准备实际语音,将脚本对齐到测量的ASR区间,将字幕时间带入渲染,制作音轨并导出联系纸。
请参阅库目录。附带的源码及其上游许可证:
library/vendor/rendercomp/:50个代码绘制的场景、排版、过渡、图表和SVG角色。每个组件导出默认值、帧率和时长。library/vendor/curvable/:14个参数化的启动视频场景;在使用组件前检查可选的着色器/字体/WASM依赖。library/vendor/onda/:组件、Zod模式、过渡和组合助手。通过模式解析默认值;保留相对导入并加载主题/字体。library/vendor/ffmpeg/:可执行的本地Python编辑助手:剪切、拼接、缩放/重框、像素化/模糊、动画字幕、调色、混合、静音、导出和QA。library/vendor/blender/:可执行的无头Blender助手,用于检查、场景组装、转换、优化、烘焙和渲染。需要Blender。
不要一次性阅读所有库。UPSTREAM.json记录出处,LICENSE保留上游条款。附带的代码不会自动被测试。
根据工作类型路由
| 工作 | 阅读/使用 |
|---|---|
| HTML动画、GSAP、注册表块 | HyperFrames |
| React组合/数据批次 | Remotion,参数化 |
| 素材编辑、调色、变速、音频、最终组装 | FFmpeg |
| 录制浏览器/桌面、光标摄像机、缩放、审查 | 屏幕录制 |
| 角色、插图、3D资源 | 角色,资源获取 |
| 程序化几何、摄像机、灯光、材质、绑定 | 3D |
| 旁白、单词时序、动态字幕、声音 | 音频和字幕,声音设计 |
| 工具比较和混合引擎计划 | 路由 |
对于下载的剪辑/素材,请使用媒体管线。
对于动作决策,请使用动作原则。
检查研究以了解已研究的技能/库及其为何适合。
请参阅外部库(以及research/libraries-catalog.json)以获取许可证验证的路由图:哪些可以安全捆绑,哪些需要引用,针对每种工作类型。
HyperFrames注册表是另一个复用源;在构建效果前查询它。
使用已安装的--help;其合约可能与该技能当前的上游版本不同。
验证是制作的一部分
在动画前构建主帧。每个帧必须能够以任意顺序寻址:没有挂钟时间、未种子化的随机数、实时网络依赖或自主动画循环。HyperFrames使用注册的暂停时间线;Remotion使用帧。渲染代表性帧并查看它们;检查入场、保持、剪切边界、字幕变化和结尾。修复裁剪、不可读文本、死无声和音频同步。
当被要求提供视频时,导出完整文件。静止帧不能算完成。
python3 <skill-dir>/library/vendor/ffmpeg/scripts/probe.py final.mp4 --json
python3 <skill-dir>/scripts/verify_video.py final.mp4 --require-audio
python3 <skill-dir>/library/vendor/ffmpeg/scripts/look.py final.mp4 --tiles 3x2
探测并解码最终导出。确认计划时长、尺寸/帧率和音频。实际检查联系表。当播放可用时试听音频;当只可能进行技术音频检查时说明。涂改需要在摄像机变换后检查每个相关区间,如果音频包含机密内容则进行审查。
交付可播放视频、可编辑项目、实际检查和任何实际的依赖限制。保留原始文件。除非请求授权,否则不要发布/上传、消耗积分或安装系统软件。现有授权仍然有效。
模型和证据纪律
使用结构化计划、少量候选列表、模式默认值和可执行助手来减少弱模型必须发明的决策。向模型返回具体错误并更改最小的失败部分。阅读评估以了解强/弱模型配对测试。不要在没有测量的情况下声称与更强模型相当。恢复状态应属于项目,而不是巨大的提示。
我们自己的代码是MIT的。引擎/资源/语音保留其自己的许可证。可选工具仅在需要时安装。研究Katana参考工作流程,但永远不要假设Higgsfield的托管模型是本地代码渲染器或桌面Katana具有CLI。