Primitive-First 工作流
ScreenKite 的 agentic 编辑保持得很简单:应用只暴露确定性的编辑 primitive,而规划、转录推理和编辑策略由你的 agent 负责。
推荐循环
- 先读取
getProjectState(scope: "summary")、getProjectState(scope: "layout")和getProjectResources()。 - 当时间点很关键时,先导出转录,再在修改时间线之前规划 beats。
- 修改画幅前先运行
setCanvas(..., dryRun: true),做复杂布局前先运行setSceneLayout(..., dryRun: true)。 - 用
editTimeline做时间线编辑,用setSceneLayout做构图修改,用manageEffects做效果处理。 - 需要 shorts 或其他画幅时,用
exportArtifact(type: "range", settings.canvasOverride)导出,不要直接改 long-form 项目。 - 每一批修改后,用
getProjectState(scope: "visual")或 snapshot 导出来验证。
各个 primitive 适合做什么
editTimeline:切段、修剪、按单词边界清理setSceneLayout:按时间范围修改构图,包括 advanced layout DSLmanageEffects:字幕、缩放和其他效果处理vfxExportVideoSegment配合vfxOverlayProcessedClip:外部渲染 round-tripexportArtifact:最终文件、snapshot、SRT 和 range 导出
护栏
- 不要在单词中间切开。只要语音节奏重要,就按转录里的单词边界处理。
- 发生 timeout 后,如果要重试 mutating call,先重新读取 project state。
- 把 overlay 渲染放回时间线之前,先确保它的宽、高、fps 和帧时长与目标构图完全一致。
- 自检循环不要无限跑。如果做了几轮可视化检查还是不对,就直接检查 layout 或源素材。