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 或來源素材。