拼贴视频工作室 是做什么的?
将生产作为一个可恢复的项目进行导演。创意意图保存在 project.json 中,生成的结果保存在 state.json 中,提供者执行过程记录在 JSONL 清单中,派生输出则放在 media/、qa/、reports/ 和 exports/ 目录中。
路由请求
在询问用户已提供的信息之前,先阅读对话并检查提供的任何项目目录。
| 用户意图 | 操作 |
|---|---|
| 开始、制作、创建 | 初始化并起草故事 |
| 继续、恢复、下一步 | 运行 project_ops.py next 并执行其单个操作 |
| 状态、阻塞、失败 | 运行 studio.py status --verbose,然后诊断最小的单元 |
| 保存、检查点 | 创建不可变项目/状态检查点 |
| 回溯、恢复 | 列出检查点;仅恢复用户选择的那一个 |
| 审计、检查、准备发布 | 运行技术质量审核,然后进行人工创意审查 |
| 报告、打包、移交 | 生成有依据的报告和便携归档包 |
| 添加或更改提供者 | 阅读后端契约并实现适配器 |
如果没有现有项目或可用的简要说明,仅询问创意/来源、目标时长和语言。除非用户或目标平台已固定帧,否则使用 --aspect auto。在第一次节拍图审查中显示解析后的宽高比及其原因。
选择输入模式
topic:根据创意生成旁白和视觉效果。footage:重新风格化现有表演视频,同时保留时间和原始音频。photo:将一张真实的人像或产品照片锚定到生成的场景中。
切勿修改原始照片或素材。
初始化
定位此技能目录,然后运行:
python scripts/studio.py doctor
python scripts/studio.py init <project-dir> --mode topic \
--topic "<topic>" --duration 30 --aspect auto --language zh
阅读:
- production-standard-v6.md 首先用于每个新的作品集制作;它使正式的 Remotion 电影、制作来源、全片多样性、响应式导演、动作证明和项目范围构图证明成为强制要求;
- production-protocol-v5.md 首先用于每个新的制作;它绑定场景、故事板、来源族、提供者支出、时间安排、修订、证明和运行时失效;
- story-system.md 在编写节拍之前;
- visual-system.md 在编写主题或提示之前;
- layered-motion.md 当需要独立移动图层或确定性视差时;
- advanced-layer-primitives.md 在编写注册源族、姿态序列、持久可见性、循环条或种子化母题字段之前;
- editorial-composition.md 在编写递归组、可编辑文本/数据图形、相机耦合视差或响应式导演计划之前;
- semantic-contracts.md 在生成命名标识、空间拓扑、机制解释或信息图之前;
- quality-gates.md 在接受剪切或编译场景之前;
- responsive-direction.md 当交付超过一种宽高比时;
- provider-lifecycle.md 在进行付费生成、拒绝、恢复、取代或故意复用工件之前;
- production-profiles.md 在进行付费生成之前;它定义了草稿/平衡/全深度下限、精确尝试预算、工件指纹和质量审核失效;
- directed-motion.md 在动画化作品集级分层镜头之前;它定义了主要动作、物理原因、三阶段时序、密度和保持;
- motion-audit.md 在添加跟随层、接触锁定或交付前检查变换跳变时;
- smooth-keyframes.md 在对人物或物体进行动画化,且流畅播放比解剖真实感更重要时;
- articulated-rigs.md 当人物、动物或机制需要连接的肩、肘、翼、轮或铰链运动时;
- locomotion.md 在将关节角色根部移过画面之前;它定义了交替的着地脚和全身步态循环审查;
- production-standard.md 用于作品集级纸动画、创作姿态、自然旁白和社交视频交付质量;
- production-closure.md 用于 Remotion 编辑器、精确的旁白引导帧、语义执行、注册深度堆叠和三种证明类型;
- voice-continuity.md 在编写、生成或批准旁白之前;
- delivery-qa.md 在渲染或诊断抖动运动、冻结镜头尾或最终混音响度之前;
- aspect-direction.md 在锁定横屏或竖屏之前;
- project-schema.md 在编辑文件或后端时;
- operations.md 在恢复、恢复或执行作业时;
- replicate-backend.md 用于捆绑的生产后端;
- acceptance.md 在声称完成之前。
门控 1 — 批准故事
填写 creative.arc、beats 和 shots。
在批准之前,编译恰好三个场景,批准一个确切的选项上限,并编译节奏故事板:
首先记录版本化的样式卡片、宽高比和视差摄入决策:
python scripts/intake.py choose --aspect <16:9|9:16|1:1> \
--style <style-id> --parallax <none|restrained|cinematic> \
--note "<human decision>" --output <project-dir>/build/intake-decision.json
python scripts/production_protocol.py scenarios project.json \
--output build/scenarios.json
python scripts/production_protocol.py approve build/scenarios.json <profile> \
--note "<human decision>" --output build/scenario-decision.json
python scripts/production_protocol.py storyboard project.json \
build/scenarios.json build/scenario-decision.json \
--output build/storyboard.json
将选定的选项上限复制到 production.approved_visual_attempt_cap 中。配置文件既是上限也是执行下限。不要自动使用恢复储备。
- 使开头在三秒内可理解。
- 给每个节拍一个主张或情感转折。
- 为身份、拓扑、机制和信息图声明声明语义契约。
- 给每个事实声明一个在其所在节拍内的证明时刻。
- 给每个场景至少三个连续的节奏阶段以及建立、动作/高潮和最终证明时刻;最终时刻在标准化
0.82处或之后。 - 将关键声音和视觉动作绑定到同一事件目录中的同一个证明 ID。
- 设置
transition_intent为 reveal、compare、traverse、explain、emphasize、change-time 或 change-place;让编译器选择一致的机制。 - 优先使用上下文加细节:每个有旁白的节拍使用两个不同的镜头。
- 普通制作镜头的时长保持在 3 到 6 秒之间。
- 编写具体的
element_motion;不要使用“使其动态”。 - 对于导演的分层工作,添加
shot.direction.primary_action、physical_cause和motion_density。一个镜头只有一个可读的主动作。 - 对于素材模式,设置节拍
start_s和end_s。 - 对于照片模式,定义
source.anchor_policy。
运行:
python scripts/studio.py validate <project-dir> --stage story
向用户展示节拍图。在批准之前不要生成媒体。批准后:
python scripts/studio.py approve <project-dir> --gate story --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "story approved"
门控 2 — 批准视觉方向
在 creative.candidate_themes 下创建恰好三个候选方案。让它们在媒介、调色板、排版、纹理、构图和运动特征上有所不同。
python scripts/studio.py jobs <project-dir> --stage styles
对同一个代表性节拍执行每个预览并注册每个结果。将所有三个一起展示。用户选择后:
python scripts/studio.py choose-theme <project-dir> <theme-id>
python scripts/studio.py approve <project-dir> --gate style --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "visual direction approved"
切勿静默替换不受支持的宽高比。
生产媒体
对于每个阶段:
python scripts/studio.py jobs <project-dir> --stage images
python scripts/job_runner.py <project-dir> --stage images \
--adapter <adapter.py> --dry-run
python scripts/job_runner.py <project-dir> --stage images \
--adapter <adapter.py> --retries 1
新的主题和照片项目默认使用确定性分层运动。仅当用户明确重视模型创建的变形而非可编辑性和可重复性时,才使用生成式图像到视频;对 motion、voice 和 music 阶段重复媒体步骤。
当请求需要独立移动的纸物体、可编辑视差或显式前景/中景/背景控制时,将 motion.pipeline 设置为 layered,然后执行:
python scripts/studio.py jobs <project-dir> --stage layers
python scripts/job_runner.py <project-dir> --stage layers --adapter <layer-aware-adapter.py>
python scripts/studio.py jobs <project-dir> --stage motion
python scripts/job_runner.py <project-dir> --stage motion --adapter <layer-aware-adapter.py>
阅读 layered-motion.md 了解透明 PNG 和 layers.json 契约。不要将带有整帧缩放或平移的展平关键帧表示为多层运动。为了流畅交付,所有新的制作项目默认为 30 fps。保持 motion.frame_conversion: "auto",以便低于目标的提供者片段通过运动插值而非重复帧来填充。对内部关键帧使用连续曲线,用 phase_s 错开循环对象,并检查 MP4 而非低帧率 GIF。当缓慢运动显示出单像素步进时,使用 2 倍过采样。素材模式跳过 images 和 layers;保留原始音频的素材模式跳过 voice。
对于由主机端图像工具创建的媒体,在生成前保留调用,然后完成或拒绝精确尝试:
python scripts/external_media.py reserve <project-dir> image:<source-id> \
--provider <provider> --model <model> --prompt "<exact production prompt>"
python scripts/external_media.py complete <project-dir> <attempt-id> <output-file>
python scripts/external_media.py reject <project-dir> <attempt-id> \
--reason "<review failure>"
不要将未注册的主机输出直接复制到图层包中。作品集制作只接受提供者生成的、用户提供的、许可的、委托的或指纹链接的衍生源。placeholder: true 总是阻碍交付。
对于编辑工作,编写一个递归合成并编译单独的执行计划:
python scripts/editorial_contract.py composition.json \
--kind composition --output result/manifests
python scripts/asset_quality.py result/manifests/composition-9x16.json \
--mode composition
不要将横屏布局裁剪为竖屏。通过节点覆盖重新放置标题、主题、数据、注释和背景纸。验证每个宽高比的安全区和可编辑文本适配。当内容必须保持精确和可编辑时,使用本地矢量/文本/图表图元。对结构化路径、曲线、标签和标记使用 data-svg。为注释指定显式排除;编译器必须在所有注释中找到无冲突的位置,否则停止。
对于持续的横向移动,编写一个 looping-environment 并运行 world_motion.py。需要有远/地面条带、递增深度速度、屏幕/世界参与者锚点、近层遮挡、三种宽高比规划、接缝证据和带签名的相机补偿轨迹。阅读 production-standard-v6.md 和 production-protocol-v5.md。
在使用提供者之前声明耦合的 source_packages。相对后/主体/前运动需要一个完整的注册族和 16:9、9:16 及 1:1 的揭示信封。使用 registered_family.py 推导;切勿生成或替换隔离的成员。在去除色度之前观察未经处理的提供者原生关键平面,并保留其源、策略和观察指纹。
在真实的 Remotion 工作区中检查和编辑同一清单:
cd workspace
npm ci
npm run dev
Player 必须保留递归组、深度、关键帧、编辑点、状态序列、持久可见性、瞬态强调、循环条、母题字段、证明时刻、视听提示绑定以及选定的执行计划。在发布前使用 npm run build 和 npm run render 进行验证。
对于精加工工作,将 motion.directed_motion 设置为 true 并遵循 directed-motion.md。不要为了满足配额而动画化每一个图层。声明主要图层、物理原因、预期/动作/稳定阶段以及任何有意的阅读保持。面部、地板、地平线或桌子通常应在证据移动时保持稳定。当预期和稳定需要不同时序时,使用每关键帧到达 ease。
附加轮子、铰接部件、火焰、衣物以及其他被动二次响应,使用 follow;仅继承它们物理共享的父属性。声明 direction.secondary_responses 并使用 direction.contacts 锁定着地或落地的属性。运行...