GenVid Promo
制作完整的视频,而不仅仅是脚本或故事板。构建一个确定性的 Remotion 组合,其旁白、视觉效果、产品声明和时间安排都经过验证。
强制启动
- 检查调用中是否包含 TTS 提供程序和 API 密钥值,或明确的环境变量/密钥引用。
- 如果缺少其中任意一项,则停止并询问:我应该使用哪个 TTS 提供程序,以及如何访问其 API 密钥?最好使用秘密环境变量,例如
OPENAI_API_KEY或GEMINI_API_KEY;我不会提交或打印它。 - 不要静默选择提供程序、假设现有密钥、合成占位符语音或继续通过此关卡。
- 立即完整加载已安装的
remotion-best-practices技能。在设计之前加载其video-layout规则;在使用音频、过渡、字幕、FFmpeg 和元数据相关功能时加载相应的规则。明确说明正在使用此依赖项。如果不可用,则说明情况,并至少使用 references/production-pipeline.md 作为备用。 - 在实现合成之前阅读 references/tts-providers.md。根据官方文档验证当前的提供程序模型和 SDK/API 格式,因为它们会发生变化。
工作流程
1. 确立简报
确定产品、受众、发布目标、平台、宽高比、目标时长、基调、行动号召(CTA)、区域设置和必需声明。当缺少信息时,推断可逆的创意选择。仅询问那些会实质性地改变结果的选择。
默认为 1920x1080、30 FPS、35-75 秒、一个旁白、字幕和清晰的 CTA。当目标渠道需要时,添加竖屏或方形构图。
2. 验证真实产品
检查仓库并在可用时运行实际应用。追踪真实的路由、组件、数据状态、设计令牌、字体、图标、文案、套餐名称、价格和功能行为。对于实时产品,使用浏览器自动化检查真实的渲染体验。切勿凭空捏造屏幕、功能、指标、推荐、价格或交互。
按此顺序使用产品视觉元素:
- 将真实组件导入到使用确定性模拟数据的受控 Remotion/演示工具中。
- 提取可用于动画的显示组件,同时保留实际的 DOM、令牌、文案和状态。
- 仅当真实组件无法在应用外部渲染时,才构建基于源码的副本;将其与实际屏幕截图进行比较,并披露此备用方案。
- 仅在无法使用可动画组件的情况下,才使用屏幕截图或屏幕录制。
不要仅仅为了拍摄某个状态而暴露生产秘密或改变实时数据。
3. 编写故事和故事板
使用紧凑的故事弧:吸引 -> 问题 -> 揭示 -> 通过实际使用证明 -> 最强优势 -> 行动号召。每个场景只有一个信息和一种核心视觉。在最终确定时间之前编写场景旁白。
使用 references/storyboard-schema.md 创建 storyboard.json。为每个场景包含确切的 UI 状态、组件/源码来源、操作、旁白、声明和过渡意图。
4. 构建 Remotion 系统
为产品令牌、排版、安全区域、浏览器/设备框架、光标、高亮、打字机文本、镜头运动和过渡创建可复用的视觉系统。使用 useCurrentFrame() 配合 interpolate() 或合理的 spring() 调用;不要使用 CSS 动画或过渡。
优先考虑设计好的运动:镜头聚焦、遮罩揭示、共享轴移动、优雅的淡入淡出、对象连续性以及时间上的阶段安排。避免随机运动、通用卡片网格、微小的 UI、同时出现多个竞争焦点。
5. 生成并同步旁白
每个场景生成一个音频文件。将转录文本保留为事实来源。测量实际音频时长并写入 voiceover-manifest.json;从音频时长加上引入和呼吸时间推导出场景时长。在视觉建立后开始旁白,并将可见操作安排到描述它们的确切句子上。
不要拉伸音频来适配固定场景。当交付物和视觉效果不一致时,重新生成或重新计时。从已知转录文本中添加字幕;仅当语音输出与转录文本差异很大以至于需要词级时间戳时,才使用语音转文本(STT)。
在渲染之前运行 node <skill-dir>/scripts/validate-genvid.mjs <storyboard> <manifest> [project-root]。
6. 渲染和检查
在靠近每个场景的入口、中点、关键交互和出口附近渲染代表性静止帧。在正常观看大小下检查它们。修复裁剪、不可读文本、意外重叠、光标漂移、不真实的 UI、死时间、突兀的剪辑和旁白不匹配。
渲染最终的 MP4,使用 H.264、BT.709 和高品质 AAC 音频,除非目标平台要求其他格式。完整观看整个结果并听取声音。确认运行时、尺寸、编解码器、音频存在、最终行动号召(CTA)和成品文件路径。
完成标准
只有在 MP4 文件已存在并已在整个时间线上观看或采样后才算完成。报告渲染路径、尺寸、FPS、时长、TTS 提供程序/模型/声音、产品视觉效果来源、已验证的声明、已执行的测试以及任何有意的副本/截图备用方案。