Primitive-First Workflow
ScreenKite keeps agentic editing simple: the app exposes deterministic editing primitives, and your agent owns planning, transcript reasoning, and editorial policy.
Recommended Loop
- Read
getProjectState(scope: "summary"),getProjectState(scope: "layout"), andgetProjectResources(). - Export a transcript when timing matters, then plan beats before changing the timeline.
- Run
setCanvas(..., dryRun: true)before aspect changes andsetSceneLayout(..., dryRun: true)before non-trivial layout work. - Apply timeline edits with
editTimeline, layout changes withsetSceneLayout, and effect passes withmanageEffects. - Export shorts or alternate aspect ratios with
exportArtifact(type: "range", settings.canvasOverride)instead of mutating the long-form project. - Verify with
getProjectState(scope: "visual")or snapshot exports after each mutation batch.
When to Use Each Primitive
editTimelinefor cuts, trims, and word-boundary cleanupsetSceneLayoutfor time-scoped composition changes, including advanced layout DSLmanageEffectsfor captions, zoom, and other effect passesvfxExportVideoSegmentplusvfxOverlayProcessedClipfor external render round-tripsexportArtifactfor delivery files, snapshots, SRT, and range exports
Guardrails
- Never cut mid-word. Use transcript word boundaries whenever speech timing matters.
- Re-read project state before retrying a mutating call after a timeout.
- Match overlay renders to the target width, height, fps, and frame duration before placing them back into the timeline.
- Cap self-evaluation loops. If visual checks still fail after a few passes, stop and inspect the layout or source media directly.