# setSceneConfig schema

Field specification for the setSceneConfig object used by Vidova MCP tools.

{/* Generated by landing/scripts/generate-mcp-docs.ts. Do not edit. */}

Export `setSceneConfigSchema` from the desktop Zod sources.

| Field | Type | Required | Constraints | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `width` | integer | no | min 320; max 9007199254740991 | — | Output width in pixels (min 320) |
| `height` | integer | no | min 240; max 9007199254740991 | — | Output height in pixels (min 240) |
| `fps` | integer | no | min 1; max 240 | — | Frames per second (1–240). Common: 24, 30, 60. |
| `background` | string | no | minLength 1 | — | Background color, gradient, or CSS value |
| `backgroundImage` | object \\| null | no | — | — | Wallpaper asset and dimensions. Pass null to clear the wallpaper. |
| `name` | string | no | minLength 1; maxLength 180 | — | Project name |
| `captionSettings` | object | no | strict | — | Project caption defaults; merges with current/default settings. |
| `captionSettings.enabled` | boolean | no | — | — | — |
| `captionSettings.fontFamily` | string | no | — | — | — |
| `captionSettings.fontWeight` | 400 \\| 500 \\| 700 | no | — | — | — |
| `captionSettings.fontSize` | number | no | — | — | — |
| `captionSettings.distanceFromBottom` | number | no | — | — | — |
| `captionSettings.style` | enum("pill", "karaoke-lime", "karaoke-magenta", "karaoke-cyan", "outlined", "bold-outline", "minimal", "word-highlight", "pink-pill", "dark-pill-lime", "cloud-blob", "amber-tape", "studio") | no | — | — | — |
| `captionSettings.textColor` | string | no | — | — | — |
| `captionSettings.highlightColor` | string | no | — | — | — |
| `captionSettings.backgroundColor` | string | no | — | — | — |
| `captionSettings.shadowColor` | string | no | — | — | — |
| `captionSettings.shadowBlur` | number | no | — | — | — |
| `captionSettings.maxCharsPerLine` | number | no | — | — | — |
| `textClipSettings` | object | no | strict | — | Defaults for newly created text clips; merges with current/default settings. |
| `textClipSettings.fontFamily` | string | no | — | — | — |
| `textClipSettings.fontWeight` | 400 \\| 500 \\| 700 | no | — | — | — |
| `textClipSettings.defaultFontSize` | number | no | — | — | — |
| `textClipSettings.defaultFill` | string | no | — | — | — |
| `styleState` | object | no | strict | — | Complete project style plus override keys. The style is applied to existing Vidova clips. |
| `styleState.style` | object | yes | strict | — | — |
| `styleState.style.id` | enum("launch", "demo-day", "tutorial", "social-cut", "deep-dive", "sales-demo", "parallax", "sunset", "pop", "terminal", "course", "mobile", "webinar", "mono", "plain") | yes | — | — | — |
| `styleState.style.background` | string | yes | minLength 1 | — | — |
| `styleState.style.padding` | number | yes | min 0; max 400 | — | — |
| `styleState.style.cornerRadius` | number | yes | min 0; max 200 | — | — |
| `styleState.style.shadowStrength` | number | yes | min 0; max 100 | — | — |
| `styleState.style.zoomIntensity` | 0 \\| 1 \\| 2 \\| 3 \\| 4 \\| 5 | yes | — | — | — |
| `styleState.style.zoomFeel` | enum("soft-spring", "snappy-spring", "soft-landing", "fast-settle", "gentle-curve") | no | — | "soft-spring" | — |
| `styleState.style.zoom3D` | boolean | no | — | false | — |
| `styleState.style.cursorStyle` | enum("default", "cartoon", "modern", "original", "banana", "capitaine-dark", "capitaine-light", "touch", "tahoe", "whitesur", "bibata", "bibata-original") | no | — | "default" | — |
| `styleState.style.cursorSize` | number | no | min 24; max 200 | 64 | — |
| `styleState.style.cursorSpotlight` | boolean | no | — | false | — |
| `styleState.style.cameraShape` | enum("default", "squircle", "circle") | yes | — | — | — |
| `styleState.style.cameraSize` | number | yes | min 0; max 1 | — | — |
| `styleState.style.showShortcuts` | boolean | yes | — | — | — |
| `styleState.style.captionsEnabled` | boolean | yes | — | — | — |
| `styleState.style.captionStyle` | enum("pill", "karaoke-lime", "karaoke-magenta", "karaoke-cyan", "outlined", "bold-outline", "minimal", "word-highlight", "pink-pill", "dark-pill-lime", "cloud-blob", "amber-tape", "studio") | yes | — | — | — |
| `styleState.style.captionFontSize` | number | yes | min 8; max 200 | — | — |
| `styleState.overrides` | enum("background", "padding", "cornerRadius", "shadowStrength", "zoomIntensity", "zoomFeel", "zoom3D", "cursor", "cameraShape", "cameraSize", "showShortcuts", "captions")[] | yes | — | — | — |
