Project Data

PropTypeRequiredExampleValue RangeDescription
typestringfalsevideovideo | animationThe type of the project (e.g., "video" or "animation").
widthnumbertrue1920720 - 3840The width of the project canvas. Used as the base resolution for scaling.
heightnumbertrue1080720 - 3840The height of the project canvas. Used as the base resolution for scaling.
fillstring | objecttrue#000000-The background of the project canvas. Can be a hex color string (e.g., "#000000") or a gradient object with type "linear" or "radial", colorStops array, and start/end coordinates.
durationnumbertrue10> 0The total duration of the project, in seconds.
viewarraytrue--An array of elements representing the visual content in the project. This array cannot be empty.
audioarrayfalse--An array of audio tracks used in the project.
effectarrayfalse--An array of visual effects applied to the canvas.
transitionarrayfalse--An array of transitions applied between different views.
remoteFontsarrayfalse--An array of remote font definitions that can be used in text and caption elements.

Remote Fonts

The remoteFonts field allows you to include custom web fonts in your project. Each font definition must include a direct link to the font file (HTTPS only) and font metadata.

PropTypeRequiredExampleValue RangeDescription
familystringtrueMy Custom Font-The font family name that will be used to reference this font in text elements.
urlstringtruehttps://example.com/fonts/mycustomfont.woff2-Direct HTTPS URL to the font file. Must be a public accessible link.
weightstringfalse400100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900The font weight. Common values are 100-900.
stylestringfalsenormalnormal, italicThe font style.
formatHintstringfalsewoff2woff2, woff, opentype, truetypeThe format of the font file. This helps browsers optimize font loading.
unicodeRangestringfalseU+0000-00FF-Optional Unicode range to limit which characters this font applies to.

Important:

  • Font URLs must use HTTPS protocol for security
  • The font file must be publicly accessible
  • Supported formats: WOFF2 (recommended), WOFF, OpenType, TrueType
  • You can define multiple variants of the same font family with different weights and styles

Fill Gradient Object

The fill field can accept a gradient object with the following structure:

PropTypeRequiredExampleValue RangeDescription
typestringtrue-linear, radialThe type of gradient.
colorStopsarraytrue--An array of color stop objects defining colors and their positions along the gradient.
startobjecttrue--The starting coordinate of the gradient as an object with x and y properties.
endobjecttrue--The ending coordinate of the gradient as an object with x and y properties.

Color Stop Object

PropTypeRequiredExampleValue RangeDescription
colorstringtrue--The color value at this stop, in hex format.
offsetnumbertrue-0 - 1The position of this color stop along the gradient (0.0 to 1.0).
projectData.json
1{ 2 "type": "", 3 "width": 1920, 4 "height": 1080, 5 "fill": "#000000", 6 "view": [ 7 { 8 "id": "8ecf7475-2c6c-47f9-827b-a09c7913f4c0", 9 "type": "Image", 10 "start": 0, 11 "duration": 5, 12 "trackIndex": 0, 13 "x": -570.0335392757963, 14 "y": -170.90659033307685, 15 "blendMode": "normal", 16 "anchorX": 1302, 17 "anchorY": 2312, 18 "rotation": 0, 19 "scaleX": 0.23356401384083045, 20 "scaleY": 0.23356401384083045, 21 "alpha": 1, 22 "skewX": 0, 23 "skewY": 0, 24 "keyframes": [], 25 "externalUrl": "https://images.pexels.com/photos/30465303/pexels-photo-30465303.jpeg", 26 "ext": "jpeg" 27 } 28 ], 29 "audio": [], 30 "effect": [], 31 "transition": [], 32 "remoteFonts": [ 33 { 34 "family": "My Custom Font", 35 "url": "https://example.com/fonts/mycustomfont.woff2", 36 "weight": "400", 37 "style": "normal", 38 "formatHint": "woff2" 39 }, 40 { 41 "family": "My Custom Font", 42 "url": "https://example.com/fonts/mycustomfont-bold.woff2", 43 "weight": "700", 44 "style": "normal", 45 "formatHint": "woff2" 46 } 47 ], 48 "version": 0, 49 "duration": 5 50 } 51