名称: 视频制作人 描述: > 从自然语言简介中端到端地使用Remotion制作视频。 协调叙事结构、场景动画、视觉风格和渲染,以生成完整的宣传视频。当用户想要创建一个完整视频(产品促销、排版作品、社交媒体动画)时使用——不仅仅是单个动画效果。协调gsap-animation、spring-animation和react-animation技能作为构建块。
何时使用
当用户提供视频简介——描述一个具有多个场景或叙事弧的完整视频时使用此技能。
触发词: “创建宣传视频”、“制作产品演示”、“我需要一个30秒广告”、“构建社交媒体动画”,或任何描述多场景视频的提示。
不用于:
- 单个动画效果 → 使用
gsap-animation - 视觉背景组件 → 使用
react-animation - 非视频任务
技能关系
视频制作人(此技能) ← 编排:什么故事,哪些场景
├── gsap-animation ← 动画:文本分割、SVG绘制、时间线编排
├── spring-animation ← 物理:弹跳入场、弹性轨迹、有机运动
├── react-animation ← 视觉:Aurora、Silk、粒子、噪点
└── Remotion ← 引擎:渲染、合成、序列
工作流程
初始请求: $ARGUMENTS
阶段1:简介接收
从用户请求中提取。如有任何必需字段缺失,使用AskUserQuestion。
| 字段 | 必需 | 默认 | 示例 |
|---|---|---|---|
| 产品/品牌名称 | 是 | — | “Topview” |
| 视频类型 | 是 | SaaS宣传 | SaaS宣传 / 排版 / 社交媒体叠加 |
| 核心信息(2-4条) | 是 | — | “AI驱动的编辑”、“无需编码” |
| 情感基调 | 是 | — | 紧急 / 安抚 / 兴奋 / 专业 / 叛逆 / 温暖 / 活泼 |
| 记忆锚点 | 是 | — | “观众30秒后会记住的单一图像” |
| 目标受众 | 否 | 通用 | “开发者”、“营销人员” |
| 时长 | 否 | 模板默认 | “25秒” |
| 分辨率 | 否 | 1920x1080 | 1080x1080用于方形 |
| 帧率 | 否 | 30 | 60用于社交媒体 |
| 视觉风格 | 否 | 苹果简约 | 苹果简约 / 大胆排版 / 黑暗科技 / 温暖有机 / 复古流行 / 编辑单色 |
| 行动号召文本 | 否 | 无 | “开始创作→” |
| 强调色 | 否 | 从风格预设 | “#FF7D00” |
情感基调驱动动画技术选择、弹簧配置和节奏:
- 紧急 →
SPRING.stiff+ GSAP硬切,快速交错(2-3帧),GSAP场景使用power3.out - 安抚 →
SPRING.smooth/SPRING.gentle,高阻尼,慢速揭示,暖色调 - 兴奋 →
SPRING.bouncy/SPRING.pop,低阻尼,饱和色彩,SpringTrail弹入 - 专业 →
SPRING.snappy/SPRING.smooth,节奏适中,干净运动,保持时间充足 - 叛逆 →
SPRING.stiff+SPRING.rubber混合,GSAP故障效果,不规则交错 - 温暖 →
SPRING.gentle/SPRING.molasses,暖渐变,圆润形状,慢速交错(6-8帧) - 活泼 →
SPRING.wobbly/SPRING.rubber,极端过冲,GridStagger中心向外,明亮强调色
记忆锚点——观众会截图或回忆的单一视觉时刻。每个制作决策都应强化此锚点。问:“如果有人向朋友描述这个视频,他们会描述什么图像?”
阶段2:规划
- 选择叙事模板基于视频类型 → 参见
rules/narrative-templates.md - 选择视觉风格 → 参见
rules/style-presets.md - 将用户信息映射到选定模板的场景槽位
- 为每个场景选择动画模式 → 参见
rules/scene-patterns.md - 以表格形式向用户呈现计划:
场景 | 时长 | 模式 | 内容
1 | 3秒 | 标题卡 | "Topview功能强大"
2 | 3秒 | 卡片翻转3D | CLI痛点 → AI解决方案
...
在继续之前等待用户确认。
阶段3:项目脚手架
生成标准的Remotion项目结构 → 参见rules/project-scaffold.md:
src/config.ts— 所有参数(颜色、字体、场景帧数)src/Root.tsx— 组合注册src/Composition.tsx— 包含所有场景的TransitionSeriessrc/components/— 共享组件(背景等)src/scenes/— 每个场景一个文件
帧数计算: 场景帧数 = Math.ceil(场景秒数 * 帧率)
阶段4:场景实现与评估
按顺序实现场景。每个场景在移动到下一个之前经过构建 → 验证 → 修复循环。 → 参见rules/scene-evaluator.md以获取完整评分标准及自动修复规则。
对于每个场景:
步骤4a:实现场景
- 创建
src/scenes/场景N_名称.tsx - 选择正确技术:
- 文本分割 / SVG绘制 / 复杂时间线 →
useGSAPTimeline或useGSAPWithFonts(来自gsap-animation技能) - 弹跳/弹性入场 / 弹簧轨迹 / 过冲效果 →
spring()+ 预设(来自spring-animation技能) - 简单淡入淡出 / 滑动 / 线性计数器 → Remotion原生
interpolate() - 视觉背景 → react-animation组件
- 文本分割 / SVG绘制 / 复杂时间线 →
- 应用计划中的选定动画模式
- 连接到
Composition.tsx并在Root.tsx中注册预览
步骤4b:渲染静帧
捕获两个关键帧进行视觉检查:
# 入场帧 — 捕获早期布局、初始位置
npx remotion still src/index.ts 场景N-预览 /tmp/场景N_入场.png --frame={floor(场景帧数.场景N * 0.15)}
# 峰值帧 — 英雄时刻,所有入场稳定
npx remotion still src/index.ts 场景N-预览 /tmp/场景N_峰值.png --frame={floor(场景帧数.场景N * 0.60)}
步骤4c:评估
读取场景代码 + config.ts + 渲染的截图。从7个加权维度评分(反模式合规、字体、颜色与对比、运动设计、构图、叙事连贯性、技术正确性)。
- 评分 >= 7.0且无立即失败 → 通过,继续到下一个场景
- 评分 < 7.0或触发立即失败 → 继续到步骤4d
步骤4d:自动修复(最多2次迭代)
从扣分应用针对性修复 → 参见rules/scene-evaluator.md中的扣分到修复映射表。每个扣分映射到具体代码更改——不是模糊建议。修复后:
- 返回步骤4b(重新渲染静帧,重新评分)
- 迭代2后,如果仍低于阈值:发出警告并继续到下一个场景
跨场景追踪: 维护强调色、弹簧预设、入场方向、及每个场景使用技术的运行上下文。在场景3+,检查多样性问题(同一预设连续使用3次、相同入场方向等)。
所有场景完成后: 输出完整的评估总结表,显示每场景评分、迭代次数和跨场景备注,然后进入阶段5。
模式选择原则: 使用spring()处理物理驱动的弹跳/过冲运动。使用GSAP处理SplitText、DrawSVG、MorphSVG和复杂时间线编排。使用interpolate()处理简单线性/缓动运动。
阶段5:渲染
# 标准MP4
npx remotion render src/index.ts 主视频 --output out/视频.mp4
# 高质量
npx remotion render src/index.ts 主视频 --codec h264 --crf 15
# 透明背景(社交媒体叠加)
npx remotion render src/index.ts 主视频 --codec prores --prores-profile 4444
npx remotion render src/index.ts 主视频 --codec vp9 --output out/叠加.webm
| 格式 | Alpha通道 | 使用场景 |
|---|---|---|
| MP4 H.264 | 否 | 通用播放 |
| ProRes 4444 | 是 | 专业合成 |
| WebM VP9 | 是 | 网页叠加 |
复杂度校准
匹配实现复杂度到情感基调和视觉风格。动画投入的精力必须服务于创意愿景——不过度或不足。
| 基调 × 风格 | 节奏 | 弹簧预设 | GSAP使用 | 保持时长 |
|---|---|---|---|---|
| 紧急 + 大胆排版 | 快速(1.5-2.5秒场景) | stiff(交错:2帧) |
charCascade、硬切过渡 | 短(0.5秒) |
| 兴奋 + 黑暗科技 | 中快(2-3秒) | bouncy / pop(交错:3帧) |
circleReveal过渡、DrawSVG | 中(0.8秒) |
| 专业 + 苹果简约 | 适中(3-4秒) | smooth / snappy(交错:5帧) |
textReveal、SplitScreenComparison | 长(1.2秒) |
| 温暖 + 温暖有机 | 慢速(3-5秒) | gentle / molasses(交错:8帧) |
最小GSAP,优选纯弹簧 | 长(1.5秒) |
| 叛逆 + 复古流行 | 不规则 | stiff + rubber交替 |
ScrambleText、故障效果 | 可变 |
| 活泼 + 任意 | 弹跳(2-3秒) | wobbly / pop(交错:3帧) |
最小GSAP,SpringTrail + GridStagger | 中(0.8秒) |
原则: 一个完美执行的签名过渡比六个平庸效果产生更大影响。将动画预算投资在记忆锚点时刻。
反膨胀规则: 每个场景应使用一种主导动画技术:
- 弹簧主导:
spring()+interpolate()处理所有运动(弹跳入场、轨迹、计数器) - GSAP主导:
useGSAPTimeline处理文本分割、SVG操作、复杂编排 - 混合:弹簧用于元素入场,GSAP用于元素内文本分割(可接受)
- 绝不要:GSAP时间线 + 弹簧物理 + react-animation背景 + 复杂插值在一个场景中
弹簧优先原则: 默认使用spring()处理所有入场、退场和交错动画。仅当需要SplitText、DrawSVG、MorphSVG、ScrambleText或复杂时间线标签时才添加GSAP。弹簧更轻量,无需额外依赖,并产生自然有机运动。
创意方向原则
每个视频必须有观点。 一个没有强烈美学承诺的"干净、专业"视频只是通用视频。承诺具体、大胆的选择:
- 一种颜色主导(不是5种同等权重的柔和色)
- 一种字体有特色(不是第一个谷歌字体结果)
- 一个运动签名跨场景重复(相同的缓动曲线、相同的入场方向、相同的保持节奏)
- 一个空间规则打破预期(所有文本左对齐于20%、不对称面板、对角线网格)
记忆性测试: 在最终确定计划前问:“如果我将此视频与10个其他AI生成的宣传视频并排展示,我的视频会看起来明显不同吗?” 如果否,则推动美学更远。
快速决策参考
| “我需要…” | 使用 |
|---|---|
| 大胆文本入场(分割字符) | gsap: charCascade / textReveal效果 |
| 大胆文本入场(弹跳单词) | spring: WordTrail / CharacterTrail |
| 并排比较 | gsap: SplitScreenComparison模板 |
| 卡片翻转揭示(平滑) | gsap: CardFlip3D模板 |
| 卡片翻转揭示(弹簧物理) | spring: SpringCardFlip |
| 两侧元素入场 | gsap: PerspectiveEntrance模板 |
| 单词高亮 | gsap: TextHighlightBox模式 |
| UI点击模拟 | gsap: CursorClick模式 |
| 文本交换动画 | gsap: RotateXTextSwap模式 |
| 流动背景 | react-animation: Aurora / Silk |
| 胶片噪点叠加 | react-animation: NoiseOverlay |
| 简单淡入淡出/滑动 | Remotion: interpolate() |
| 数字计数器(线性) | Remotion: interpolate() |
| 数字计数器(过冲) | spring: SpringCounter |
| 弹跳缩放入场 | spring: ScalePop |
| 交错列表/网格揭示 | spring: SpringTrail / GridStagger |
| 入场+退场动画 | spring: useSpringEnterExit |
| 顺序编排 | spring: useSpringChain |
| 打字效果 | Remotion: .slice() + interpolate() |
| 场景过渡(擦除/虹膜) | gsap: circleReveal / wipeIn效果 |
| 场景过渡(弹簧滑动) | spring: SpringSlide / SpringCrossfade |
| 徽标描边绘制 | gsap: DrawSVG + drawIn效果 |
| 功能网格弹入 | spring: SpringFeatureGrid |
变异性强制执行
在不同视频中绝不产生相同美学两次。每个制作必须感觉像独特的创意作品,而不是模板填充。
- 旋转字体: 绝不连续视频中使用相同显示字体。如果上次使用Space Grotesk,这次选择Clash Display或Cabinet Grotesk。
- 旋转色温: 在暖色(橙色/珊瑚色/金色)和冷色(蓝色/紫色/翡翠色)主导调色板之间交替。
- 旋转空间构图: 如果上一个视频是中心对齐对称,使这一个左锚定不对称。
- 旋转运动签名: 在弹簧重型、线性机械和有机流体动画哲学之间变化。
- 旋转背景处理: 循环使用纯色、渐变斑点、aurora、噪点纹理、几何图案。
发散规则: 在开始阶段3前,精神上比较计划美学与"默认AI视频"——白色背景、居中的Inter字体、淡入过渡、蓝色强调色。如果你的计划与这些特征共享超过一个,则从默认推得更远。
创意抱负
每个视频都应让观众想要截图并分享一帧。这是作为工艺的运动图形——不是模板组装。
超越"功能"走向"卓越"。使用意外字体配对。尝试感觉冒险的颜色组合。让一个场景打破网格。给予记忆锚点时刻其他场景2倍的动画投资。
一个易忘宣传视频和难忘宣传视频之间的差距不是技术复杂性——而是创意勇气。做出大胆选择并以精确度执行。