Docs

Vidova MCP patterns

Preview-and-iterate, silence removal, zooms, vidovaSettings cursor, components, hosted image and speech polling, and recipe search.

View as Markdown

Preview-and-iterate

After a visible timeline or component change, call preview captureFrame before you report success. For motion, use preview timeline for timestamped contact sheets. A render error means the composition did not draw. Fix the cause. Do not trust an earlier frame.

Silence removal

  1. asset transcribe with the recording assetId.
  2. sleep between polls.
  3. generate_asset kind status with the jobId.
  4. asset captions when the job completes.
  5. timeline_edit removeSilences with only assetId.

Do not invent silence timestamps. removeSilences reads the transcript itself. Spec: timeline_edit.

Zooms

Screen-recording zooms live on a zoom layer. Use clip_enhance addZoom, or manageZooms with zoomAction list / add / update / delete. Factor 1 is no zoom. zoomEffectType tracking follows the cursor. manual uses a fixed anchor from -1 to 1.

Do not use camera clips for cursor zooms.

Cursor, camera, layout

Patch vidovaSettings on timeline_edit updateClip. Example: cursorStyle: "banana". Schema: vidovaSettings. Do not call vidova_set_cursor.

Components

Prefer component createFromTemplate with templateId and inputOverrides. Then timeline_edit addClip with type component and the returned assetId. Never type=text.

If create or edit reports FAILED TO RENDER, fix the component before placing it.

Asset inputs: pass the asset ID in componentInputs. The clip stores IDs; the class receives a playback URL (or VidovaClipData). Use @initial('') on image/video signals. Do not add a parallel image clip for an asset the component already takes as an input. Inputs.

Shaders are SkSL on a cached node, not GLSL. Include @vidova/core/shaders/common.sksl or use withCommonShader(). Shaders.

Authoring a class from scratch: Custom elements.

Hosted image and speech

generate_asset kind image or speech returns a jobId. Poll kind status. Use sleep between polls. kind music and kind video are advertised and not reachable. See Not in MCP.

Recipes

In Agent Mode, search recipes before a substantive task. If search fails because embeddings are warming up, continue the user task. Do not retry until search is ready. Skip search for tiny chat or when the user says not to.