removedInput schema / properties / body / properties / captions / anyOf
Removed value: -[
- {
- "additionalProperties": false,
- "properties": {
- "from": {
- "additionalProperties": false,
- "properties": {
- "clipId": {
- "type": "string"
- }
- },
- "required": [
- "clipId"
- ],
- "type": "object"
- },
- "layouts": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "holdThroughWordIndex": {
- "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "region": {
- "additionalProperties": false,
- "properties": {
- "h": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "w": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "x": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "y": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "x",
- "y",
- "w",
- "h"
- ],
- "type": "object"
- },
- "rotation": {
- "maximum": 45,
- "minimum": -45,
- "type": "number"
- },
- "scale": {
- "maximum": 4,
- "minimum": 0.25,
- "type": "number"
- },
- "segmentIndex": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "style": {
- "additionalProperties": false,
- "properties": {
- "annotationColor": {
- "type": "string"
- },
- "annotationStrokeWidth": {
- "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.",
- "maximum": 12,
- "minimum": 0.5,
- "type": "number"
- },
- "annotationTexture": {
- "description": "Native annotation stroke finish; default clean.",
- "enum": [
- "clean",
- "pencil"
- ],
- "type": "string"
- },
- "backgroundColor": {
- "type": "string"
- },
- "color": {
- "minLength": 1,
- "type": "string"
- },
- "emphasisColor": {
- "type": "string"
- },
- "emphasisFontFamily": {
- "type": "string"
- },
- "emphasisFontStyle": {
- "enum": [
- "normal",
- "italic"
- ],
- "type": "string"
- },
- "emphasisFontWeight": {
- "maximum": 900,
- "minimum": 100,
- "type": "integer"
- },
- "emphasisLetterSpacing": {
- "type": "number"
- },
- "emphasisPlate": {
- "type": "boolean"
- },
- "emphasisPlateAltColor": {
- "type": "string"
- },
- "emphasisPlateAltTextColor": {
- "type": "string"
- },
- "emphasisPlateColor": {
- "type": "string"
- },
- "emphasisPlatePadX": {
- "type": "number"
- },
- "emphasisPlatePadY": {
- "type": "number"
- },
- "emphasisPlateRadius": {
- "minimum": 0,
- "type": "number"
- },
- "emphasisPlateReveal": {
- "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.",
- "type": "boolean"
- },
- "emphasisPlateTextColor": {
- "type": "string"
- },
- "emphasisScale": {
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "emphasisTextTransform": {
- "enum": [
- "none",
- "uppercase",
- "capitalize"
- ],
- "type": "string"
- },
- "entrance": {
- "enum": [
- "none",
- "fade",
- "word-pop",
- "stagger-up"
- ],
- "type": "string"
- },
- "entranceMs": {
- "minimum": 0,
- "type": "number"
- },
- "entranceStaggerMs": {
- "minimum": 0,
- "type": "number"
- },
- "exitMs": {
- "minimum": 0,
- "type": "number"
- },
- "fontFamily": {
- "minLength": 1,
- "type": "string"
- },
- "fontSize": {
- "description": "Font size as % of composition height (1-15, default 5). NOT px.",
- "maximum": 15,
- "minimum": 1,
- "type": "number"
- },
- "fontWeight": {
- "maximum": 900,
- "minimum": 100,
- "type": "integer"
- },
- "highlightColor": {
- "minLength": 1,
- "type": "string"
- },
- "letterSpacing": {
- "description": "Base caption glyph spacing in pixels.",
- "maximum": 20,
- "minimum": -5,
- "type": "number"
- },
- "lineGapEm": {
- "description": "Gap between caption lines as a multiple of base font size; default 0.25.",
- "maximum": 2,
- "minimum": 0,
- "type": "number"
- },
- "plate": {
- "enum": [
- "glass",
- "solid",
- "none"
- ],
- "type": "string"
- },
- "textTransform": {
- "enum": [
- "none",
- "uppercase",
- "capitalize"
- ],
- "type": "string"
- },
- "wordGapEm": {
- "description": "Gap between caption runs as a multiple of base font size; default 0.35.",
- "maximum": 2,
- "minimum": 0,
- "type": "number"
- }
- },
- "type": "object"
- },
- "wordEndIndex": {
- "description": "Exclusive word index in the saved caption segment.",
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "wordMarks": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "annotate": {
- "anyOf": [
- {
- "enum": [
- "circle",
- "underline"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "emphasis": {
- "type": "boolean"
- },
- "wordIndex": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "wordIndex"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "wordSignature": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "wordStartIndex": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "segmentIndex",
- "wordStartIndex",
- "wordEndIndex",
- "region",
- "wordSignature"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "segments": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "words": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "annotate": {
- "enum": [
- "circle",
- "underline"
- ],
- "type": "string"
- },
- "emphasis": {
- "type": "boolean"
- },
- "endMs": {
- "description": "Word end on the composition timeline, in milliseconds.",
- "minimum": 0,
- "type": "number"
- },
- "startMs": {
- "description": "Word start on the composition timeline, in milliseconds.",
- "minimum": 0,
- "type": "number"
- },
- "text": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "text",
- "startMs",
- "endMs"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "words"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "source": {
- "const": "derived",
- "type": "string"
- },
- "style": {
- "additionalProperties": false,
- "properties": {
- "annotationColor": {
- "type": "string"
- },
- "annotationStrokeWidth": {
- "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.",
- "maximum": 12,
- "minimum": 0.5,
- "type": "number"
- },
- "annotationTexture": {
- "description": "Native annotation stroke finish; default clean.",
- "enum": [
- "clean",
- "pencil"
- ],
- "type": "string"
- },
- "backgroundColor": {
- "type": "string"
- },
- "color": {
- "minLength": 1,
- "type": "string"
- },
- "emphasisColor": {
- "type": "string"
- },
- "emphasisFontFamily": {
- "type": "string"
- },
- "emphasisFontStyle": {
- "enum": [
- "normal",
- "italic"
- ],
- "type": "string"
- },
- "emphasisFontWeight": {
- "maximum": 900,
- "minimum": 100,
- "type": "integer"
- },
- "emphasisGradient": {
- "type": "string"
- },
- "emphasisLetterSpacing": {
- "type": "number"
- },
- "emphasisPlate": {
- "type": "boolean"
- },
- "emphasisPlateAltColor": {
- "type": "string"
- },
- "emphasisPlateAltTextColor": {
- "type": "string"
- },
- "emphasisPlateColor": {
- "type": "string"
- },
- "emphasisPlatePadX": {
- "type": "number"
- },
- "emphasisPlatePadY": {
- "type": "number"
- },
- "emphasisPlateRadius": {
- "minimum": 0,
- "type": "number"
- },
- "emphasisPlateReveal": {
- "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.",
- "type": "boolean"
- },
- "emphasisPlateTextColor": {
- "type": "string"
- },
- "emphasisScale": {
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "emphasisTextTransform": {
- "enum": [
- "none",
- "uppercase",
- "capitalize"
- ],
- "type": "string"
- },
- "entrance": {
- "enum": [
- "none",
- "fade",
- "word-pop",
- "stagger-up"
- ],
- "type": "string"
- },
- "entranceMs": {
- "minimum": 0,
- "type": "number"
- },
- "entranceStaggerMs": {
- "minimum": 0,
- "type": "number"
- },
- "exitMs": {
- "minimum": 0,
- "type": "number"
- },
- "fontFamily": {
- "minLength": 1,
- "type": "string"
- },
- "fontSize": {
- "description": "Font size as % of composition height (1-15, default 5). NOT px.",
- "maximum": 15,
- "minimum": 1,
- "type": "number"
- },
- "fontWeight": {
- "maximum": 900,
- "minimum": 100,
- "type": "integer"
- },
- "highlightColor": {
- "minLength": 1,
- "type": "string"
- },
- "letterSpacing": {
- "description": "Base caption glyph spacing in pixels.",
- "maximum": 20,
- "minimum": -5,
- "type": "number"
- },
- "lineGapEm": {
- "description": "Gap between caption lines as a multiple of base font size; default 0.25.",
- "maximum": 2,
- "minimum": 0,
- "type": "number"
- },
- "maxWidthPercent": {
- "exclusiveMinimum": 0,
- "maximum": 100,
- "type": "number"
- },
- "plate": {
- "enum": [
- "glass",
- "solid",
- "none"
- ],
- "type": "string"
- },
- "position": {
- "enum": [
- "top",
- "center",
- "bottom"
- ],
- "type": "string"
- },
- "region": {
- "additionalProperties": false,
- "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.",
- "properties": {
- "h": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "w": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "x": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "y": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "x",
- "y",
- "w",
- "h"
- ],
- "type": "object"
- },
- "textTransform": {
- "enum": [
- "none",
- "uppercase",
- "capitalize"
- ],
- "type": "string"
- },
- "wordGapEm": {
- "description": "Gap between caption runs as a multiple of base font size; default 0.35.",
- "maximum": 2,
- "minimum": 0,
- "type": "number"
- }
- },
- "type": "object"
- },
- "zPlane": {
- "enum": [
- "front",
- "behind-subject"
- ],
- "type": "string"
- }
- },
- "required": [
- "source",
- "from",
- "segments"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "layouts": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "holdThroughWordIndex": {
- "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "region": {
- "additionalProperties": false,
- "properties": {
- "h": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "w": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "x": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "y": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "x",
- "y",
- "w",
- "h"
- ],
- "type": "object"
- },
- "rotation": {
- "maximum": 45,
- "minimum": -45,
- "type": "number"
- },
- "scale": {
- "maximum": 4,
- "minimum": 0.25,
- "type": "number"
- },
- "segmentIndex": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "style": {
- "additionalProperties": false,
- "properties": {
- "annotationColor": {
- "type": "string"
- },
- "annotationStrokeWidth": {
- "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.",
- "maximum": 12,
- "minimum": 0.5,
- "type": "number"
- },
- "annotationTexture": {
- "description": "Native annotation stroke finish; default clean.",
- "enum": [
- "clean",
- "pencil"
- ],
- "type": "string"
- },
- "backgroundColor": {
- "type": "string"
- },
- "color": {
- "minLength": 1,
- "type": "string"
- },
- "emphasisColor": {
- "type": "string"
- },
- "emphasisFontFamily": {
- "type": "string"
- },
- "emphasisFontStyle": {
- "enum": [
- "normal",
- "italic"
- ],
- "type": "string"
- },
- "emphasisFontWeight": {
- "maximum": 900,
- "minimum": 100,
- "type": "integer"
- },
- "emphasisLetterSpacing": {
- "type": "number"
- },
- "emphasisPlate": {
- "type": "boolean"
- },
- "emphasisPlateAltColor": {
- "type": "string"
- },
- "emphasisPlateAltTextColor": {
- "type": "string"
- },
- "emphasisPlateColor": {
- "type": "string"
- },
- "emphasisPlatePadX": {
- "type": "number"
- },
- "emphasisPlatePadY": {
- "type": "number"
- },
- "emphasisPlateRadius": {
- "minimum": 0,
- "type": "number"
- },
- "emphasisPlateReveal": {
- "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.",
- "type": "boolean"
- },
- "emphasisPlateTextColor": {
- "type": "string"
- },
- "emphasisScale": {
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "emphasisTextTransform": {
- "enum": [
- "none",
- "uppercase",
- "capitalize"
- ],
- "type": "string"
- },
- "entrance": {
- "enum": [
- "none",
- "fade",
- "word-pop",
- "stagger-up"
- ],
- "type": "string"
- },
- "entranceMs": {
- "minimum": 0,
- "type": "number"
- },
- "entranceStaggerMs": {
- "minimum": 0,
- "type": "number"
- },
- "exitMs": {
- "minimum": 0,
- "type": "number"
- },
- "fontFamily": {
- "minLength": 1,
- "type": "string"
- },
- "fontSize": {
- "description": "Font size as % of composition height (1-15, default 5). NOT px.",
- "maximum": 15,
- "minimum": 1,
- "type": "number"
- },
- "fontWeight": {
- "maximum": 900,
- "minimum": 100,
- "type": "integer"
- },
- "highlightColor": {
- "minLength": 1,
- "type": "string"
- },
- "letterSpacing": {
- "description": "Base caption glyph spacing in pixels.",
- "maximum": 20,
- "minimum": -5,
- "type": "number"
- },
- "lineGapEm": {
- "description": "Gap between caption lines as a multiple of base font size; default 0.25.",
- "maximum": 2,
- "minimum": 0,
- "type": "number"
- },
- "plate": {
- "enum": [
- "glass",
- "solid",
- "none"
- ],
- "type": "string"
- },
- "textTransform": {
- "enum": [
- "none",
- "uppercase",
- "capitalize"
- ],
- "type": "string"
- },
- "wordGapEm": {
- "description": "Gap between caption runs as a multiple of base font size; default 0.35.",
- "maximum": 2,
- "minimum": 0,
- "type": "number"
- }
- },
- "type": "object"
- },
- "wordEndIndex": {
- "description": "Exclusive word index in the saved caption segment.",
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "wordMarks": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "annotate": {
- "anyOf": [
- {
- "enum": [
- "circle",
- "underline"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "emphasis": {
- "type": "boolean"
- },
- "wordIndex": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "wordIndex"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "wordSignature": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "wordStartIndex": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "segmentIndex",
- "wordStartIndex",
- "wordEndIndex",
- "region",
- "wordSignature"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "segments": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "words": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "annotate": {
- "enum": [
- "circle",
- "underline"
- ],
- "type": "string"
- },
- "emphasis": {
- "type": "boolean"
- },
- "endMs": {
- "description": "Word end on the composition timeline, in milliseconds.",
- "minimum": 0,
- "type": "number"
- },
- "startMs": {
- "description": "Word start on the composition timeline, in milliseconds.",
- "minimum": 0,
- "type": "number"
- },
- "text": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "text",
- "startMs",
- "endMs"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "words"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "source": {
- "const": "authored",
- "type": "string"
- },
- "style": {
- "additionalProperties": false,
- "properties": {
- "annotationColor": {
- "type": "string"
- },
- "annotationStrokeWidth": {
- "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.",
- "maximum": 12,
- "minimum": 0.5,
- "type": "number"
- },
- "annotationTexture": {
- "description": "Native annotation stroke finish; default clean.",
- "enum": [
- "clean",
- "pencil"
- ],
- "type": "string"
- },
- "backgroundColor": {
- "type": "string"
- },
- "color": {
- "minLength": 1,
- "type": "string"
- },
- "emphasisColor": {
- "type": "string"
- },
- "emphasisFontFamily": {
- "type": "string"
- },
- "emphasisFontStyle": {
- "enum": [
- "normal",
- "italic"
- ],
- "type": "string"
- },
- "emphasisFontWeight": {
- "maximum": 900,
- "minimum": 100,
- "type": "integer"
- },
- "emphasisGradient": {
- "type": "string"
- },
- "emphasisLetterSpacing": {
- "type": "number"
- },
- "emphasisPlate": {
- "type": "boolean"
- },
- "emphasisPlateAltColor": {
- "type": "string"
- },
- "emphasisPlateAltTextColor": {
- "type": "string"
- },
- "emphasisPlateColor": {
- "type": "string"
- },
- "emphasisPlatePadX": {
- "type": "number"
- },
- "emphasisPlatePadY": {
- "type": "number"
- },
- "emphasisPlateRadius": {
- "minimum": 0,
- "type": "number"
- },
- "emphasisPlateReveal": {
- "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.",
- "type": "boolean"
- },
- "emphasisPlateTextColor": {
- "type": "string"
- },
- "emphasisScale": {
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "emphasisTextTransform": {
- "enum": [
- "none",
- "uppercase",
- "capitalize"
- ],
- "type": "string"
- },
- "entrance": {
- "enum": [
- "none",
- "fade",
- "word-pop",
- "stagger-up"
- ],
- "type": "string"
- },
- "entranceMs": {
- "minimum": 0,
- "type": "number"
- },
- "entranceStaggerMs": {
- "minimum": 0,
- "type": "number"
- },
- "exitMs": {
- "minimum": 0,
- "type": "number"
- },
- "fontFamily": {
- "minLength": 1,
- "type": "string"
- },
- "fontSize": {
- "description": "Font size as % of composition height (1-15, default 5). NOT px.",
- "maximum": 15,
- "minimum": 1,
- "type": "number"
- },
- "fontWeight": {
- "maximum": 900,
- "minimum": 100,
- "type": "integer"
- },
- "highlightColor": {
- "minLength": 1,
- "type": "string"
- },
- "letterSpacing": {
- "description": "Base caption glyph spacing in pixels.",
- "maximum": 20,
- "minimum": -5,
- "type": "number"
- },
- "lineGapEm": {
- "description": "Gap between caption lines as a multiple of base font size; default 0.25.",
- "maximum": 2,
- "minimum": 0,
- "type": "number"
- },
- "maxWidthPercent": {
- "exclusiveMinimum": 0,
- "maximum": 100,
- "type": "number"
- },
- "plate": {
- "enum": [
- "glass",
- "solid",
- "none"
- ],
- "type": "string"
- },
- "position": {
- "enum": [
- "top",
- "center",
- "bottom"
- ],
- "type": "string"
- },
- "region": {
- "additionalProperties": false,
- "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.",
- "properties": {
- "h": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "w": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "x": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "y": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "x",
- "y",
- "w",
- "h"
- ],
- "type": "object"
- },
- "textTransform": {
- "enum": [
- "none",
- "uppercase",
- "capitalize"
- ],
- "type": "string"
- },
- "wordGapEm": {
- "description": "Gap between caption runs as a multiple of base font size; default 0.35.",
- "maximum": 2,
- "minimum": 0,
- "type": "number"
- }
- },
- "type": "object"
- },
- "zPlane": {
- "enum": [
- "front",
- "behind-subject"
- ],
- "type": "string"
- }
- },
- "required": [
- "source",
- "segments"
- ],
- "type": "object"
- }
-]
addedInput schema / properties / body / properties / captions / oneOf
Added value: +[
+ {
+ "additionalProperties": {},
+ "properties": {
+ "from": {
+ "additionalProperties": {},
+ "properties": {
+ "clipId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "clipId"
+ ],
+ "type": "object"
+ },
+ "layouts": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "holdThroughWordIndex": {
+ "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "region": {
+ "additionalProperties": {},
+ "properties": {
+ "h": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "w": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "x": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "x",
+ "y",
+ "w",
+ "h"
+ ],
+ "type": "object"
+ },
+ "rotation": {
+ "maximum": 45,
+ "minimum": -45,
+ "type": "number"
+ },
+ "scale": {
+ "maximum": 4,
+ "minimum": 0.25,
+ "type": "number"
+ },
+ "segmentIndex": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "style": {
+ "additionalProperties": false,
+ "properties": {
+ "annotationColor": {
+ "type": "string"
+ },
+ "annotationStrokeWidth": {
+ "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.",
+ "maximum": 12,
+ "minimum": 0.5,
+ "type": "number"
+ },
+ "annotationTexture": {
+ "description": "Native annotation stroke finish; default clean.",
+ "enum": [
+ "clean",
+ "pencil"
+ ],
+ "type": "string"
+ },
+ "backgroundColor": {
+ "type": "string"
+ },
+ "color": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "emphasisColor": {
+ "type": "string"
+ },
+ "emphasisFontFamily": {
+ "type": "string"
+ },
+ "emphasisFontStyle": {
+ "enum": [
+ "normal",
+ "italic"
+ ],
+ "type": "string"
+ },
+ "emphasisFontWeight": {
+ "maximum": 900,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "emphasisLetterSpacing": {
+ "type": "number"
+ },
+ "emphasisPlate": {
+ "type": "boolean"
+ },
+ "emphasisPlateAltColor": {
+ "type": "string"
+ },
+ "emphasisPlateAltTextColor": {
+ "type": "string"
+ },
+ "emphasisPlateColor": {
+ "type": "string"
+ },
+ "emphasisPlatePadX": {
+ "type": "number"
+ },
+ "emphasisPlatePadY": {
+ "type": "number"
+ },
+ "emphasisPlateRadius": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "emphasisPlateReveal": {
+ "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.",
+ "type": "boolean"
+ },
+ "emphasisPlateTextColor": {
+ "type": "string"
+ },
+ "emphasisScale": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "emphasisTextTransform": {
+ "enum": [
+ "none",
+ "uppercase",
+ "capitalize"
+ ],
+ "type": "string"
+ },
+ "entrance": {
+ "enum": [
+ "none",
+ "fade",
+ "word-pop",
+ "stagger-up"
+ ],
+ "type": "string"
+ },
+ "entranceMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "entranceStaggerMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "exitMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "fontFamily": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "fontSize": {
+ "description": "Font size as % of composition height (1-15, default 5). NOT px.",
+ "maximum": 15,
+ "minimum": 1,
+ "type": "number"
+ },
+ "fontWeight": {
+ "maximum": 900,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "highlightColor": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "letterSpacing": {
+ "description": "Base caption glyph spacing in pixels.",
+ "maximum": 20,
+ "minimum": -5,
+ "type": "number"
+ },
+ "lineGapEm": {
+ "description": "Gap between caption lines as a multiple of base font size; default 0.25.",
+ "maximum": 2,
+ "minimum": 0,
+ "type": "number"
+ },
+ "plate": {
+ "enum": [
+ "glass",
+ "solid",
+ "none"
+ ],
+ "type": "string"
+ },
+ "textTransform": {
+ "enum": [
+ "none",
+ "uppercase",
+ "capitalize"
+ ],
+ "type": "string"
+ },
+ "wordGapEm": {
+ "description": "Gap between caption runs as a multiple of base font size; default 0.35.",
+ "maximum": 2,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "wordEndIndex": {
+ "description": "Exclusive word index in the saved caption segment.",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "wordMarks": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "annotate": {
+ "anyOf": [
+ {
+ "enum": [
+ "circle",
+ "underline"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "emphasis": {
+ "type": "boolean"
+ },
+ "wordIndex": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "wordIndex"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "wordSignature": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "wordStartIndex": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "segmentIndex",
+ "wordStartIndex",
+ "wordEndIndex",
+ "region",
+ "wordSignature"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "segments": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "words": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "annotate": {
+ "enum": [
+ "circle",
+ "underline"
+ ],
+ "type": "string"
+ },
+ "emphasis": {
+ "type": "boolean"
+ },
+ "endMs": {
+ "description": "Word end on the composition timeline, in milliseconds.",
+ "minimum": 0,
+ "type": "number"
+ },
+ "startMs": {
+ "description": "Word start on the composition timeline, in milliseconds.",
+ "minimum": 0,
+ "type": "number"
+ },
+ "text": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "text",
+ "startMs",
+ "endMs"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "words"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source": {
+ "const": "derived",
+ "type": "string"
+ },
+ "style": {
+ "additionalProperties": {},
+ "properties": {
+ "annotationColor": {
+ "type": "string"
+ },
+ "annotationStrokeWidth": {
+ "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.",
+ "maximum": 12,
+ "minimum": 0.5,
+ "type": "number"
+ },
+ "annotationTexture": {
+ "description": "Native annotation stroke finish; default clean.",
+ "enum": [
+ "clean",
+ "pencil"
+ ],
+ "type": "string"
+ },
+ "backgroundColor": {
+ "type": "string"
+ },
+ "color": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "emphasisColor": {
+ "type": "string"
+ },
+ "emphasisFontFamily": {
+ "type": "string"
+ },
+ "emphasisFontStyle": {
+ "enum": [
+ "normal",
+ "italic"
+ ],
+ "type": "string"
+ },
+ "emphasisFontWeight": {
+ "maximum": 900,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "emphasisGradient": {
+ "type": "string"
+ },
+ "emphasisLetterSpacing": {
+ "type": "number"
+ },
+ "emphasisPlate": {
+ "type": "boolean"
+ },
+ "emphasisPlateAltColor": {
+ "type": "string"
+ },
+ "emphasisPlateAltTextColor": {
+ "type": "string"
+ },
+ "emphasisPlateColor": {
+ "type": "string"
+ },
+ "emphasisPlatePadX": {
+ "type": "number"
+ },
+ "emphasisPlatePadY": {
+ "type": "number"
+ },
+ "emphasisPlateRadius": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "emphasisPlateReveal": {
+ "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.",
+ "type": "boolean"
+ },
+ "emphasisPlateTextColor": {
+ "type": "string"
+ },
+ "emphasisScale": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "emphasisTextTransform": {
+ "enum": [
+ "none",
+ "uppercase",
+ "capitalize"
+ ],
+ "type": "string"
+ },
+ "entrance": {
+ "enum": [
+ "none",
+ "fade",
+ "word-pop",
+ "stagger-up"
+ ],
+ "type": "string"
+ },
+ "entranceMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "entranceStaggerMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "exitMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "fontFamily": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "fontSize": {
+ "description": "Font size as % of composition height (1-15, default 5). NOT px.",
+ "maximum": 15,
+ "minimum": 1,
+ "type": "number"
+ },
+ "fontWeight": {
+ "maximum": 900,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "highlightColor": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "letterSpacing": {
+ "description": "Base caption glyph spacing in pixels.",
+ "maximum": 20,
+ "minimum": -5,
+ "type": "number"
+ },
+ "lineGapEm": {
+ "description": "Gap between caption lines as a multiple of base font size; default 0.25.",
+ "maximum": 2,
+ "minimum": 0,
+ "type": "number"
+ },
+ "maxWidthPercent": {
+ "exclusiveMinimum": 0,
+ "maximum": 100,
+ "type": "number"
+ },
+ "plate": {
+ "enum": [
+ "glass",
+ "solid",
+ "none"
+ ],
+ "type": "string"
+ },
+ "position": {
+ "enum": [
+ "top",
+ "center",
+ "bottom"
+ ],
+ "type": "string"
+ },
+ "region": {
+ "additionalProperties": {},
+ "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.",
+ "properties": {
+ "h": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "w": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "x": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "x",
+ "y",
+ "w",
+ "h"
+ ],
+ "type": "object"
+ },
+ "textTransform": {
+ "enum": [
+ "none",
+ "uppercase",
+ "capitalize"
+ ],
+ "type": "string"
+ },
+ "wordGapEm": {
+ "description": "Gap between caption runs as a multiple of base font size; default 0.35.",
+ "maximum": 2,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "zPlane": {
+ "enum": [
+ "front",
+ "behind-subject"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "from",
+ "segments"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "layouts": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "holdThroughWordIndex": {
+ "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "region": {
+ "additionalProperties": {},
+ "properties": {
+ "h": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "w": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "x": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "x",
+ "y",
+ "w",
+ "h"
+ ],
+ "type": "object"
+ },
+ "rotation": {
+ "maximum": 45,
+ "minimum": -45,
+ "type": "number"
+ },
+ "scale": {
+ "maximum": 4,
+ "minimum": 0.25,
+ "type": "number"
+ },
+ "segmentIndex": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "style": {
+ "additionalProperties": false,
+ "properties": {
+ "annotationColor": {
+ "type": "string"
+ },
+ "annotationStrokeWidth": {
+ "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.",
+ "maximum": 12,
+ "minimum": 0.5,
+ "type": "number"
+ },
+ "annotationTexture": {
+ "description": "Native annotation stroke finish; default clean.",
+ "enum": [
+ "clean",
+ "pencil"
+ ],
+ "type": "string"
+ },
+ "backgroundColor": {
+ "type": "string"
+ },
+ "color": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "emphasisColor": {
+ "type": "string"
+ },
+ "emphasisFontFamily": {
+ "type": "string"
+ },
+ "emphasisFontStyle": {
+ "enum": [
+ "normal",
+ "italic"
+ ],
+ "type": "string"
+ },
+ "emphasisFontWeight": {
+ "maximum": 900,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "emphasisLetterSpacing": {
+ "type": "number"
+ },
+ "emphasisPlate": {
+ "type": "boolean"
+ },
+ "emphasisPlateAltColor": {
+ "type": "string"
+ },
+ "emphasisPlateAltTextColor": {
+ "type": "string"
+ },
+ "emphasisPlateColor": {
+ "type": "string"
+ },
+ "emphasisPlatePadX": {
+ "type": "number"
+ },
+ "emphasisPlatePadY": {
+ "type": "number"
+ },
+ "emphasisPlateRadius": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "emphasisPlateReveal": {
+ "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.",
+ "type": "boolean"
+ },
+ "emphasisPlateTextColor": {
+ "type": "string"
+ },
+ "emphasisScale": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "emphasisTextTransform": {
+ "enum": [
+ "none",
+ "uppercase",
+ "capitalize"
+ ],
+ "type": "string"
+ },
+ "entrance": {
+ "enum": [
+ "none",
+ "fade",
+ "word-pop",
+ "stagger-up"
+ ],
+ "type": "string"
+ },
+ "entranceMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "entranceStaggerMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "exitMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "fontFamily": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "fontSize": {
+ "description": "Font size as % of composition height (1-15, default 5). NOT px.",
+ "maximum": 15,
+ "minimum": 1,
+ "type": "number"
+ },
+ "fontWeight": {
+ "maximum": 900,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "highlightColor": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "letterSpacing": {
+ "description": "Base caption glyph spacing in pixels.",
+ "maximum": 20,
+ "minimum": -5,
+ "type": "number"
+ },
+ "lineGapEm": {
+ "description": "Gap between caption lines as a multiple of base font size; default 0.25.",
+ "maximum": 2,
+ "minimum": 0,
+ "type": "number"
+ },
+ "plate": {
+ "enum": [
+ "glass",
+ "solid",
+ "none"
+ ],
+ "type": "string"
+ },
+ "textTransform": {
+ "enum": [
+ "none",
+ "uppercase",
+ "capitalize"
+ ],
+ "type": "string"
+ },
+ "wordGapEm": {
+ "description": "Gap between caption runs as a multiple of base font size; default 0.35.",
+ "maximum": 2,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "wordEndIndex": {
+ "description": "Exclusive word index in the saved caption segment.",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "wordMarks": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "annotate": {
+ "anyOf": [
+ {
+ "enum": [
+ "circle",
+ "underline"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "emphasis": {
+ "type": "boolean"
+ },
+ "wordIndex": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "wordIndex"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "wordSignature": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "wordStartIndex": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "segmentIndex",
+ "wordStartIndex",
+ "wordEndIndex",
+ "region",
+ "wordSignature"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "segments": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "words": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "annotate": {
+ "enum": [
+ "circle",
+ "underline"
+ ],
+ "type": "string"
+ },
+ "emphasis": {
+ "type": "boolean"
+ },
+ "endMs": {
+ "description": "Word end on the composition timeline, in milliseconds.",
+ "minimum": 0,
+ "type": "number"
+ },
+ "startMs": {
+ "description": "Word start on the composition timeline, in milliseconds.",
+ "minimum": 0,
+ "type": "number"
+ },
+ "text": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "text",
+ "startMs",
+ "endMs"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "words"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source": {
+ "const": "authored",
+ "type": "string"
+ },
+ "style": {
+ "additionalProperties": {},
+ "properties": {
+ "annotationColor": {
+ "type": "string"
+ },
+ "annotationStrokeWidth": {
+ "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.",
+ "maximum": 12,
+ "minimum": 0.5,
+ "type": "number"
+ },
+ "annotationTexture": {
+ "description": "Native annotation stroke finish; default clean.",
+ "enum": [
+ "clean",
+ "pencil"
+ ],
+ "type": "string"
+ },
+ "backgroundColor": {
+ "type": "string"
+ },
+ "color": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "emphasisColor": {
+ "type": "string"
+ },
+ "emphasisFontFamily": {
+ "type": "string"
+ },
+ "emphasisFontStyle": {
+ "enum": [
+ "normal",
+ "italic"
+ ],
+ "type": "string"
+ },
+ "emphasisFontWeight": {
+ "maximum": 900,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "emphasisGradient": {
+ "type": "string"
+ },
+ "emphasisLetterSpacing": {
+ "type": "number"
+ },
+ "emphasisPlate": {
+ "type": "boolean"
+ },
+ "emphasisPlateAltColor": {
+ "type": "string"
+ },
+ "emphasisPlateAltTextColor": {
+ "type": "string"
+ },
+ "emphasisPlateColor": {
+ "type": "string"
+ },
+ "emphasisPlatePadX": {
+ "type": "number"
+ },
+ "emphasisPlatePadY": {
+ "type": "number"
+ },
+ "emphasisPlateRadius": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "emphasisPlateReveal": {
+ "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.",
+ "type": "boolean"
+ },
+ "emphasisPlateTextColor": {
+ "type": "string"
+ },
+ "emphasisScale": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "emphasisTextTransform": {
+ "enum": [
+ "none",
+ "uppercase",
+ "capitalize"
+ ],
+ "type": "string"
+ },
+ "entrance": {
+ "enum": [
+ "none",
+ "fade",
+ "word-pop",
+ "stagger-up"
+ ],
+ "type": "string"
+ },
+ "entranceMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "entranceStaggerMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "exitMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "fontFamily": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "fontSize": {
+ "description": "Font size as % of composition height (1-15, default 5). NOT px.",
+ "maximum": 15,
+ "minimum": 1,
+ "type": "number"
+ },
+ "fontWeight": {
+ "maximum": 900,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "highlightColor": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "letterSpacing": {
+ "description": "Base caption glyph spacing in pixels.",
+ "maximum": 20,
+ "minimum": -5,
+ "type": "number"
+ },
+ "lineGapEm": {
+ "description": "Gap between caption lines as a multiple of base font size; default 0.25.",
+ "maximum": 2,
+ "minimum": 0,
+ "type": "number"
+ },
+ "maxWidthPercent": {
+ "exclusiveMinimum": 0,
+ "maximum": 100,
+ "type": "number"
+ },
+ "plate": {
+ "enum": [
+ "glass",
+ "solid",
+ "none"
+ ],
+ "type": "string"
+ },
+ "position": {
+ "enum": [
+ "top",
+ "center",
+ "bottom"
+ ],
+ "type": "string"
+ },
+ "region": {
+ "additionalProperties": {},
+ "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.",
+ "properties": {
+ "h": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "w": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "x": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "x",
+ "y",
+ "w",
+ "h"
+ ],
+ "type": "object"
+ },
+ "textTransform": {
+ "enum": [
+ "none",
+ "uppercase",
+ "capitalize"
+ ],
+ "type": "string"
+ },
+ "wordGapEm": {
+ "description": "Gap between caption runs as a multiple of base font size; default 0.35.",
+ "maximum": 2,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "zPlane": {
+ "enum": [
+ "front",
+ "behind-subject"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "segments"
+ ],
+ "type": "object"
+ }
+]
changedInput schema / properties / body / properties / tracks / items / properties / contents / items / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "animate": {
- "additionalProperties": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "easing": {
- "anyOf": [
- {
- "enum": [
- "linear",
- "ease",
- "easeIn",
- "easeOut",
- "easeInOut"
- ],
- "type": "string"
- },
- {
- "additionalProperties": false,
- "properties": {
- "cubicBezier": {
- "items": false,
- "maxItems": 4,
- "minItems": 4,
- "prefixItems": [
- {
- "type": "number"
- },
- {
- "type": "number"
- },
- {
- "type": "number"
- },
- {
- "type": "number"
- }
- ],
- "type": "array"
- }
- },
- "required": [
- "cubicBezier"
- ],
- "type": "object"
- }
- ]
- },
- "time": {
- "minimum": 0,
- "type": "number"
- },
- "value": {
- "type": "number"
- }
- },
- "required": [
- "time",
- "value"
- ],
- "type": "object"
- },
- "minItems": 2,
- "type": "array"
- },
- "description": "Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.",
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "captionVisibility": {
- "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.",
- "enum": [
- "visible",
- "hidden"
- ],
- "type": "string"
- },
- "duration": {
- "description": "Clip duration (seconds).",
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "effects": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "component": {
- "additionalProperties": false,
- "properties": {
- "assets": {
- "additionalProperties": {
- "minLength": 1,
- "type": "string"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "componentId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "mediaBindings": {
- "additionalProperties": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "params": {
- "additionalProperties": {
- "$ref": "#/$defs/__schema0"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "seed": {
- "minLength": 1,
- "type": "string"
- },
- "sourceVersionId": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "version": {
- "const": 3,
- "type": "number"
- }
- },
- "required": [
- "version",
- "componentId",
- "sourceVersionId",
- "params",
- "seed"
- ],
- "type": "object"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "params": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "primitiveId": {
- "minLength": 1,
- "type": "string"
- },
- "window": {
- "additionalProperties": false,
- "properties": {
- "duration": {
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "startTime": {
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "startTime",
- "duration"
- ],
- "type": "object"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "fit": {
- "enum": [
- "cover",
- "contain"
- ],
- "type": "string"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "enum": [
- "video",
- "audio",
- "image",
- "overlay",
- "effect"
- ],
- "type": "string"
- },
- "linkGroupId": {
- "minLength": 1,
- "type": "string"
- },
- "opacity": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "position": {
- "additionalProperties": false,
- "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.",
- "properties": {
- "x": {
- "maximum": 2,
- "minimum": -1,
- "type": "number"
- },
- "y": {
- "maximum": 2,
- "minimum": -1,
- "type": "number"
- }
- },
- "required": [
- "x",
- "y"
- ],
- "type": "object"
- },
- "region": {
- "additionalProperties": false,
- "properties": {
- "h": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "w": {
- "exclusiveMinimum": 0,
- "maximum": 1,
- "type": "number"
- },
- "x": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "y": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "x",
- "y",
- "w",
- "h"
- ],
- "type": "object"
- },
- "rotation": {
- "type": "number"
- },
- "scale": {
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "source": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "anchor": {
- "additionalProperties": false,
- "properties": {
- "clipId": {
- "minLength": 1,
- "type": "string"
- },
- "offsetMs": {
- "type": "number"
- }
- },
- "required": [
- "clipId",
- "offsetMs"
- ],
- "type": "object"
- },
- "audioRole": {
- "enum": [
- "sfx",
- "music",
- "vo",
- "ambience"
- ],
- "type": "string"
- },
- "duck": {
- "additionalProperties": false,
- "properties": {
- "attackMs": {
- "minimum": 0,
- "type": "number"
- },
- "duckDb": {
- "maximum": 0,
- "type": "number"
- },
- "releaseMs": {
- "minimum": 0,
- "type": "number"
- },
- "windows": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "endMs": {
- "type": "number"
- },
- "startMs": {
- "type": "number"
- }
- },
- "required": [
- "startMs",
- "endMs"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "duckDb",
- "attackMs",
- "releaseMs"
- ],
- "type": "object"
- },
- "excludedRanges": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "end": {
- "minimum": 0,
- "type": "number"
- },
- "reason": {
- "type": "string"
- },
- "start": {
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "start",
- "end"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "fadeInMs": {
- "minimum": 0,
- "type": "number"
- },
- "fadeOutMs": {
- "minimum": 0,
- "type": "number"
- },
- "kenBurns": {
- "enum": [
- "in",
- "out",
- "pan-l",
- "pan-r",
- "none"
- ],
- "type": "string"
- },
- "kind": {
- "const": "media",
- "type": "string"
- },
- "loop": {
- "type": "boolean"
- },
- "mediaId": {
- "minLength": 1,
- "type": "string"
- },
- "muted": {
- "type": "boolean"
- },
- "playbackRate": {
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "reframe": {
- "additionalProperties": false,
- "properties": {
- "segments": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "bias": {
- "additionalProperties": false,
- "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.",
- "properties": {
- "x": {
- "description": "Horizontal nudge, source-normalized (+ = right).",
- "maximum": 0.3,
- "minimum": -0.3,
- "type": "number"
- },
- "y": {
- "description": "Vertical nudge, source-normalized (+ = down).",
- "maximum": 0.3,
- "minimum": -0.3,
- "type": "number"
- }
- },
- "required": [
- "x",
- "y"
- ],
- "type": "object"
- },
- "ease": {
- "additionalProperties": false,
- "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.",
- "properties": {
- "in": {
- "description": "Ease-IN ramp DURATION in seconds at the segment START.",
- "minimum": 0,
- "type": "number"
- },
- "out": {
- "description": "Ease-OUT ramp DURATION in seconds at the segment END.",
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "in",
- "out"
- ],
- "type": "object"
- },
- "endSec": {
- "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.",
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "focus": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "const": "frame-center",
- "type": "string"
- }
- },
- "required": [
- "mode"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "const": "point",
- "type": "string"
- },
- "x": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "y": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "mode",
- "x",
- "y"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "faceId": {
- "minLength": 1,
- "type": "string"
- },
- "mode": {
- "const": "face",
- "type": "string"
- },
- "shotScale": {
- "enum": [
- "close",
- "standard",
- "wide"
- ],
- "type": "string"
- }
- },
- "required": [
- "mode",
- "faceId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "const": "all-faces",
- "type": "string"
- }
- },
- "required": [
- "mode"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "const": "active-speaker",
- "type": "string"
- }
- },
- "required": [
- "mode"
- ],
- "type": "object"
- }
- ],
- "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight."
- },
- "intent": {
- "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.",
- "type": "string"
- },
- "startSec": {
- "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.",
- "minimum": 0,
- "type": "number"
- },
- "zoom": {
- "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale` — a face-tracked shot is sized EITHER by the editorial scale (shotScale, which the bake calibrates to the detected face) OR by an explicit zoom, never both. A segment carrying both is REJECTED: shotScale wins at bake time and the zoom would be silently discarded.",
- "maximum": 1,
- "minimum": 0.1,
- "type": "number"
- }
- },
- "required": [
- "startSec",
- "endSec",
- "focus"
- ],
- "type": "object"
- },
- "minItems": 1,
- "type": "array"
- }
- },
- "required": [
- "segments"
- ],
- "type": "object"
- },
- "sync": {
- "enum": [
- "video",
- "independent"
- ],
- "type": "string"
- },
- "trim": {
- "additionalProperties": false,
- "properties": {
- "end": {
- "description": "Source trim end (seconds).",
- "minimum": 0,
- "type": "number"
- },
- "start": {
- "description": "Source trim start (seconds).",
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "start",
- "end"
- ],
- "type": "object"
- },
- "volume": {
- "maximum": 4,
- "minimum": 0,
- "type": "number"
- },
- "volumeDb": {
- "type": "number"
- }
- },
- "required": [
- "kind",
- "mediaId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "componentId": {
- "minLength": 1,
- "type": "string"
- },
- "execution": {
- "additionalProperties": false,
- "properties": {
- "assets": {
- "additionalProperties": {
- "minLength": 1,
- "type": "string"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "componentId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "mediaBindings": {
- "additionalProperties": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "params": {
- "additionalProperties": {
- "$ref": "#/$defs/__schema0"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "seed": {
- "minLength": 1,
- "type": "string"
- },
- "sourceVersionId": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "version": {
- "const": 3,
- "type": "number"
- }
- },
- "required": [
- "version",
- "componentId",
- "sourceVersionId",
- "params",
- "seed"
- ],
- "type": "object"
- },
- "kind": {
- "const": "component",
- "type": "string"
- },
- "placement": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "clip",
- "type": "string"
- },
- "version": {
- "const": 3,
- "type": "number"
- }
- },
- "required": [
- "version",
- "kind"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "kind": {
- "const": "content-slots",
- "type": "string"
- },
- "slots": {
- "additionalProperties": {
- "additionalProperties": false,
- "properties": {
- "ownership": {
- "enum": [
- "reference",
- "exclusive"
- ],
- "type": "string"
- },
- "targetClipIds": {
- "items": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "targetClipIds",
- "ownership"
- ],
- "type": "object"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "version": {
- "const": 3,
- "type": "number"
- }
- },
- "required": [
- "version",
- "kind",
- "slots"
- ],
- "type": "object"
- }
- ]
- },
- "props": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "zPlane": {
- "enum": [
- "front",
- "behind-subject"
- ],
- "type": "string"
- }
- },
- "required": [
- "kind",
- "componentId",
- "props",
- "execution",
- "placement"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "anchor": {
- "additionalProperties": false,
- "properties": {
- "space": {
- "const": "scene",
- "type": "string"
- },
- "x": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "y": {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "space",
- "x",
- "y"
- ],
- "type": "object"
- },
- "kind": {
- "const": "overlay",
- "type": "string"
- },
- "parallax": {
- "maximum": 0.3,
- "minimum": -0.3,
- "type": "number"
- },
- "params": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "primitiveId": {
- "minLength": 1,
- "pattern": "^(?!custom$)",
- "type": "string"
- },
- "zPlane": {
- "enum": [
- "front",
- "behind-subject"
- ],
- "type": "string"
- }
- },
- "required": [
- "kind",
- "primitiveId",
- "params"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "component": {
- "additionalProperties": false,
- "properties": {
- "assets": {
- "additionalProperties": {
- "minLength": 1,
- "type": "string"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "componentId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "mediaBindings": {
- "additionalProperties": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "params": {
- "additionalProperties": {
- "$ref": "#/$defs/__schema0"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "seed": {
- "minLength": 1,
- "type": "string"
- },
- "sourceVersionId": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "version": {
- "const": 3,
- "type": "number"
- }
- },
- "required": [
- "version",
- "componentId",
- "sourceVersionId",
- "params",
- "seed"
- ],
- "type": "object"
- },
- "kind": {
- "const": "effect",
- "type": "string"
- },
- "params": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "primitiveId": {
- "minLength": 1,
- "type": "string"
- },
- "targetTrackIds": {
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "wrapperOrder": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "kind"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "html": {
- "description": "Your card's HTML — rendered VERBATIM as the graphic (shell motion via applyMotionPreset in a FOLLOWING call). CANVAS CONTRACT: the card renders in a viewport equal to the composition format's pixel frame (1080×1920 at 9:16 fhd); the root is NOT auto-pinned — declare explicit width/height matching the frame (box-sizing:border-box) and anchor content with flex/grid; position:absolute;inset:0 on the root does NOT fill the frame; for edge-to-edge backgrounds add an inner absolutely-positioned layer with generous negative inset. Overlay compositing applies a ~92% safe-area inset — keep critical copy away from the extreme edges. FONTS: name a family from GET /v1/fonts (list_render_fonts) — the renderer loads those faces for the card and waits for them, so `font-family: Inter` draws Inter. `@import` and remote font files are REFUSED: the card renders with no network. A family that is not on that list has no bytes behind it and the browser falls back, so end any stack with a generic (`Inter, sans-serif`) rather than relying on a system face being present.",
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "card",
- "type": "string"
- },
- "tokens": {
- "additionalProperties": {
- "type": "string"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "zPlane": {
- "const": "front",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "html"
- ],
- "type": "object"
- }
- ]
- },
- "startTime": {
- "description": "Timeline start (seconds).",
- "minimum": 0,
- "type": "number"
- },
- "transitionIn": {
- "additionalProperties": false,
- "properties": {
- "component": {
- "additionalProperties": false,
- "properties": {
- "assets": {
- "additionalProperties": {
- "minLength": 1,
- "type": "string"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "componentId": {
- "maxLength": 256,
- "minLength": 1,
- "type": "string"
- },
- "mediaBindings": {
- "additionalProperties": {
- "items": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "type": "array"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "params": {
- "additionalProperties": {
- "$ref": "#/$defs/__schema0"
- },
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "seed": {
- "minLength": 1,
- "type": "string"
- },
- "sourceVersionId": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "version": {
- "const": 3,
- "type": "number"
- }
- },
- "required": [
- "version",
- "componentId",
- "sourceVersionId",
- "params",
- "seed"
- ],
- "type": "object"
- },
- "duration": {
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "fromClipId": {
- "minLength": 1,
- "type": "string"
- },
- "handlePolicy": {
- "const": "outgoing-overrun-at-cut-v1",
- "type": "string"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "toClipId": {
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "type",
- "duration"
- ],
- "type": "object"
- }
- },
- "required": [
- "id",
- "startTime",
- "duration",
- "source"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "duration": {
- "description": "Gap duration (seconds).",
- "exclusiveMinimum": 0,
- "type": "number"
- },
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "startTime": {
- "description": "Timeline start (seconds).",
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "id",
- "startTime",
- "duration"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "automation": {
+ "additionalProperties": false,
+ "properties": {
+ "lanes": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "points": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "t": {
+ "type": "number"
+ },
+ "v": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "t",
+ "v"
+ ],
+ "type": "object"
+ },
+ "minItems": 2,
+ "type": "array"
+ },
+ "target": {
+ "const": "volume",
+ "type": "string"
+ }
+ },
+ "required": [
+ "target",
+ "points"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "version": {
+ "const": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "lanes"
+ ],
+ "type": "object"
+ },
+ "captionVisibility": {
+ "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.",
+ "enum": [
+ "visible",
+ "hidden"
+ ],
+ "type": "string"
+ },
+ "duration": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "effects": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "component": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "assets": {
+ "additionalProperties": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "componentId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "mediaBindings": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "params": {
+ "additionalProperties": {
+ "$ref": "#/$defs/__schema0"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "seed": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "sourceVersionId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "version": {
+ "const": 3,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "componentId",
+ "sourceVersionId",
+ "params",
+ "seed"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "assets": {
+ "additionalProperties": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "componentId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "mediaBindings": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "params": {
+ "additionalProperties": {
+ "$ref": "#/$defs/__schema0"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "seed": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "sourceVersionId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "version": {
+ "const": 4,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "componentId",
+ "sourceVersionId",
+ "params",
+ "seed"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "params": {
+ "additionalProperties": {},
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "primitiveId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "window": {
+ "additionalProperties": false,
+ "properties": {
+ "duration": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "startTime": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "startTime",
+ "duration"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "fit": {
+ "enum": [
+ "cover",
+ "contain"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "enum": [
+ "video",
+ "audio",
+ "image",
+ "overlay",
+ "effect"
+ ],
+ "type": "string"
+ },
+ "legacyKeyframes": {
+ "additionalProperties": false,
+ "properties": {
+ "channels": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "needsUpgrade": {
+ "const": true,
+ "type": "boolean"
+ },
+ "record": {}
+ },
+ "required": [
+ "needsUpgrade",
+ "channels",
+ "record"
+ ],
+ "type": "object"
+ },
+ "linkGroupId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "opacity": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "position": {
+ "additionalProperties": {},
+ "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.",
+ "properties": {
+ "x": {
+ "maximum": 2,
+ "minimum": -1,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 2,
+ "minimum": -1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "x",
+ "y"
+ ],
+ "type": "object"
+ },
+ "region": {
+ "additionalProperties": {},
+ "properties": {
+ "h": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "w": {
+ "exclusiveMinimum": 0,
+ "maximum": 1,
+ "type": "number"
+ },
+ "x": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "x",
+ "y",
+ "w",
+ "h"
+ ],
+ "type": "object"
+ },
+ "rotation": {
+ "type": "number"
+ },
+ "scale": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "source": {
+ "oneOf": [
+ {
+ "additionalProperties": {},
+ "properties": {
+ "anchor": {
+ "additionalProperties": {},
+ "properties": {
+ "clipId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "offsetMs": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "clipId",
+ "offsetMs"
+ ],
+ "type": "object"
+ },
+ "audioRole": {
+ "enum": [
+ "sfx",
+ "music",
+ "vo",
+ "ambience"
+ ],
+ "type": "string"
+ },
+ "duck": {
+ "additionalProperties": {},
+ "properties": {
+ "attackMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "duckDb": {
+ "maximum": 0,
+ "type": "number"
+ },
+ "releaseMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "windows": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "endMs": {
+ "type": "number"
+ },
+ "startMs": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "startMs",
+ "endMs"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "duckDb",
+ "attackMs",
+ "releaseMs"
+ ],
+ "type": "object"
+ },
+ "excludedRanges": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "end": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "start": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "fadeInMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "fadeOutMs": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "kenBurns": {
+ "enum": [
+ "in",
+ "out",
+ "pan-l",
+ "pan-r",
+ "none"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "const": "media",
+ "type": "string"
+ },
+ "loop": {
+ "type": "boolean"
+ },
+ "mediaId": {
+ "type": "string"
+ },
+ "muted": {
+ "type": "boolean"
+ },
+ "playbackRate": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "reframe": {
+ "additionalProperties": {},
+ "properties": {
+ "segments": {
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "bias": {
+ "additionalProperties": {},
+ "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.",
+ "properties": {
+ "x": {
+ "description": "Horizontal nudge, source-normalized (+ = right).",
+ "maximum": 0.3,
+ "minimum": -0.3,
+ "type": "number"
+ },
+ "y": {
+ "description": "Vertical nudge, source-normalized (+ = down).",
+ "maximum": 0.3,
+ "minimum": -0.3,
+ "type": "number"
+ }
+ },
+ "required": [
+ "x",
+ "y"
+ ],
+ "type": "object"
+ },
+ "ease": {
+ "additionalProperties": {},
+ "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.",
+ "properties": {
+ "in": {
+ "description": "Ease-IN ramp DURATION in seconds at the segment START.",
+ "minimum": 0,
+ "type": "number"
+ },
+ "out": {
+ "description": "Ease-OUT ramp DURATION in seconds at the segment END.",
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "in",
+ "out"
+ ],
+ "type": "object"
+ },
+ "endSec": {
+ "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.",
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "focus": {
+ "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.",
+ "oneOf": [
+ {
+ "additionalProperties": {},
+ "properties": {
+ "mode": {
+ "const": "frame-center",
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "mode": {
+ "const": "point",
+ "type": "string"
+ },
+ "x": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "mode",
+ "x",
+ "y"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "faceId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "mode": {
+ "const": "face",
+ "type": "string"
+ },
+ "shotScale": {
+ "enum": [
+ "close",
+ "standard",
+ "wide"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode",
+ "faceId"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "mode": {
+ "const": "all-faces",
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "mode": {
+ "const": "active-speaker",
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "intent": {
+ "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.",
+ "type": "string"
+ },
+ "startSec": {
+ "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.",
+ "minimum": 0,
+ "type": "number"
+ },
+ "zoom": {
+ "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.",
+ "maximum": 1,
+ "minimum": 0.1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "startSec",
+ "endSec",
+ "focus"
+ ],
+ "type": "object"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "segments"
+ ],
+ "type": "object"
+ },
+ "sync": {
+ "enum": [
+ "video",
+ "independent"
+ ],
+ "type": "string"
+ },
+ "trim": {
+ "additionalProperties": {},
+ "properties": {
+ "end": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "start": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+ },
+ "volume": {
+ "maximum": 4,
+ "minimum": 0,
+ "type": "number"
+ },
+ "volumeDb": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "kind",
+ "mediaId"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "componentId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "execution": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "assets": {
+ "additionalProperties": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "componentId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "mediaBindings": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "params": {
+ "additionalProperties": {
+ "$ref": "#/$defs/__schema0"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "seed": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "sourceVersionId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "version": {
+ "const": 3,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "componentId",
+ "sourceVersionId",
+ "params",
+ "seed"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "assets": {
+ "additionalProperties": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "componentId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "mediaBindings": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "params": {
+ "additionalProperties": {
+ "$ref": "#/$defs/__schema0"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "seed": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "sourceVersionId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "version": {
+ "const": 4,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "componentId",
+ "sourceVersionId",
+ "params",
+ "seed"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "component",
+ "type": "string"
+ },
+ "placement": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "clip",
+ "type": "string"
+ },
+ "version": {
+ "const": 3,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "content-slots",
+ "type": "string"
+ },
+ "slots": {
+ "additionalProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "ownership": {
+ "enum": [
+ "reference",
+ "exclusive"
+ ],
+ "type": "string"
+ },
+ "targetClipIds": {
+ "items": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "targetClipIds",
+ "ownership"
+ ],
+ "type": "object"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "version": {
+ "const": 3,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "kind",
+ "slots"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "props": {
+ "additionalProperties": {},
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "retired": {
+ "additionalProperties": {},
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "zPlane": {
+ "enum": [
+ "front",
+ "behind-subject"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "componentId",
+ "props"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "anchor": {
+ "additionalProperties": {},
+ "properties": {
+ "space": {
+ "const": "scene",
+ "type": "string"
+ },
+ "x": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "y": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "space",
+ "x",
+ "y"
+ ],
+ "type": "object"
+ },
+ "kind": {
+ "const": "overlay",
+ "type": "string"
+ },
+ "parallax": {
+ "maximum": 0.3,
+ "minimum": -0.3,
+ "type": "number"
+ },
+ "params": {
+ "additionalProperties": {},
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "primitiveId": {
+ "minLength": 1,
+ "pattern": "^(?!custom$)",
+ "type": "string"
+ },
+ "zPlane": {
+ "enum": [
+ "front",
+ "behind-subject"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "primitiveId",
+ "params"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "component": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "assets": {
+ "additionalProperties": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "componentId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "mediaBindings": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "params": {
+ "additionalProperties": {
+ "$ref": "#/$defs/__schema0"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "seed": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "sourceVersionId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "version": {
+ "const": 3,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "componentId",
+ "sourceVersionId",
+ "params",
+ "seed"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "assets": {
+ "additionalProperties": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "componentId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "mediaBindings": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "params": {
+ "additionalProperties": {
+ "$ref": "#/$defs/__schema0"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "seed": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "sourceVersionId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "version": {
+ "const": 4,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "componentId",
+ "sourceVersionId",
+ "params",
+ "seed"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "kind": {
+ "const": "effect",
+ "type": "string"
+ },
+ "params": {
+ "additionalProperties": {},
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "primitiveId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "targetTrackIds": {
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "wrapperOrder": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "html": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "card",
+ "type": "string"
+ },
+ "tokens": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "zPlane": {
+ "const": "front",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "html"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "compositionId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "composition",
+ "type": "string"
+ },
+ "trim": {
+ "additionalProperties": {},
+ "properties": {
+ "end": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "start": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "compositionId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "startTime": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "transitionIn": {
+ "additionalProperties": {},
+ "properties": {
+ "component": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "assets": {
+ "additionalProperties": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "componentId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "mediaBindings": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "params": {
+ "additionalProperties": {
+ "$ref": "#/$defs/__schema0"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "seed": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "sourceVersionId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "version": {
+ "const": 3,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "componentId",
+ "sourceVersionId",
+ "params",
+ "seed"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "assets": {
+ "additionalProperties": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "componentId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "mediaBindings": {
+ "additionalProperties": {
+ "items": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "properties": {},
+ "propertyNames": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "params": {
+ "additionalProperties": {
+ "$ref": "#/$defs/__schema0"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "seed": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "sourceVersionId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "version": {
+ "const": 4,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "componentId",
+ "sourceVersionId",
+ "params",
+ "seed"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "duration": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "fromClipId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "handlePolicy": {
+ "const": "outgoing-overrun-at-cut-v1",
+ "type": "string"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "toClipId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "duration"
+ ],
+ "type": "object"
+ },
+ "tweens": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "duration": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "keyframes": {
+ "additionalProperties": false,
+ "properties": {
+ "easeEach": {
+ "const": "none",
+ "type": "string"
+ },
+ "format": {
+ "const": "percentage",
+ "type": "string"
+ },
+ "keyframes": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "ease": {
+ "type": "string"
+ },
+ "percentage": {
+ "type": "number"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "percentage",
+ "properties"
+ ],
+ "type": "object"
+ },
+ "minItems": 2,
+ "type": "array"
+ }
+ },
+ "required": [
+ "format",
+ "easeEach",
+ "keyframes"
+ ],
+ "type": "object"
+ },
+ "position": {
+ "type": "number"
+ },
+ "propertyGroup": {
+ "enum": [
+ "visual",
+ "scale",
+ "rotation",
+ "position"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "propertyGroup",
+ "position",
+ "duration",
+ "keyframes"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "startTime",
+ "duration",
+ "source"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "duration": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "startTime": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "id",
+ "startTime",
+ "duration"
+ ],
+ "type": "object"
+ }
+]