@imgly/codesign-mcp 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (973) hide show
  1. package/README.md +51 -1
  2. package/assets/docs/guide/SKILL.md +45 -53
  3. package/assets/docs/guide/animation/create/base.md +234 -243
  4. package/assets/docs/guide/animation/create/text.md +250 -231
  5. package/assets/docs/guide/animation/create.md +197 -231
  6. package/assets/docs/guide/animation/edit.md +196 -271
  7. package/assets/docs/guide/animation/types.md +182 -185
  8. package/assets/docs/guide/animation.md +9 -6
  9. package/assets/docs/guide/api/AssetAPI.md +7 -53
  10. package/assets/docs/guide/api/BlockAPI.md +725 -648
  11. package/assets/docs/guide/api/CreativeEngine.md +7 -16
  12. package/assets/docs/guide/api/EditorAPI.md +32 -93
  13. package/assets/docs/guide/api/EventAPI.md +1 -2
  14. package/assets/docs/guide/api/SceneAPI.md +47 -98
  15. package/assets/docs/guide/api/VariableAPI.md +1 -4
  16. package/assets/docs/guide/api/node/classes/assetapi.md +1090 -0
  17. package/assets/docs/guide/api/node/classes/blockapi.md +12965 -0
  18. package/assets/docs/guide/api/node/classes/creativeengine.md +319 -0
  19. package/assets/docs/guide/api/node/classes/editorapi.md +3417 -0
  20. package/assets/docs/guide/api/node/classes/engineactions.md +319 -0
  21. package/assets/docs/guide/api/node/classes/eventapi.md +56 -0
  22. package/assets/docs/guide/api/node/classes/sceneapi.md +1370 -0
  23. package/assets/docs/guide/api/node/classes/variableapi.md +143 -0
  24. package/assets/docs/guide/api/node/enumerations/compressionformat.md +23 -0
  25. package/assets/docs/guide/api/node/enumerations/compressionlevel.md +24 -0
  26. package/assets/docs/guide/api/node/functions/iscmykcolor.md +30 -0
  27. package/assets/docs/guide/api/node/functions/isrgbacolor.md +30 -0
  28. package/assets/docs/guide/api/node/functions/isspotcolor.md +30 -0
  29. package/assets/docs/guide/api/node/interfaces/addvideooptions.md +31 -0
  30. package/assets/docs/guide/api/node/interfaces/applyassetoptions.md +31 -0
  31. package/assets/docs/guide/api/node/interfaces/asset.md +30 -0
  32. package/assets/docs/guide/api/node/interfaces/assetbooleanproperty.md +25 -0
  33. package/assets/docs/guide/api/node/interfaces/assetcmykcolor.md +26 -0
  34. package/assets/docs/guide/api/node/interfaces/assetcolorproperty.md +25 -0
  35. package/assets/docs/guide/api/node/interfaces/assetcontentaspectratio.md +23 -0
  36. package/assets/docs/guide/api/node/interfaces/assetdefinition.md +31 -0
  37. package/assets/docs/guide/api/node/interfaces/assetenumproperty.md +26 -0
  38. package/assets/docs/guide/api/node/interfaces/assetfixedaspectratio.md +24 -0
  39. package/assets/docs/guide/api/node/interfaces/assetfixedsize.md +25 -0
  40. package/assets/docs/guide/api/node/interfaces/assetfreeaspectratio.md +22 -0
  41. package/assets/docs/guide/api/node/interfaces/assetnumberproperty.md +28 -0
  42. package/assets/docs/guide/api/node/interfaces/assetpayload.md +27 -0
  43. package/assets/docs/guide/api/node/interfaces/assetquerydata.md +32 -0
  44. package/assets/docs/guide/api/node/interfaces/assetresult.md +46 -0
  45. package/assets/docs/guide/api/node/interfaces/assetrgbcolor.md +25 -0
  46. package/assets/docs/guide/api/node/interfaces/assetsource.md +111 -0
  47. package/assets/docs/guide/api/node/interfaces/assetspotcolor.md +25 -0
  48. package/assets/docs/guide/api/node/interfaces/assetsqueryresult.md +31 -0
  49. package/assets/docs/guide/api/node/interfaces/assetstringproperty.md +25 -0
  50. package/assets/docs/guide/api/node/interfaces/assetstylepreset.md +39 -0
  51. package/assets/docs/guide/api/node/interfaces/assetstylepresetanimation.md +23 -0
  52. package/assets/docs/guide/api/node/interfaces/audiotrackinfo.md +32 -0
  53. package/assets/docs/guide/api/node/interfaces/blockevent.md +26 -0
  54. package/assets/docs/guide/api/node/interfaces/blockstateerror.md +26 -0
  55. package/assets/docs/guide/api/node/interfaces/blockstatepending.md +26 -0
  56. package/assets/docs/guide/api/node/interfaces/blockstateready.md +25 -0
  57. package/assets/docs/guide/api/node/interfaces/buffer.md +26 -0
  58. package/assets/docs/guide/api/node/interfaces/characterinkbox.md +29 -0
  59. package/assets/docs/guide/api/node/interfaces/cmykcolor.md +34 -0
  60. package/assets/docs/guide/api/node/interfaces/completeassetresult.md +46 -0
  61. package/assets/docs/guide/api/node/interfaces/configuration.md +38 -0
  62. package/assets/docs/guide/api/node/interfaces/dominantcolor.md +25 -0
  63. package/assets/docs/guide/api/node/interfaces/dominantcolorsoptions.md +23 -0
  64. package/assets/docs/guide/api/node/interfaces/engineactioninfo.md +24 -0
  65. package/assets/docs/guide/api/node/interfaces/engineactionsregistry.md +18 -0
  66. package/assets/docs/guide/api/node/interfaces/engineplugin.md +30 -0
  67. package/assets/docs/guide/api/node/interfaces/font.md +27 -0
  68. package/assets/docs/guide/api/node/interfaces/fontmetrics.md +32 -0
  69. package/assets/docs/guide/api/node/interfaces/gradientcolorstop.md +28 -0
  70. package/assets/docs/guide/api/node/interfaces/logger.md +39 -0
  71. package/assets/docs/guide/api/node/interfaces/pageduration.md +23 -0
  72. package/assets/docs/guide/api/node/interfaces/range.md +23 -0
  73. package/assets/docs/guide/api/node/interfaces/rgbacolor.md +32 -0
  74. package/assets/docs/guide/api/node/interfaces/rgbcolor.md +30 -0
  75. package/assets/docs/guide/api/node/interfaces/settings.md +126 -0
  76. package/assets/docs/guide/api/node/interfaces/size2.md +21 -0
  77. package/assets/docs/guide/api/node/interfaces/source.md +24 -0
  78. package/assets/docs/guide/api/node/interfaces/spotcolor.md +30 -0
  79. package/assets/docs/guide/api/node/interfaces/textdecorationconfig.md +31 -0
  80. package/assets/docs/guide/api/node/interfaces/textfontsizeoptions.md +24 -0
  81. package/assets/docs/guide/api/node/interfaces/textruninfo.md +33 -0
  82. package/assets/docs/guide/api/node/interfaces/transientresource.md +26 -0
  83. package/assets/docs/guide/api/node/interfaces/typeface.md +23 -0
  84. package/assets/docs/guide/api/node/interfaces/vec2.md +21 -0
  85. package/assets/docs/guide/api/node/interfaces/vec3.md +22 -0
  86. package/assets/docs/guide/api/node/type-aliases/addimageoptions.md +36 -0
  87. package/assets/docs/guide/api/node/type-aliases/animationbaselinedirection.md +18 -0
  88. package/assets/docs/guide/api/node/type-aliases/animationblockswipetextdirection.md +18 -0
  89. package/assets/docs/guide/api/node/type-aliases/animationeasing.md +18 -0
  90. package/assets/docs/guide/api/node/type-aliases/animationentry.md +28 -0
  91. package/assets/docs/guide/api/node/type-aliases/animationgrowdirection.md +18 -0
  92. package/assets/docs/guide/api/node/type-aliases/animationjumploopdirection.md +18 -0
  93. package/assets/docs/guide/api/node/type-aliases/animationkenburnsdirection.md +18 -0
  94. package/assets/docs/guide/api/node/type-aliases/animationmergetextdirection.md +18 -0
  95. package/assets/docs/guide/api/node/type-aliases/animationoptions.md +28 -0
  96. package/assets/docs/guide/api/node/type-aliases/animationspindirection.md +18 -0
  97. package/assets/docs/guide/api/node/type-aliases/animationspinloopdirection.md +18 -0
  98. package/assets/docs/guide/api/node/type-aliases/animationtype.md +24 -0
  99. package/assets/docs/guide/api/node/type-aliases/animationtypelonghand.md +21 -0
  100. package/assets/docs/guide/api/node/type-aliases/animationtypeshorthand.md +18 -0
  101. package/assets/docs/guide/api/node/type-aliases/animationtypewritertextwritingstyle.md +18 -0
  102. package/assets/docs/guide/api/node/type-aliases/animationwipedirection.md +18 -0
  103. package/assets/docs/guide/api/node/type-aliases/applicationmimetype.md +20 -0
  104. package/assets/docs/guide/api/node/type-aliases/assetcolor.md +23 -0
  105. package/assets/docs/guide/api/node/type-aliases/assetfilter.md +47 -0
  106. package/assets/docs/guide/api/node/type-aliases/assetgroups.md +25 -0
  107. package/assets/docs/guide/api/node/type-aliases/assetmetadata.md +42 -0
  108. package/assets/docs/guide/api/node/type-aliases/assetproperty.md +25 -0
  109. package/assets/docs/guide/api/node/type-aliases/assetpropertyfilter.md +41 -0
  110. package/assets/docs/guide/api/node/type-aliases/assetpropertypath.md +26 -0
  111. package/assets/docs/guide/api/node/type-aliases/assetstylepresetanimationproperties.md +34 -0
  112. package/assets/docs/guide/api/node/type-aliases/assetstylepresetproperties.md +29 -0
  113. package/assets/docs/guide/api/node/type-aliases/assetstylepresetpropertyvalue.md +29 -0
  114. package/assets/docs/guide/api/node/type-aliases/assetstylepresetscalableproperty.md +28 -0
  115. package/assets/docs/guide/api/node/type-aliases/assettransformpreset.md +24 -0
  116. package/assets/docs/guide/api/node/type-aliases/asyncuriresolver.md +36 -0
  117. package/assets/docs/guide/api/node/type-aliases/audioexportoptions.md +43 -0
  118. package/assets/docs/guide/api/node/type-aliases/audiofromvideooptions.md +27 -0
  119. package/assets/docs/guide/api/node/type-aliases/audiomimetype.md +20 -0
  120. package/assets/docs/guide/api/node/type-aliases/blendmode.md +18 -0
  121. package/assets/docs/guide/api/node/type-aliases/blockenumtype.md +63 -0
  122. package/assets/docs/guide/api/node/type-aliases/blockstate.md +26 -0
  123. package/assets/docs/guide/api/node/type-aliases/blurtype.md +24 -0
  124. package/assets/docs/guide/api/node/type-aliases/blurtypelonghand.md +21 -0
  125. package/assets/docs/guide/api/node/type-aliases/blurtypeshorthand.md +18 -0
  126. package/assets/docs/guide/api/node/type-aliases/booleanoperation.md +27 -0
  127. package/assets/docs/guide/api/node/type-aliases/boolpropertyname.md +79 -0
  128. package/assets/docs/guide/api/node/type-aliases/cameraclampingovershootmode.md +18 -0
  129. package/assets/docs/guide/api/node/type-aliases/captionhorizontalalignment.md +18 -0
  130. package/assets/docs/guide/api/node/type-aliases/captionverticalalignment.md +18 -0
  131. package/assets/docs/guide/api/node/type-aliases/cmyk.md +23 -0
  132. package/assets/docs/guide/api/node/type-aliases/color.md +23 -0
  133. package/assets/docs/guide/api/node/type-aliases/colorpickercolormode.md +18 -0
  134. package/assets/docs/guide/api/node/type-aliases/colorpropertyname.md +31 -0
  135. package/assets/docs/guide/api/node/type-aliases/colorspace.md +20 -0
  136. package/assets/docs/guide/api/node/type-aliases/contentfillmode.md +18 -0
  137. package/assets/docs/guide/api/node/type-aliases/controlgizmomovehandlevisibility.md +18 -0
  138. package/assets/docs/guide/api/node/type-aliases/controlgizmoresizehandlesvisibility.md +18 -0
  139. package/assets/docs/guide/api/node/type-aliases/controlgizmorotatehandlesvisibility.md +18 -0
  140. package/assets/docs/guide/api/node/type-aliases/controlgizmoscalehandlesvisibility.md +18 -0
  141. package/assets/docs/guide/api/node/type-aliases/createsceneoptions.md +30 -0
  142. package/assets/docs/guide/api/node/type-aliases/cutoutoperation.md +20 -0
  143. package/assets/docs/guide/api/node/type-aliases/cutouttype.md +18 -0
  144. package/assets/docs/guide/api/node/type-aliases/defaultassetsourceid.md +37 -0
  145. package/assets/docs/guide/api/node/type-aliases/demoassetsourceid.md +33 -0
  146. package/assets/docs/guide/api/node/type-aliases/designblockid.md +20 -0
  147. package/assets/docs/guide/api/node/type-aliases/designblocktype.md +24 -0
  148. package/assets/docs/guide/api/node/type-aliases/designblocktypelonghand.md +21 -0
  149. package/assets/docs/guide/api/node/type-aliases/designblocktypeshorthand.md +18 -0
  150. package/assets/docs/guide/api/node/type-aliases/designunit.md +18 -0
  151. package/assets/docs/guide/api/node/type-aliases/doubleclickselectionmode.md +18 -0
  152. package/assets/docs/guide/api/node/type-aliases/doublepropertyname.md +26 -0
  153. package/assets/docs/guide/api/node/type-aliases/dropshadowoptions.md +32 -0
  154. package/assets/docs/guide/api/node/type-aliases/editmode.md +27 -0
  155. package/assets/docs/guide/api/node/type-aliases/effecttype.md +24 -0
  156. package/assets/docs/guide/api/node/type-aliases/effecttypelonghand.md +21 -0
  157. package/assets/docs/guide/api/node/type-aliases/effecttypeshorthand.md +18 -0
  158. package/assets/docs/guide/api/node/type-aliases/engineactionid.md +20 -0
  159. package/assets/docs/guide/api/node/type-aliases/enginecustomactionfunction.md +30 -0
  160. package/assets/docs/guide/api/node/type-aliases/engineplugincontext.md +30 -0
  161. package/assets/docs/guide/api/node/type-aliases/enumpropertyname.md +59 -0
  162. package/assets/docs/guide/api/node/type-aliases/enumvalues.md +59 -0
  163. package/assets/docs/guide/api/node/type-aliases/exportoptions.md +57 -0
  164. package/assets/docs/guide/api/node/type-aliases/fillpixelstreamorientation.md +18 -0
  165. package/assets/docs/guide/api/node/type-aliases/filltype.md +24 -0
  166. package/assets/docs/guide/api/node/type-aliases/filltypelonghand.md +21 -0
  167. package/assets/docs/guide/api/node/type-aliases/filltypeshorthand.md +18 -0
  168. package/assets/docs/guide/api/node/type-aliases/floatpropertyname.md +184 -0
  169. package/assets/docs/guide/api/node/type-aliases/fontsizeunit.md +23 -0
  170. package/assets/docs/guide/api/node/type-aliases/fontstyle.md +20 -0
  171. package/assets/docs/guide/api/node/type-aliases/fontweight.md +30 -0
  172. package/assets/docs/guide/api/node/type-aliases/gradientstoprgba.md +23 -0
  173. package/assets/docs/guide/api/node/type-aliases/heightmode.md +18 -0
  174. package/assets/docs/guide/api/node/type-aliases/hexcolorstring.md +20 -0
  175. package/assets/docs/guide/api/node/type-aliases/historyid.md +20 -0
  176. package/assets/docs/guide/api/node/type-aliases/historyupdate.md +25 -0
  177. package/assets/docs/guide/api/node/type-aliases/horizontalblockalignment.md +18 -0
  178. package/assets/docs/guide/api/node/type-aliases/horizontalcontentfillalignment.md +18 -0
  179. package/assets/docs/guide/api/node/type-aliases/horizontaltextalignment.md +18 -0
  180. package/assets/docs/guide/api/node/type-aliases/imagemimetype.md +25 -0
  181. package/assets/docs/guide/api/node/type-aliases/intpropertyname.md +26 -0
  182. package/assets/docs/guide/api/node/type-aliases/liststyle.md +20 -0
  183. package/assets/docs/guide/api/node/type-aliases/locale.md +20 -0
  184. package/assets/docs/guide/api/node/type-aliases/loglevel.md +24 -0
  185. package/assets/docs/guide/api/node/type-aliases/mimetype.md +20 -0
  186. package/assets/docs/guide/api/node/type-aliases/objecttype.md +24 -0
  187. package/assets/docs/guide/api/node/type-aliases/objecttypelonghand.md +27 -0
  188. package/assets/docs/guide/api/node/type-aliases/objecttypeshorthand.md +27 -0
  189. package/assets/docs/guide/api/node/type-aliases/optionalprefix.md +24 -0
  190. package/assets/docs/guide/api/node/type-aliases/pageguidessource.md +18 -0
  191. package/assets/docs/guide/api/node/type-aliases/palettecolor.md +24 -0
  192. package/assets/docs/guide/api/node/type-aliases/positionmode.md +20 -0
  193. package/assets/docs/guide/api/node/type-aliases/positionxmode.md +18 -0
  194. package/assets/docs/guide/api/node/type-aliases/positionymode.md +18 -0
  195. package/assets/docs/guide/api/node/type-aliases/propertytype.md +31 -0
  196. package/assets/docs/guide/api/node/type-aliases/rgba.md +23 -0
  197. package/assets/docs/guide/api/node/type-aliases/rolestring.md +23 -0
  198. package/assets/docs/guide/api/node/type-aliases/scenefontsizeunit.md +18 -0
  199. package/assets/docs/guide/api/node/type-aliases/scenelayout.md +18 -0
  200. package/assets/docs/guide/api/node/type-aliases/scenemode.md +18 -0
  201. package/assets/docs/guide/api/node/type-aliases/scope.md +50 -0
  202. package/assets/docs/guide/api/node/type-aliases/settingboolpropertyname.md +62 -0
  203. package/assets/docs/guide/api/node/type-aliases/settingcolorpropertyname.md +38 -0
  204. package/assets/docs/guide/api/node/type-aliases/settingenumpropertyname.md +29 -0
  205. package/assets/docs/guide/api/node/type-aliases/settingenumtype.md +33 -0
  206. package/assets/docs/guide/api/node/type-aliases/settingenumvalues.md +29 -0
  207. package/assets/docs/guide/api/node/type-aliases/settingfloatpropertyname.md +25 -0
  208. package/assets/docs/guide/api/node/type-aliases/settingintpropertyname.md +18 -0
  209. package/assets/docs/guide/api/node/type-aliases/settingkey.md +20 -0
  210. package/assets/docs/guide/api/node/type-aliases/settingsbool.md +18 -0
  211. package/assets/docs/guide/api/node/type-aliases/settingscolor.md +20 -0
  212. package/assets/docs/guide/api/node/type-aliases/settingscolorrgba.md +24 -0
  213. package/assets/docs/guide/api/node/type-aliases/settingsenum.md +18 -0
  214. package/assets/docs/guide/api/node/type-aliases/settingsfloat.md +18 -0
  215. package/assets/docs/guide/api/node/type-aliases/settingsint.md +18 -0
  216. package/assets/docs/guide/api/node/type-aliases/settingsstring.md +18 -0
  217. package/assets/docs/guide/api/node/type-aliases/settingstringpropertyname.md +28 -0
  218. package/assets/docs/guide/api/node/type-aliases/settingtype.md +20 -0
  219. package/assets/docs/guide/api/node/type-aliases/settingvaluetype.md +26 -0
  220. package/assets/docs/guide/api/node/type-aliases/shapetype.md +24 -0
  221. package/assets/docs/guide/api/node/type-aliases/shapetypelonghand.md +21 -0
  222. package/assets/docs/guide/api/node/type-aliases/shapetypeshorthand.md +18 -0
  223. package/assets/docs/guide/api/node/type-aliases/shapevectorpathfillrule.md +18 -0
  224. package/assets/docs/guide/api/node/type-aliases/sizemode.md +20 -0
  225. package/assets/docs/guide/api/node/type-aliases/sortingorder.md +21 -0
  226. package/assets/docs/guide/api/node/type-aliases/sourcesetpropertyname.md +18 -0
  227. package/assets/docs/guide/api/node/type-aliases/splitoptions.md +28 -0
  228. package/assets/docs/guide/api/node/type-aliases/stringpropertyname.md +43 -0
  229. package/assets/docs/guide/api/node/type-aliases/strokecap.md +18 -0
  230. package/assets/docs/guide/api/node/type-aliases/strokecornergeometry.md +18 -0
  231. package/assets/docs/guide/api/node/type-aliases/strokedashendcap.md +18 -0
  232. package/assets/docs/guide/api/node/type-aliases/strokedashstartcap.md +18 -0
  233. package/assets/docs/guide/api/node/type-aliases/strokeendcap.md +18 -0
  234. package/assets/docs/guide/api/node/type-aliases/strokeposition.md +18 -0
  235. package/assets/docs/guide/api/node/type-aliases/strokestartcap.md +18 -0
  236. package/assets/docs/guide/api/node/type-aliases/strokestyle.md +18 -0
  237. package/assets/docs/guide/api/node/type-aliases/syncuriresolver.md +31 -0
  238. package/assets/docs/guide/api/node/type-aliases/textanimationwritingstyle.md +18 -0
  239. package/assets/docs/guide/api/node/type-aliases/textcase.md +20 -0
  240. package/assets/docs/guide/api/node/type-aliases/textdecorationline.md +27 -0
  241. package/assets/docs/guide/api/node/type-aliases/textdecorationstyle.md +26 -0
  242. package/assets/docs/guide/api/node/type-aliases/textverticalalignment.md +18 -0
  243. package/assets/docs/guide/api/node/type-aliases/timelinetrackvisibility.md +18 -0
  244. package/assets/docs/guide/api/node/type-aliases/touchpinchaction.md +18 -0
  245. package/assets/docs/guide/api/node/type-aliases/touchrotateaction.md +18 -0
  246. package/assets/docs/guide/api/node/type-aliases/typefacedefinition.md +41 -0
  247. package/assets/docs/guide/api/node/type-aliases/verticalblockalignment.md +18 -0
  248. package/assets/docs/guide/api/node/type-aliases/verticalcontentfillalignment.md +18 -0
  249. package/assets/docs/guide/api/node/type-aliases/videoexportoptions.md +54 -0
  250. package/assets/docs/guide/api/node/type-aliases/videomimetype.md +20 -0
  251. package/assets/docs/guide/api/node/type-aliases/widthmode.md +18 -0
  252. package/assets/docs/guide/api/node/type-aliases/xywh.md +23 -0
  253. package/assets/docs/guide/api/node/type-aliases/zoomautofitaxis.md +20 -0
  254. package/assets/docs/guide/api/node/type-aliases/zoomoptions.md +27 -0
  255. package/assets/docs/guide/api/node/variables/animation_types.md +21 -0
  256. package/assets/docs/guide/api/node/variables/animationbaselinedirectionvalues.md +18 -0
  257. package/assets/docs/guide/api/node/variables/animationblockswipetextdirectionvalues.md +18 -0
  258. package/assets/docs/guide/api/node/variables/animationeasingvalues.md +18 -0
  259. package/assets/docs/guide/api/node/variables/animationgrowdirectionvalues.md +18 -0
  260. package/assets/docs/guide/api/node/variables/animationjumploopdirectionvalues.md +18 -0
  261. package/assets/docs/guide/api/node/variables/animationkenburnsdirectionvalues.md +18 -0
  262. package/assets/docs/guide/api/node/variables/animationmergetextdirectionvalues.md +18 -0
  263. package/assets/docs/guide/api/node/variables/animationspindirectionvalues.md +18 -0
  264. package/assets/docs/guide/api/node/variables/animationspinloopdirectionvalues.md +18 -0
  265. package/assets/docs/guide/api/node/variables/animationtypewritertextwritingstylevalues.md +18 -0
  266. package/assets/docs/guide/api/node/variables/animationwipedirectionvalues.md +18 -0
  267. package/assets/docs/guide/api/node/variables/blendmodevalues.md +18 -0
  268. package/assets/docs/guide/api/node/variables/blur_types.md +21 -0
  269. package/assets/docs/guide/api/node/variables/cameraclampingovershootmodevalues.md +18 -0
  270. package/assets/docs/guide/api/node/variables/captionhorizontalalignmentvalues.md +18 -0
  271. package/assets/docs/guide/api/node/variables/captionverticalalignmentvalues.md +18 -0
  272. package/assets/docs/guide/api/node/variables/colorpickercolormodevalues.md +18 -0
  273. package/assets/docs/guide/api/node/variables/contentfillmodevalues.md +18 -0
  274. package/assets/docs/guide/api/node/variables/controlgizmomovehandlevisibilityvalues.md +18 -0
  275. package/assets/docs/guide/api/node/variables/controlgizmoresizehandlesvisibilityvalues.md +18 -0
  276. package/assets/docs/guide/api/node/variables/controlgizmorotatehandlesvisibilityvalues.md +18 -0
  277. package/assets/docs/guide/api/node/variables/controlgizmoscalehandlesvisibilityvalues.md +18 -0
  278. package/assets/docs/guide/api/node/variables/cutouttypevalues.md +18 -0
  279. package/assets/docs/guide/api/node/variables/design_block_types.md +21 -0
  280. package/assets/docs/guide/api/node/variables/doubleclickselectionmodevalues.md +18 -0
  281. package/assets/docs/guide/api/node/variables/effect_types.md +21 -0
  282. package/assets/docs/guide/api/node/variables/fill_types.md +21 -0
  283. package/assets/docs/guide/api/node/variables/fillpixelstreamorientationvalues.md +18 -0
  284. package/assets/docs/guide/api/node/variables/heightmodevalues.md +18 -0
  285. package/assets/docs/guide/api/node/variables/horizontalcontentfillalignmentvalues.md +18 -0
  286. package/assets/docs/guide/api/node/variables/loglevel.md +37 -0
  287. package/assets/docs/guide/api/node/variables/mimetype.md +41 -0
  288. package/assets/docs/guide/api/node/variables/pageguidessourcevalues.md +18 -0
  289. package/assets/docs/guide/api/node/variables/positionxmodevalues.md +18 -0
  290. package/assets/docs/guide/api/node/variables/positionymodevalues.md +18 -0
  291. package/assets/docs/guide/api/node/variables/scenedesignunitvalues.md +18 -0
  292. package/assets/docs/guide/api/node/variables/scenefontsizeunitvalues.md +18 -0
  293. package/assets/docs/guide/api/node/variables/scenelayoutvalues.md +18 -0
  294. package/assets/docs/guide/api/node/variables/scenemodevalues.md +18 -0
  295. package/assets/docs/guide/api/node/variables/shape_types.md +21 -0
  296. package/assets/docs/guide/api/node/variables/shapevectorpathfillrulevalues.md +18 -0
  297. package/assets/docs/guide/api/node/variables/strokecapvalues.md +18 -0
  298. package/assets/docs/guide/api/node/variables/strokecornergeometryvalues.md +18 -0
  299. package/assets/docs/guide/api/node/variables/strokedashendcapvalues.md +18 -0
  300. package/assets/docs/guide/api/node/variables/strokedashstartcapvalues.md +18 -0
  301. package/assets/docs/guide/api/node/variables/strokeendcapvalues.md +18 -0
  302. package/assets/docs/guide/api/node/variables/strokepositionvalues.md +18 -0
  303. package/assets/docs/guide/api/node/variables/strokestartcapvalues.md +18 -0
  304. package/assets/docs/guide/api/node/variables/strokestylevalues.md +18 -0
  305. package/assets/docs/guide/api/node/variables/textanimationwritingstylevalues.md +18 -0
  306. package/assets/docs/guide/api/node/variables/texthorizontalalignmentvalues.md +18 -0
  307. package/assets/docs/guide/api/node/variables/textverticalalignmentvalues.md +18 -0
  308. package/assets/docs/guide/api/node/variables/timelinetrackvisibilityvalues.md +18 -0
  309. package/assets/docs/guide/api/node/variables/touchpinchactionvalues.md +18 -0
  310. package/assets/docs/guide/api/node/variables/touchrotateactionvalues.md +18 -0
  311. package/assets/docs/guide/api/node/variables/verticalcontentfillalignmentvalues.md +18 -0
  312. package/assets/docs/guide/api/node/variables/widthmodevalues.md +18 -0
  313. package/assets/docs/guide/api/types.md +5 -9
  314. package/assets/docs/guide/api-reference/overview.md +7 -7
  315. package/assets/docs/guide/automation/auto-resize.md +263 -300
  316. package/assets/docs/guide/automation/data-merge.md +246 -275
  317. package/assets/docs/guide/automation/design-generation.md +102 -31
  318. package/assets/docs/guide/automation/multi-image-generation.md +758 -0
  319. package/assets/docs/guide/automation/overview.md +21 -4
  320. package/assets/docs/guide/automation.md +10 -5
  321. package/assets/docs/guide/capabilities.md +6 -4
  322. package/assets/docs/guide/colors/adjust.md +247 -249
  323. package/assets/docs/guide/colors/apply.md +127 -138
  324. package/assets/docs/guide/colors/basics.md +126 -150
  325. package/assets/docs/guide/colors/conversion.md +171 -177
  326. package/assets/docs/guide/colors/create-color-palette.md +244 -245
  327. package/assets/docs/guide/colors/extract-colors.md +144 -0
  328. package/assets/docs/guide/colors/for-print/cmyk.md +292 -352
  329. package/assets/docs/guide/colors/for-print/spot.md +521 -578
  330. package/assets/docs/guide/colors/for-print.md +9 -4
  331. package/assets/docs/guide/colors/for-screen/p3.md +12 -10
  332. package/assets/docs/guide/colors/for-screen/srgb.md +107 -133
  333. package/assets/docs/guide/colors/for-screen.md +9 -4
  334. package/assets/docs/guide/colors/overview.md +6 -4
  335. package/assets/docs/guide/colors/replace.md +381 -419
  336. package/assets/docs/guide/colors.md +9 -4
  337. package/assets/docs/guide/compatibility.md +7 -5
  338. package/assets/docs/guide/concepts/architecture.md +17 -15
  339. package/assets/docs/guide/concepts/assets.md +152 -140
  340. package/assets/docs/guide/concepts/blocks.md +227 -323
  341. package/assets/docs/guide/concepts/buffers.md +147 -276
  342. package/assets/docs/guide/concepts/design-units.md +95 -145
  343. package/assets/docs/guide/concepts/editing-workflow.md +69 -183
  344. package/assets/docs/guide/concepts/events.md +80 -122
  345. package/assets/docs/guide/concepts/headless-mode.md +237 -0
  346. package/assets/docs/guide/concepts/pages.md +137 -127
  347. package/assets/docs/guide/concepts/resources.md +156 -217
  348. package/assets/docs/guide/concepts/scenes.md +191 -210
  349. package/assets/docs/guide/concepts/templating.md +118 -74
  350. package/assets/docs/guide/concepts/terminology.md +49 -47
  351. package/assets/docs/guide/concepts/undo-and-history.md +229 -303
  352. package/assets/docs/guide/concepts.md +9 -7
  353. package/assets/docs/guide/configuration.md +252 -380
  354. package/assets/docs/guide/conversion/overview.md +33 -4
  355. package/assets/docs/guide/conversion/to-base64.md +127 -167
  356. package/assets/docs/guide/conversion/to-pdf.md +24 -474
  357. package/assets/docs/guide/conversion/to-png.md +168 -211
  358. package/assets/docs/guide/conversion.md +9 -4
  359. package/assets/docs/guide/create-audio/audio/add-music.md +301 -327
  360. package/assets/docs/guide/create-audio/audio/add-sound-effects.md +475 -359
  361. package/assets/docs/guide/create-audio/audio/loop.md +232 -272
  362. package/assets/docs/guide/create-composition/add-background.md +237 -239
  363. package/assets/docs/guide/create-composition/blend-modes.md +118 -209
  364. package/assets/docs/guide/create-composition/collage.md +538 -320
  365. package/assets/docs/guide/create-composition/group-and-ungroup.md +216 -261
  366. package/assets/docs/guide/create-composition/layer-management.md +219 -257
  367. package/assets/docs/guide/create-composition/layout.md +513 -315
  368. package/assets/docs/guide/create-composition/lock-design.md +90 -109
  369. package/assets/docs/guide/create-composition/multi-page.md +133 -113
  370. package/assets/docs/guide/create-composition/overview.md +16 -4
  371. package/assets/docs/guide/create-composition/programmatic.md +288 -344
  372. package/assets/docs/guide/create-composition.md +10 -5
  373. package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +443 -569
  374. package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +567 -470
  375. package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +179 -516
  376. package/assets/docs/guide/create-templates/add-dynamic-content.md +226 -224
  377. package/assets/docs/guide/create-templates/add-to-template-library.md +183 -193
  378. package/assets/docs/guide/create-templates/edit-or-remove.md +297 -303
  379. package/assets/docs/guide/create-templates/from-scratch.md +207 -268
  380. package/assets/docs/guide/create-templates/import/from-scene-file.md +158 -236
  381. package/assets/docs/guide/create-templates/import.md +145 -161
  382. package/assets/docs/guide/create-templates/lock.md +42 -295
  383. package/assets/docs/guide/create-templates/overview.md +33 -4
  384. package/assets/docs/guide/create-templates.md +9 -5
  385. package/assets/docs/guide/create-video/audio/adjust-speed.md +157 -207
  386. package/assets/docs/guide/create-video/audio/adjust-volume.md +116 -227
  387. package/assets/docs/guide/create-video/control.md +352 -193
  388. package/assets/docs/guide/create-video/limitations.md +175 -280
  389. package/assets/docs/guide/create-video.md +11 -10
  390. package/assets/docs/guide/edit-image/add-watermark.md +283 -330
  391. package/assets/docs/guide/edit-image/overview.md +29 -4
  392. package/assets/docs/guide/edit-image/remove-bg.md +283 -337
  393. package/assets/docs/guide/edit-image/replace-colors.md +424 -502
  394. package/assets/docs/guide/edit-image/transform/crop.md +463 -402
  395. package/assets/docs/guide/edit-image/transform/flip.md +353 -0
  396. package/assets/docs/guide/edit-image/transform/move.md +143 -100
  397. package/assets/docs/guide/edit-image/transform/resize.md +118 -88
  398. package/assets/docs/guide/edit-image/transform/rotate.md +132 -165
  399. package/assets/docs/guide/edit-image/transform/scale.md +230 -228
  400. package/assets/docs/guide/edit-image/transform.md +10 -5
  401. package/assets/docs/guide/edit-image.md +11 -7
  402. package/assets/docs/guide/edit-video/add-captions.md +344 -421
  403. package/assets/docs/guide/edit-video/add-watermark.md +312 -258
  404. package/assets/docs/guide/edit-video/join-and-arrange.md +237 -371
  405. package/assets/docs/guide/edit-video/redaction.md +419 -385
  406. package/assets/docs/guide/edit-video/split.md +243 -493
  407. package/assets/docs/guide/edit-video/transform/crop.md +21 -352
  408. package/assets/docs/guide/edit-video/transform/flip.md +102 -76
  409. package/assets/docs/guide/edit-video/transform/move.md +258 -310
  410. package/assets/docs/guide/edit-video/transform/resize.md +264 -428
  411. package/assets/docs/guide/edit-video/transform/rotate.md +265 -228
  412. package/assets/docs/guide/edit-video/transform/scale.md +320 -417
  413. package/assets/docs/guide/edit-video/transform.md +10 -6
  414. package/assets/docs/guide/edit-video/trim.md +448 -494
  415. package/assets/docs/guide/engine-interface.md +51 -62
  416. package/assets/docs/guide/export-save-publish/create-thumbnail.md +148 -184
  417. package/assets/docs/guide/export-save-publish/export/compress.md +161 -559
  418. package/assets/docs/guide/export-save-publish/export/overview.md +224 -373
  419. package/assets/docs/guide/export-save-publish/export/partial-export.md +386 -577
  420. package/assets/docs/guide/export-save-publish/export/size-limits.md +215 -310
  421. package/assets/docs/guide/export-save-publish/export/to-jpeg.md +132 -213
  422. package/assets/docs/guide/export-save-publish/export/to-pdf.md +139 -267
  423. package/assets/docs/guide/export-save-publish/export/to-png.md +121 -165
  424. package/assets/docs/guide/export-save-publish/export/to-raw-data.md +187 -234
  425. package/assets/docs/guide/export-save-publish/export/to-webp.md +160 -190
  426. package/assets/docs/guide/export-save-publish/export/with-color-mask.md +359 -203
  427. package/assets/docs/guide/export-save-publish/export.md +14 -11
  428. package/assets/docs/guide/export-save-publish/for-printing.md +141 -237
  429. package/assets/docs/guide/export-save-publish/for-social-media.md +124 -261
  430. package/assets/docs/guide/export-save-publish/pre-export-validation.md +436 -522
  431. package/assets/docs/guide/export-save-publish/save.md +167 -226
  432. package/assets/docs/guide/export-save-publish/store-custom-metadata.md +97 -162
  433. package/assets/docs/guide/file-format-support.md +9 -9
  434. package/assets/docs/guide/fills/color.md +370 -347
  435. package/assets/docs/guide/fills/image.md +167 -196
  436. package/assets/docs/guide/fills/overview.md +6 -4
  437. package/assets/docs/guide/fills/video.md +286 -438
  438. package/assets/docs/guide/fills.md +12 -8
  439. package/assets/docs/guide/filters-and-effects/apply.md +598 -664
  440. package/assets/docs/guide/filters-and-effects/blur.md +261 -159
  441. package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +194 -293
  442. package/assets/docs/guide/filters-and-effects/create-custom-filters.md +548 -466
  443. package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +176 -244
  444. package/assets/docs/guide/filters-and-effects/distortion.md +317 -384
  445. package/assets/docs/guide/filters-and-effects/duotone.md +221 -217
  446. package/assets/docs/guide/filters-and-effects/gradients.md +670 -813
  447. package/assets/docs/guide/filters-and-effects/overview.md +7 -7
  448. package/assets/docs/guide/filters-and-effects/support.md +97 -132
  449. package/assets/docs/guide/filters-and-effects.md +11 -6
  450. package/assets/docs/guide/get-started/agent-skills.md +20 -18
  451. package/assets/docs/guide/get-started/build-with-ai.md +7 -4
  452. package/assets/docs/guide/get-started/bun.md +219 -0
  453. package/assets/docs/guide/get-started/deno.md +161 -0
  454. package/assets/docs/guide/get-started/mcp-server.md +6 -4
  455. package/assets/docs/guide/get-started/overview.md +11 -6
  456. package/assets/docs/guide/get-started/vanilla-aws-lambda.md +506 -0
  457. package/assets/docs/guide/get-started/vanilla-clone-github-project.md +124 -0
  458. package/assets/docs/guide/get-started/vanilla.md +235 -0
  459. package/assets/docs/guide/guides/export-save-publish/export/audio.md +80 -66
  460. package/assets/docs/guide/guides.md +10 -9
  461. package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +259 -288
  462. package/assets/docs/guide/import-media/concepts.md +20 -38
  463. package/assets/docs/guide/import-media/content-json-schema.md +145 -125
  464. package/assets/docs/guide/import-media/default-assets.md +113 -161
  465. package/assets/docs/guide/import-media/edit-or-remove-assets.md +391 -395
  466. package/assets/docs/guide/import-media/file-format-support.md +78 -61
  467. package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +273 -244
  468. package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +152 -222
  469. package/assets/docs/guide/import-media/from-remote-source.md +9 -11
  470. package/assets/docs/guide/import-media/overview.md +5 -5
  471. package/assets/docs/guide/import-media/retrieve-mimetype.md +216 -108
  472. package/assets/docs/guide/import-media/size-limits.md +6 -4
  473. package/assets/docs/guide/import-media/source-sets.md +190 -251
  474. package/assets/docs/guide/import-media.md +10 -8
  475. package/assets/docs/guide/insert-media/audio.md +202 -195
  476. package/assets/docs/guide/insert-media/images.md +190 -188
  477. package/assets/docs/guide/insert-media/position-and-align.md +284 -551
  478. package/assets/docs/guide/insert-media/shapes-or-stickers.md +402 -418
  479. package/assets/docs/guide/insert-media/videos.md +236 -203
  480. package/assets/docs/guide/insert-media.md +10 -5
  481. package/assets/docs/guide/key-capabilities.md +36 -4
  482. package/assets/docs/guide/key-concepts.md +6 -4
  483. package/assets/docs/guide/licensing.md +6 -4
  484. package/assets/docs/guide/llms-txt.md +11 -7
  485. package/assets/docs/guide/open-the-editor/blank-canvas.md +102 -63
  486. package/assets/docs/guide/open-the-editor/from-image.md +157 -127
  487. package/assets/docs/guide/open-the-editor/from-template.md +131 -92
  488. package/assets/docs/guide/open-the-editor/from-video.md +204 -212
  489. package/assets/docs/guide/open-the-editor/import-design/from-archive.md +310 -360
  490. package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +716 -513
  491. package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +667 -695
  492. package/assets/docs/guide/open-the-editor/import-design.md +228 -266
  493. package/assets/docs/guide/open-the-editor/load-scene.md +72 -68
  494. package/assets/docs/guide/open-the-editor/overview.md +6 -4
  495. package/assets/docs/guide/open-the-editor/uri-resolver.md +160 -251
  496. package/assets/docs/guide/open-the-editor.md +11 -9
  497. package/assets/docs/guide/outlines/overview.md +12 -4
  498. package/assets/docs/guide/outlines/shadows-and-glows.md +105 -410
  499. package/assets/docs/guide/outlines/strokes.md +218 -166
  500. package/assets/docs/guide/outlines.md +9 -4
  501. package/assets/docs/guide/overview.md +14 -6
  502. package/assets/docs/guide/performance.md +220 -113
  503. package/assets/docs/guide/plugins/print-ready-pdf.md +273 -368
  504. package/assets/docs/guide/plugins.md +10 -16
  505. package/assets/docs/guide/rules/asset-handling.md +7 -18
  506. package/assets/docs/guide/rules/common-pitfalls.md +25 -42
  507. package/assets/docs/guide/rules/content-fill-mode.md +4 -4
  508. package/assets/docs/guide/rules/enforce-brand-guidelines.md +398 -567
  509. package/assets/docs/guide/rules/lock-content.md +188 -231
  510. package/assets/docs/guide/rules/moderate-content.md +580 -571
  511. package/assets/docs/guide/rules/overview.md +345 -380
  512. package/assets/docs/guide/rules/silent-init-errors.md +4 -1
  513. package/assets/docs/guide/rules/verify-properties-before-use.md +2 -11
  514. package/assets/docs/guide/rules.md +10 -5
  515. package/assets/docs/guide/security.md +7 -5
  516. package/assets/docs/guide/serve-assets.md +57 -284
  517. package/assets/docs/guide/settings.md +96 -74
  518. package/assets/docs/guide/shapes.md +10 -5
  519. package/assets/docs/guide/stickers-and-shapes/combine.md +397 -583
  520. package/assets/docs/guide/stickers-and-shapes/create-cutout.md +181 -268
  521. package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +418 -431
  522. package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +147 -226
  523. package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +138 -123
  524. package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +151 -149
  525. package/assets/docs/guide/stickers.md +9 -4
  526. package/assets/docs/guide/text/add.md +470 -482
  527. package/assets/docs/guide/text/adjust-spacing.md +179 -214
  528. package/assets/docs/guide/text/auto-size.md +210 -271
  529. package/assets/docs/guide/text/edit.md +294 -309
  530. package/assets/docs/guide/text/effects.md +154 -190
  531. package/assets/docs/guide/text/emojis.md +199 -232
  532. package/assets/docs/guide/text/language-support.md +369 -382
  533. package/assets/docs/guide/text/overview.md +41 -4
  534. package/assets/docs/guide/text/styling.md +239 -273
  535. package/assets/docs/guide/text/text-designs.md +405 -544
  536. package/assets/docs/guide/text.md +10 -9
  537. package/assets/docs/guide/to-v1-19.md +12 -10
  538. package/assets/docs/guide/upgrade.md +8 -9
  539. package/assets/docs/guide/use-templates/apply-template.md +174 -163
  540. package/assets/docs/guide/use-templates/generate.md +171 -152
  541. package/assets/docs/guide/use-templates/overview.md +32 -4
  542. package/assets/docs/guide/use-templates/programmatic.md +266 -301
  543. package/assets/docs/guide/use-templates/replace-content.md +181 -171
  544. package/assets/docs/guide/what-is-cesdk.md +71 -282
  545. package/assets/docs/handbook/SKILL.md +24 -0
  546. package/dist/assets/inline.generated.d.ts.map +1 -1
  547. package/dist/assets/inline.generated.js +544 -406
  548. package/dist/assets/inline.generated.js.map +1 -1
  549. package/dist/assets/load-browser.d.ts +1 -1
  550. package/dist/assets/load-browser.js +1 -1
  551. package/dist/assets/load-browser.js.map +1 -1
  552. package/dist/assets/load-node.d.ts +1 -1
  553. package/dist/assets/load-node.js +1 -1
  554. package/dist/assets/load-node.js.map +1 -1
  555. package/dist/cli/http.d.ts.map +1 -1
  556. package/dist/cli/http.js +4 -28
  557. package/dist/cli/http.js.map +1 -1
  558. package/dist/cli/redirect-console.d.ts +1 -1
  559. package/dist/cli/redirect-console.d.ts.map +1 -1
  560. package/dist/cli/redirect-console.js +12 -3
  561. package/dist/cli/redirect-console.js.map +1 -1
  562. package/dist/cli/resolve-license.d.ts.map +1 -1
  563. package/dist/cli/resolve-license.js +8 -6
  564. package/dist/cli/resolve-license.js.map +1 -1
  565. package/dist/cli/stdio.d.ts +9 -0
  566. package/dist/cli/stdio.d.ts.map +1 -1
  567. package/dist/cli/stdio.js +48 -4
  568. package/dist/cli/stdio.js.map +1 -1
  569. package/dist/cli.js +10 -1
  570. package/dist/cli.js.map +1 -1
  571. package/dist/config.d.ts +11 -2
  572. package/dist/config.d.ts.map +1 -1
  573. package/dist/config.js +20 -1
  574. package/dist/config.js.map +1 -1
  575. package/dist/diagnostics/bundle.d.ts +10 -0
  576. package/dist/diagnostics/bundle.d.ts.map +1 -0
  577. package/dist/diagnostics/bundle.js +148 -0
  578. package/dist/diagnostics/bundle.js.map +1 -0
  579. package/dist/diagnostics/compose.d.ts +3 -0
  580. package/dist/diagnostics/compose.d.ts.map +1 -0
  581. package/dist/diagnostics/compose.js +15 -0
  582. package/dist/diagnostics/compose.js.map +1 -0
  583. package/dist/diagnostics/events.d.ts +34 -0
  584. package/dist/diagnostics/events.d.ts.map +1 -0
  585. package/dist/diagnostics/events.js +3 -0
  586. package/dist/diagnostics/events.js.map +1 -0
  587. package/dist/diagnostics/file-sink.d.ts +38 -0
  588. package/dist/diagnostics/file-sink.d.ts.map +1 -0
  589. package/dist/diagnostics/file-sink.js +157 -0
  590. package/dist/diagnostics/file-sink.js.map +1 -0
  591. package/dist/diagnostics/redact.d.ts +7 -0
  592. package/dist/diagnostics/redact.d.ts.map +1 -0
  593. package/dist/diagnostics/redact.js +43 -0
  594. package/dist/diagnostics/redact.js.map +1 -0
  595. package/dist/diagnostics/tool-call-adapter.d.ts +4 -0
  596. package/dist/diagnostics/tool-call-adapter.d.ts.map +1 -0
  597. package/dist/diagnostics/tool-call-adapter.js +21 -0
  598. package/dist/diagnostics/tool-call-adapter.js.map +1 -0
  599. package/dist/engine/cesdk-adapter.d.ts +5 -1
  600. package/dist/engine/cesdk-adapter.d.ts.map +1 -1
  601. package/dist/engine/cesdk-adapter.js +9 -2
  602. package/dist/engine/cesdk-adapter.js.map +1 -1
  603. package/dist/engine/index.d.ts +1 -0
  604. package/dist/engine/index.d.ts.map +1 -1
  605. package/dist/engine/index.js +4 -0
  606. package/dist/engine/index.js.map +1 -1
  607. package/dist/engine/scene-resource-schemes.d.ts +2 -0
  608. package/dist/engine/scene-resource-schemes.d.ts.map +1 -0
  609. package/dist/engine/scene-resource-schemes.js +20 -0
  610. package/dist/engine/scene-resource-schemes.js.map +1 -0
  611. package/dist/http/server.d.ts +0 -6
  612. package/dist/http/server.d.ts.map +1 -1
  613. package/dist/http/server.js +1 -2
  614. package/dist/http/server.js.map +1 -1
  615. package/dist/server.d.ts +0 -4
  616. package/dist/server.d.ts.map +1 -1
  617. package/dist/server.js +4 -60
  618. package/dist/server.js.map +1 -1
  619. package/dist/test/scripts/changelog-add.d.ts +8 -0
  620. package/dist/test/scripts/changelog-add.d.ts.map +1 -0
  621. package/dist/test/scripts/changelog-add.js +50 -0
  622. package/dist/test/scripts/changelog-add.js.map +1 -0
  623. package/dist/test/scripts/changelog-collate.d.ts +38 -0
  624. package/dist/test/scripts/changelog-collate.d.ts.map +1 -0
  625. package/dist/test/scripts/changelog-collate.js +171 -0
  626. package/dist/test/scripts/changelog-collate.js.map +1 -0
  627. package/dist/test/test/changelog.test.d.ts +2 -0
  628. package/dist/test/test/changelog.test.d.ts.map +1 -0
  629. package/dist/test/test/changelog.test.js +293 -0
  630. package/dist/test/test/changelog.test.js.map +1 -0
  631. package/dist/test/test/cli/dispatcher.test.js +10 -3
  632. package/dist/test/test/cli/dispatcher.test.js.map +1 -1
  633. package/dist/test/test/cli/redirect-console.test.js +31 -0
  634. package/dist/test/test/cli/redirect-console.test.js.map +1 -1
  635. package/dist/test/test/cli/resolve-license.test.js +10 -1
  636. package/dist/test/test/cli/resolve-license.test.js.map +1 -1
  637. package/dist/test/test/cli/stdio-diagnostics.test.d.ts +2 -0
  638. package/dist/test/test/cli/stdio-diagnostics.test.d.ts.map +1 -0
  639. package/dist/test/test/cli/stdio-diagnostics.test.js +31 -0
  640. package/dist/test/test/cli/stdio-diagnostics.test.js.map +1 -0
  641. package/dist/test/test/config.test.js +17 -13
  642. package/dist/test/test/config.test.js.map +1 -1
  643. package/dist/test/test/diagnostics/bundle.test.d.ts +2 -0
  644. package/dist/test/test/diagnostics/bundle.test.d.ts.map +1 -0
  645. package/dist/test/test/diagnostics/bundle.test.js +53 -0
  646. package/dist/test/test/diagnostics/bundle.test.js.map +1 -0
  647. package/dist/test/test/diagnostics/compose.test.d.ts +2 -0
  648. package/dist/test/test/diagnostics/compose.test.d.ts.map +1 -0
  649. package/dist/test/test/diagnostics/compose.test.js +31 -0
  650. package/dist/test/test/diagnostics/compose.test.js.map +1 -0
  651. package/dist/test/test/diagnostics/file-sink.test.d.ts +2 -0
  652. package/dist/test/test/diagnostics/file-sink.test.d.ts.map +1 -0
  653. package/dist/test/test/diagnostics/file-sink.test.js +113 -0
  654. package/dist/test/test/diagnostics/file-sink.test.js.map +1 -0
  655. package/dist/test/test/diagnostics/redact.test.d.ts +2 -0
  656. package/dist/test/test/diagnostics/redact.test.d.ts.map +1 -0
  657. package/dist/test/test/diagnostics/redact.test.js +59 -0
  658. package/dist/test/test/diagnostics/redact.test.js.map +1 -0
  659. package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts +2 -0
  660. package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts.map +1 -0
  661. package/dist/test/test/diagnostics/tool-call-adapter.test.js +34 -0
  662. package/dist/test/test/diagnostics/tool-call-adapter.test.js.map +1 -0
  663. package/dist/test/test/engine/cesdk-adapter.test.d.ts +2 -0
  664. package/dist/test/test/engine/cesdk-adapter.test.d.ts.map +1 -0
  665. package/dist/test/test/engine/cesdk-adapter.test.js +32 -0
  666. package/dist/test/test/engine/cesdk-adapter.test.js.map +1 -0
  667. package/dist/test/test/handbook-contract.test.js +6 -2
  668. package/dist/test/test/handbook-contract.test.js.map +1 -1
  669. package/dist/test/test/http/server.test.js +0 -36
  670. package/dist/test/test/http/server.test.js.map +1 -1
  671. package/dist/test/test/http/workspace-auth.test.js +0 -1
  672. package/dist/test/test/http/workspace-auth.test.js.map +1 -1
  673. package/dist/test/test/server.test.js +0 -40
  674. package/dist/test/test/server.test.js.map +1 -1
  675. package/dist/test/test/tools/edit-harness.d.ts +14 -0
  676. package/dist/test/test/tools/edit-harness.d.ts.map +1 -0
  677. package/dist/test/test/tools/edit-harness.js +30 -0
  678. package/dist/test/test/tools/edit-harness.js.map +1 -0
  679. package/dist/test/test/tools/edit.telemetry.test.d.ts +2 -0
  680. package/dist/test/test/tools/edit.telemetry.test.d.ts.map +1 -0
  681. package/dist/test/test/tools/edit.telemetry.test.js +46 -0
  682. package/dist/test/test/tools/edit.telemetry.test.js.map +1 -0
  683. package/dist/test/test/tools/export-harness.d.ts +13 -0
  684. package/dist/test/test/tools/export-harness.d.ts.map +1 -0
  685. package/dist/test/test/tools/export-harness.js +27 -0
  686. package/dist/test/test/tools/export-harness.js.map +1 -0
  687. package/dist/test/test/tools/export.telemetry.test.d.ts +2 -0
  688. package/dist/test/test/tools/export.telemetry.test.d.ts.map +1 -0
  689. package/dist/test/test/tools/export.telemetry.test.js +65 -0
  690. package/dist/test/test/tools/export.telemetry.test.js.map +1 -0
  691. package/dist/test/test/tools/import.test.d.ts +2 -0
  692. package/dist/test/test/tools/import.test.d.ts.map +1 -0
  693. package/dist/test/test/tools/import.test.js +122 -0
  694. package/dist/test/test/tools/import.test.js.map +1 -0
  695. package/dist/test/test/tools/index.test.js +78 -16
  696. package/dist/test/test/tools/index.test.js.map +1 -1
  697. package/dist/test/test/tools/load.integration.test.d.ts +2 -0
  698. package/dist/test/test/tools/load.integration.test.d.ts.map +1 -0
  699. package/dist/test/test/tools/load.integration.test.js +165 -0
  700. package/dist/test/test/tools/load.integration.test.js.map +1 -0
  701. package/dist/test/test/tools/load.test.d.ts +2 -0
  702. package/dist/test/test/tools/load.test.d.ts.map +1 -0
  703. package/dist/test/test/tools/load.test.js +387 -0
  704. package/dist/test/test/tools/load.test.js.map +1 -0
  705. package/dist/test/test/tools/preview-harness.d.ts +9 -0
  706. package/dist/test/test/tools/preview-harness.d.ts.map +1 -0
  707. package/dist/test/test/tools/preview-harness.js +23 -0
  708. package/dist/test/test/tools/preview-harness.js.map +1 -0
  709. package/dist/test/test/tools/preview.telemetry.test.d.ts +2 -0
  710. package/dist/test/test/tools/preview.telemetry.test.d.ts.map +1 -0
  711. package/dist/test/test/tools/preview.telemetry.test.js +36 -0
  712. package/dist/test/test/tools/preview.telemetry.test.js.map +1 -0
  713. package/dist/test/test/tools/schema-best-practices.d.ts +13 -0
  714. package/dist/test/test/tools/schema-best-practices.d.ts.map +1 -0
  715. package/dist/test/test/tools/schema-best-practices.js +169 -0
  716. package/dist/test/test/tools/schema-best-practices.js.map +1 -0
  717. package/dist/test/test/tools/schema-best-practices.test.d.ts +3 -0
  718. package/dist/test/test/tools/schema-best-practices.test.d.ts.map +1 -0
  719. package/dist/test/test/tools/schema-best-practices.test.js +194 -0
  720. package/dist/test/test/tools/schema-best-practices.test.js.map +1 -0
  721. package/dist/test/test/tools/spans.test.d.ts +2 -0
  722. package/dist/test/test/tools/spans.test.d.ts.map +1 -0
  723. package/dist/test/test/tools/spans.test.js +84 -0
  724. package/dist/test/test/tools/spans.test.js.map +1 -0
  725. package/dist/test/test/viewer/cesdk-cdn.test.d.ts +2 -0
  726. package/dist/test/test/viewer/cesdk-cdn.test.d.ts.map +1 -0
  727. package/dist/test/test/viewer/cesdk-cdn.test.js +19 -0
  728. package/dist/test/test/viewer/cesdk-cdn.test.js.map +1 -0
  729. package/dist/test/test/viewer/config-route.test.d.ts +2 -0
  730. package/dist/test/test/viewer/config-route.test.d.ts.map +1 -0
  731. package/dist/test/test/viewer/config-route.test.js +28 -0
  732. package/dist/test/test/viewer/config-route.test.js.map +1 -0
  733. package/dist/test/test/viewer/spa-version.test.d.ts +2 -0
  734. package/dist/test/test/viewer/spa-version.test.d.ts.map +1 -0
  735. package/dist/test/test/viewer/spa-version.test.js +14 -0
  736. package/dist/test/test/viewer/spa-version.test.js.map +1 -0
  737. package/dist/test/test/workspace/content-hash.test.d.ts +2 -0
  738. package/dist/test/test/workspace/content-hash.test.d.ts.map +1 -0
  739. package/dist/test/test/workspace/content-hash.test.js +17 -0
  740. package/dist/test/test/workspace/content-hash.test.js.map +1 -0
  741. package/dist/test/tsconfig.test.tsbuildinfo +1 -1
  742. package/dist/test/vitest.config.js +1 -1
  743. package/dist/test/vitest.config.js.map +1 -1
  744. package/dist/tools/asset-generate.d.ts.map +1 -1
  745. package/dist/tools/asset-generate.js +1 -8
  746. package/dist/tools/asset-generate.js.map +1 -1
  747. package/dist/tools/edit.d.ts +3 -0
  748. package/dist/tools/edit.d.ts.map +1 -1
  749. package/dist/tools/edit.js +145 -96
  750. package/dist/tools/edit.js.map +1 -1
  751. package/dist/tools/export.d.ts +3 -0
  752. package/dist/tools/export.d.ts.map +1 -1
  753. package/dist/tools/export.js +146 -108
  754. package/dist/tools/export.js.map +1 -1
  755. package/dist/tools/import.d.ts +12 -0
  756. package/dist/tools/import.d.ts.map +1 -0
  757. package/dist/tools/import.js +144 -0
  758. package/dist/tools/import.js.map +1 -0
  759. package/dist/tools/index.d.ts +3 -0
  760. package/dist/tools/index.d.ts.map +1 -1
  761. package/dist/tools/index.js +44 -4
  762. package/dist/tools/index.js.map +1 -1
  763. package/dist/tools/load.d.ts +26 -0
  764. package/dist/tools/load.d.ts.map +1 -0
  765. package/dist/tools/load.js +400 -0
  766. package/dist/tools/load.js.map +1 -0
  767. package/dist/tools/preview.d.ts +3 -0
  768. package/dist/tools/preview.d.ts.map +1 -1
  769. package/dist/tools/preview.js +79 -44
  770. package/dist/tools/preview.js.map +1 -1
  771. package/dist/tools/result.d.ts +1 -1
  772. package/dist/tools/result.js +2 -2
  773. package/dist/tools/result.js.map +1 -1
  774. package/dist/tools/spans.d.ts +45 -0
  775. package/dist/tools/spans.d.ts.map +1 -0
  776. package/dist/tools/spans.js +77 -0
  777. package/dist/tools/spans.js.map +1 -0
  778. package/dist/tools/telemetry-wrapper.d.ts +4 -0
  779. package/dist/tools/telemetry-wrapper.d.ts.map +1 -0
  780. package/dist/tools/telemetry-wrapper.js +43 -0
  781. package/dist/tools/telemetry-wrapper.js.map +1 -0
  782. package/dist/viewer/cesdk-cdn.d.ts +16 -0
  783. package/dist/viewer/cesdk-cdn.d.ts.map +1 -0
  784. package/dist/viewer/cesdk-cdn.js +30 -0
  785. package/dist/viewer/cesdk-cdn.js.map +1 -0
  786. package/dist/viewer/router.d.ts +6 -0
  787. package/dist/viewer/router.d.ts.map +1 -1
  788. package/dist/viewer/router.js +4 -1
  789. package/dist/viewer/router.js.map +1 -1
  790. package/dist/viewer/spa-assets.generated.d.ts.map +1 -1
  791. package/dist/viewer/spa-assets.generated.js +2 -3
  792. package/dist/viewer/spa-assets.generated.js.map +1 -1
  793. package/dist/workspace/content-hash.d.ts +2 -0
  794. package/dist/workspace/content-hash.d.ts.map +1 -0
  795. package/dist/workspace/content-hash.js +15 -0
  796. package/dist/workspace/content-hash.js.map +1 -0
  797. package/package.json +18 -9
  798. package/assets/docs/guide/actions.md +0 -1038
  799. package/assets/docs/guide/animation/overview.md +0 -22
  800. package/assets/docs/guide/automation/batch-processing.md +0 -474
  801. package/assets/docs/guide/browser-support.md +0 -38
  802. package/assets/docs/guide/concepts/edit-modes.md +0 -431
  803. package/assets/docs/guide/concepts/headless-mode/browser.md +0 -291
  804. package/assets/docs/guide/create-audio/audio.md +0 -336
  805. package/assets/docs/guide/create-video/overview.md +0 -224
  806. package/assets/docs/guide/create-video/timeline-editor.md +0 -622
  807. package/assets/docs/guide/create-video/update-caption-presets.md +0 -676
  808. package/assets/docs/guide/edit-image/vectorize.md +0 -204
  809. package/assets/docs/guide/export-save-publish/export/to-html5.md +0 -474
  810. package/assets/docs/guide/export-save-publish/export/to-mp4.md +0 -364
  811. package/assets/docs/guide/get-started/vanilla-js/quickstart.md +0 -175
  812. package/assets/docs/guide/grid-and-rulers.md +0 -222
  813. package/assets/docs/guide/guides/text/rendering-internals.md +0 -796
  814. package/assets/docs/guide/import-media/asset-library.md +0 -23
  815. package/assets/docs/guide/import-media/asset-panel/basics.md +0 -324
  816. package/assets/docs/guide/import-media/asset-panel/customize.md +0 -478
  817. package/assets/docs/guide/import-media/asset-panel/thumbnails.md +0 -633
  818. package/assets/docs/guide/import-media/capture-from-camera/record-video.md +0 -137
  819. package/assets/docs/guide/import-media/capture-from-camera.md +0 -20
  820. package/assets/docs/guide/import-media/from-local-source/user-upload.md +0 -438
  821. package/assets/docs/guide/import-media/from-local-source.md +0 -20
  822. package/assets/docs/guide/import-media/from-remote-source/getty-images.md +0 -627
  823. package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +0 -625
  824. package/assets/docs/guide/import-media/from-remote-source/pexels.md +0 -692
  825. package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +0 -497
  826. package/assets/docs/guide/import-media/from-remote-source/third-party.md +0 -51
  827. package/assets/docs/guide/import-media/from-remote-source/unsplash.md +0 -914
  828. package/assets/docs/guide/import-media/from-remote-source/your-server.md +0 -764
  829. package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +0 -228
  830. package/assets/docs/guide/open-the-editor/set-zoom-level.md +0 -303
  831. package/assets/docs/guide/plugins/asset-sources.md +0 -553
  832. package/assets/docs/guide/starterkits/3d-mockup-editor.md +0 -748
  833. package/assets/docs/guide/starterkits/advanced-editor.md +0 -698
  834. package/assets/docs/guide/starterkits/advanced-video-editor.md +0 -696
  835. package/assets/docs/guide/starterkits/ai-editor.md +0 -749
  836. package/assets/docs/guide/starterkits/airtable-image-editor.md +0 -672
  837. package/assets/docs/guide/starterkits/apparel-ui.md +0 -188
  838. package/assets/docs/guide/starterkits/assets.md +0 -27
  839. package/assets/docs/guide/starterkits/auto-resize.md +0 -586
  840. package/assets/docs/guide/starterkits/automated-video-generation.md +0 -692
  841. package/assets/docs/guide/starterkits/background-removal-editor.md +0 -480
  842. package/assets/docs/guide/starterkits/content-moderation.md +0 -863
  843. package/assets/docs/guide/starterkits/creative-automation.md +0 -28
  844. package/assets/docs/guide/starterkits/custom-built-uis.md +0 -26
  845. package/assets/docs/guide/starterkits/customization.md +0 -29
  846. package/assets/docs/guide/starterkits/cutout-lines-editor.md +0 -470
  847. package/assets/docs/guide/starterkits/data-merge.md +0 -850
  848. package/assets/docs/guide/starterkits/design-editor.md +0 -698
  849. package/assets/docs/guide/starterkits/design-generation.md +0 -719
  850. package/assets/docs/guide/starterkits/design-validation.md +0 -808
  851. package/assets/docs/guide/starterkits/editor-ui-configurations.md +0 -14
  852. package/assets/docs/guide/starterkits/export-options.md +0 -724
  853. package/assets/docs/guide/starterkits/export-using-renderer.md +0 -708
  854. package/assets/docs/guide/starterkits/extensibility.md +0 -28
  855. package/assets/docs/guide/starterkits/force-crop-editor.md +0 -675
  856. package/assets/docs/guide/starterkits/form-based-template-adoption.md +0 -522
  857. package/assets/docs/guide/starterkits/getty-images-editor.md +0 -700
  858. package/assets/docs/guide/starterkits/html5-ads-exporter.md +0 -719
  859. package/assets/docs/guide/starterkits/indesign-template-import.md +0 -580
  860. package/assets/docs/guide/starterkits/layouts-editor.md +0 -724
  861. package/assets/docs/guide/starterkits/mobile-ui.md +0 -185
  862. package/assets/docs/guide/starterkits/mockup-editor.md +0 -745
  863. package/assets/docs/guide/starterkits/multi-image-generation.md +0 -542
  864. package/assets/docs/guide/starterkits/page-sizes-editor.md +0 -657
  865. package/assets/docs/guide/starterkits/pexels-image-editor.md +0 -665
  866. package/assets/docs/guide/starterkits/photo-editor.md +0 -755
  867. package/assets/docs/guide/starterkits/photo-ui.md +0 -186
  868. package/assets/docs/guide/starterkits/photobook-ui.md +0 -188
  869. package/assets/docs/guide/starterkits/placeholders.md +0 -678
  870. package/assets/docs/guide/starterkits/player.md +0 -405
  871. package/assets/docs/guide/starterkits/plugins.md +0 -25
  872. package/assets/docs/guide/starterkits/postcard-editor.md +0 -202
  873. package/assets/docs/guide/starterkits/pptx-template-import.md +0 -581
  874. package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +0 -746
  875. package/assets/docs/guide/starterkits/product-editor.md +0 -773
  876. package/assets/docs/guide/starterkits/psd-template-import.md +0 -580
  877. package/assets/docs/guide/starterkits/qr-code-editor.md +0 -470
  878. package/assets/docs/guide/starterkits/single-page-editor.md +0 -661
  879. package/assets/docs/guide/starterkits/start-with-image.md +0 -684
  880. package/assets/docs/guide/starterkits/start-with-video.md +0 -651
  881. package/assets/docs/guide/starterkits/t-shirt-designer.md +0 -742
  882. package/assets/docs/guide/starterkits/templating.md +0 -23
  883. package/assets/docs/guide/starterkits/theming.md +0 -662
  884. package/assets/docs/guide/starterkits/translation-internationalization.md +0 -662
  885. package/assets/docs/guide/starterkits/unsplash-editor.md +0 -839
  886. package/assets/docs/guide/starterkits/vectorizer-editor.md +0 -466
  887. package/assets/docs/guide/starterkits/version-history.md +0 -745
  888. package/assets/docs/guide/starterkits/video-animations.md +0 -853
  889. package/assets/docs/guide/starterkits/video-captions.md +0 -884
  890. package/assets/docs/guide/starterkits/video-editing.md +0 -25
  891. package/assets/docs/guide/starterkits/video-editor.md +0 -696
  892. package/assets/docs/guide/starterkits/video-export-options.md +0 -676
  893. package/assets/docs/guide/starterkits/viewer.md +0 -400
  894. package/assets/docs/guide/starterkits.md +0 -41
  895. package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +0 -362
  896. package/assets/docs/guide/text/custom-fonts.md +0 -401
  897. package/assets/docs/guide/text/decorations.md +0 -330
  898. package/assets/docs/guide/text/enumerations.md +0 -258
  899. package/assets/docs/guide/to-v1-10.md +0 -131
  900. package/assets/docs/guide/to-v1-13.md +0 -165
  901. package/assets/docs/guide/to-v1-32.md +0 -110
  902. package/assets/docs/guide/to-v1-69.md +0 -468
  903. package/assets/docs/guide/to-v1-72.md +0 -193
  904. package/assets/docs/guide/use-templates/library.md +0 -450
  905. package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +0 -428
  906. package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +0 -337
  907. package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +0 -853
  908. package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +0 -1045
  909. package/assets/docs/guide/user-interface/ai-integration/image-generation.md +0 -641
  910. package/assets/docs/guide/user-interface/ai-integration/integrate.md +0 -966
  911. package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +0 -99
  912. package/assets/docs/guide/user-interface/ai-integration/text-generation.md +0 -498
  913. package/assets/docs/guide/user-interface/ai-integration/video-generation.md +0 -493
  914. package/assets/docs/guide/user-interface/ai-integration.md +0 -30
  915. package/assets/docs/guide/user-interface/appearance/change-ui-font.md +0 -316
  916. package/assets/docs/guide/user-interface/appearance/custom-labels.md +0 -509
  917. package/assets/docs/guide/user-interface/appearance/icons.md +0 -373
  918. package/assets/docs/guide/user-interface/appearance/theming.md +0 -665
  919. package/assets/docs/guide/user-interface/appearance.md +0 -23
  920. package/assets/docs/guide/user-interface/build-your-own-ui.md +0 -620
  921. package/assets/docs/guide/user-interface/customization/canvas-menu.md +0 -412
  922. package/assets/docs/guide/user-interface/customization/canvas.md +0 -281
  923. package/assets/docs/guide/user-interface/customization/color-palette.md +0 -413
  924. package/assets/docs/guide/user-interface/customization/crop-presets.md +0 -384
  925. package/assets/docs/guide/user-interface/customization/disable-or-enable.md +0 -676
  926. package/assets/docs/guide/user-interface/customization/dock.md +0 -399
  927. package/assets/docs/guide/user-interface/customization/force-crop.md +0 -289
  928. package/assets/docs/guide/user-interface/customization/inspector-bar.md +0 -371
  929. package/assets/docs/guide/user-interface/customization/navigation-bar.md +0 -516
  930. package/assets/docs/guide/user-interface/customization/page-format.md +0 -436
  931. package/assets/docs/guide/user-interface/customization/panel.md +0 -605
  932. package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +0 -531
  933. package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +0 -358
  934. package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +0 -374
  935. package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +0 -323
  936. package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +0 -294
  937. package/assets/docs/guide/user-interface/customization/quick-start.md +0 -12
  938. package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +0 -519
  939. package/assets/docs/guide/user-interface/customization/reference/component-reference.md +0 -333
  940. package/assets/docs/guide/user-interface/customization/reference.md +0 -12
  941. package/assets/docs/guide/user-interface/customization.md +0 -39
  942. package/assets/docs/guide/user-interface/localization.md +0 -633
  943. package/assets/docs/guide/user-interface/overview.md +0 -167
  944. package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +0 -411
  945. package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +0 -721
  946. package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +0 -331
  947. package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +0 -553
  948. package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +0 -672
  949. package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +0 -415
  950. package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +0 -521
  951. package/assets/docs/guide/user-interface/ui-extensions.md +0 -26
  952. package/assets/docs/guide/user-interface.md +0 -25
  953. package/assets/prompts/evals-assetGenerate.md +0 -12
  954. package/assets/prompts/evals-brutalistCore.md +0 -34
  955. package/assets/prompts/evals-danskCatalogue.md +0 -31
  956. package/assets/prompts/evals-exportRoundTrip.md +0 -12
  957. package/assets/prompts/evals-inspectPriorCode.md +0 -16
  958. package/assets/prompts/evals-listProjectFiles.md +0 -6
  959. package/assets/prompts/evals-readAndExplainScript.md +0 -6
  960. package/assets/prompts/evals-resumeAcrossRestart.md +0 -15
  961. package/assets/prompts/evals-rewindRecovery.md +0 -10
  962. package/assets/prompts/evals-searchAcrossFiles.md +0 -6
  963. package/assets/prompts/evals-weddingCard.md +0 -20
  964. package/assets/prompts/explain.md +0 -6
  965. package/assets/prompts/review.md +0 -6
  966. package/dist/frontmatter.d.ts +0 -15
  967. package/dist/frontmatter.d.ts.map +0 -1
  968. package/dist/frontmatter.js +0 -46
  969. package/dist/frontmatter.js.map +0 -1
  970. package/dist/test/test/frontmatter.test.d.ts +0 -2
  971. package/dist/test/test/frontmatter.test.d.ts.map +0 -1
  972. package/dist/test/test/frontmatter.test.js +0 -55
  973. package/dist/test/test/frontmatter.test.js.map +0 -1
@@ -1,1045 +0,0 @@
1
- > This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
2
-
3
- **Navigation:** [Guides](./guides.md) > [AI Integration](./user-interface/ai-integration.md) > [IMG.LY AI Gateway](./user-interface/ai-integration/gateway-provider.md) > [Plugins](./plugins.md) > [AI: IMG.LY AI Gateway](./user-interface/ai-integration/gateway-provider.md)
4
-
5
- ---
6
-
7
- Connect CE.SDK to AI models for image, video, text, and audio generation through the IMG.LY AI Gateway.
8
-
9
- ![AI Generation with the IMG.LY AI Gateway](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
10
-
11
- > **Reading time:** 10 minutes
12
- >
13
- > **Resources:**
14
- >
15
- > - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
16
- > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-user-interface-ai-integration-gateway-provider-browser)
17
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-user-interface-ai-integration-gateway-provider-browser)
18
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-user-interface-ai-integration-gateway-provider-browser/)
19
-
20
- The IMG.LY AI Gateway is a managed API service that sits between CE.SDK and upstream AI providers. Instead of configuring each provider separately with proxy URLs and API keys, we point all generation requests at a single gateway URL. The gateway handles model routing, authentication, billing, and credit management. Each content type has a dedicated `GatewayProvider` factory that fetches the model's OpenAPI schema and renders input fields automatically.
21
-
22
- ```typescript file=@cesdk_web_examples/guides-user-interface-ai-integration-gateway-provider-browser/browser.ts reference-only
23
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
24
-
25
- import {
26
- BlurAssetSource,
27
- ColorPaletteAssetSource,
28
- CropPresetsAssetSource,
29
- DemoAssetSources,
30
- EffectsAssetSource,
31
- FiltersAssetSource,
32
- PagePresetsAssetSource,
33
- StickerAssetSource,
34
- TextAssetSource,
35
- TextComponentAssetSource,
36
- TypefaceAssetSource,
37
- UploadAssetSources,
38
- VectorShapeAssetSource
39
- } from '@cesdk/cesdk-js/plugins';
40
- import { DesignEditorConfig } from './design-editor/plugin';
41
- import ImageGeneration from '@imgly/plugin-ai-image-generation-web';
42
- import { GatewayProvider as ImageGatewayProvider } from '@imgly/plugin-ai-image-generation-web/gateway';
43
- import TextGeneration from '@imgly/plugin-ai-text-generation-web';
44
- import { GatewayProvider as TextGatewayProvider } from '@imgly/plugin-ai-text-generation-web/gateway';
45
- import VideoGeneration from '@imgly/plugin-ai-video-generation-web';
46
- import { GatewayProvider as VideoGatewayProvider } from '@imgly/plugin-ai-video-generation-web/gateway';
47
- import AudioGeneration from '@imgly/plugin-ai-audio-generation-web';
48
- import { GatewayProvider as AudioGatewayProvider } from '@imgly/plugin-ai-audio-generation-web/gateway';
49
- import packageJson from './package.json';
50
-
51
- class Example implements EditorPlugin {
52
- name = packageJson.name;
53
- version = packageJson.version;
54
-
55
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
56
- if (!cesdk) {
57
- throw new Error('CE.SDK instance is required for this plugin');
58
- }
59
-
60
- await cesdk.addPlugin(new DesignEditorConfig());
61
-
62
- // Add asset source plugins
63
- await cesdk.addPlugin(new BlurAssetSource());
64
- await cesdk.addPlugin(new ColorPaletteAssetSource());
65
- await cesdk.addPlugin(new CropPresetsAssetSource());
66
- await cesdk.addPlugin(
67
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
68
- );
69
- await cesdk.addPlugin(
70
- new DemoAssetSources({
71
- include: [
72
- 'ly.img.templates.blank.*',
73
- 'ly.img.templates.presentation.*',
74
- 'ly.img.templates.print.*',
75
- 'ly.img.templates.social.*',
76
- 'ly.img.image.*'
77
- ]
78
- })
79
- );
80
- await cesdk.addPlugin(new EffectsAssetSource());
81
- await cesdk.addPlugin(new FiltersAssetSource());
82
- await cesdk.addPlugin(new PagePresetsAssetSource());
83
- await cesdk.addPlugin(new StickerAssetSource());
84
- await cesdk.addPlugin(new TextAssetSource());
85
- await cesdk.addPlugin(new TextComponentAssetSource());
86
- await cesdk.addPlugin(new TypefaceAssetSource());
87
- await cesdk.addPlugin(new VectorShapeAssetSource());
88
-
89
- await cesdk.actions.run('scene.create', {
90
- page: {
91
- sourceId: 'ly.img.page.presets',
92
- assetId: 'ly.img.page.presets.print.iso.a6.landscape'
93
- }
94
- });
95
-
96
- // Register a token action that CE.SDK calls before each generation request.
97
- // In production, this calls your backend endpoint to mint a short-lived JWT.
98
- cesdk.actions.register('ly.img.ai.getToken', async () => {
99
- const res = await fetch('/api/ai/token', { method: 'POST' });
100
- const { token } = await res.json();
101
- return token;
102
- });
103
-
104
- // Alternative: use a direct API key for development (not for production)
105
- /*
106
- cesdk.actions.register('ly.img.ai.getToken', async () => {
107
- return { dangerouslyExposeApiKey: 'sk_your_api_key' };
108
- });
109
- */
110
-
111
- // All gateway providers share this configuration.
112
- // An empty object uses sensible defaults (gateway URL, token action ID, etc.).
113
- const gatewayConfig = {
114
- debug: true
115
- };
116
-
117
- // Configure image generation with text-to-image and image-to-image providers
118
- await cesdk.addPlugin(
119
- ImageGeneration({
120
- providers: {
121
- text2image: ImageGatewayProvider('bfl/flux-2', gatewayConfig),
122
- image2image: ImageGatewayProvider('bfl/flux-2-edit', gatewayConfig)
123
- }
124
- })
125
- );
126
-
127
- // Configure text generation with streaming output
128
- await cesdk.addPlugin(
129
- TextGeneration({
130
- providers: {
131
- text2text: TextGatewayProvider('openai/gpt-5.4-mini', gatewayConfig)
132
- }
133
- })
134
- );
135
-
136
- // Configure video generation with text-to-video and image-to-video providers
137
- await cesdk.addPlugin(
138
- VideoGeneration({
139
- providers: {
140
- text2video: VideoGatewayProvider(
141
- 'google/veo-3.1-fast',
142
- gatewayConfig
143
- ),
144
- image2video: VideoGatewayProvider(
145
- 'google/veo-3.1-fast-i2v',
146
- gatewayConfig
147
- )
148
- }
149
- })
150
- );
151
-
152
- // Configure audio generation with text-to-speech
153
- await cesdk.addPlugin(
154
- AudioGeneration({
155
- providers: {
156
- text2speech: AudioGatewayProvider(
157
- 'elevenlabs/eleven-v3-tts',
158
- gatewayConfig
159
- )
160
- }
161
- })
162
- );
163
-
164
- // Alternative: discover available models from the gateway and wire them
165
- // into providers by capability. Only models the API key's scopes permit
166
- // appear in the response.
167
- /*
168
- type GatewayModel = {
169
- id: string;
170
- name: string;
171
- creator: string;
172
- capability: string;
173
- };
174
- type ModelsByCapability = Partial<Record<string, GatewayModel[]>>;
175
-
176
- // Mint a short-lived JWT via the backend token endpoint (see highlight-token-action)
177
- const tokenRes = await fetch('/api/ai/token', { method: 'POST' });
178
- const { token } = await tokenRes.json();
179
-
180
- // GET /v1/models returns a flat array; ?groupBy=capability returns an object
181
- // keyed by capability (text2image, image2image, text2text, text2video,
182
- // image2video, text2speech, speech2text).
183
- const modelsRes = await fetch(
184
- 'https://gateway.img.ly/v1/models?groupBy=capability',
185
- { headers: { Authorization: `Bearer ${token}` } }
186
- );
187
- const modelsByCapability: ModelsByCapability = await modelsRes.json();
188
-
189
- await cesdk.addPlugin(
190
- ImageGeneration({
191
- providers: {
192
- text2image: modelsByCapability.text2image?.map((model) =>
193
- ImageGatewayProvider(model.id, gatewayConfig)
194
- ),
195
- image2image: modelsByCapability.image2image?.map((model) =>
196
- ImageGatewayProvider(model.id, gatewayConfig)
197
- )
198
- }
199
- })
200
- );
201
-
202
- await cesdk.addPlugin(
203
- VideoGeneration({
204
- providers: {
205
- text2video: modelsByCapability.text2video?.map((model) =>
206
- VideoGatewayProvider(model.id, gatewayConfig)
207
- ),
208
- image2video: modelsByCapability.image2video?.map((model) =>
209
- VideoGatewayProvider(model.id, gatewayConfig)
210
- )
211
- }
212
- })
213
- );
214
-
215
- await cesdk.addPlugin(
216
- TextGeneration({
217
- providers: {
218
- text2text: modelsByCapability.text2text?.map((model) =>
219
- TextGatewayProvider(model.id, gatewayConfig)
220
- )
221
- }
222
- })
223
- );
224
-
225
- await cesdk.addPlugin(
226
- AudioGeneration({
227
- providers: {
228
- text2speech: modelsByCapability.text2speech?.map((model) =>
229
- AudioGatewayProvider(model.id, gatewayConfig)
230
- )
231
- }
232
- })
233
- );
234
- */
235
-
236
- // You can also pass arrays of providers to offer model selection in the UI
237
- /*
238
- await cesdk.addPlugin(
239
- ImageGeneration({
240
- providers: {
241
- text2image: [
242
- ImageGatewayProvider('bfl/flux-2', gatewayConfig),
243
- ImageGatewayProvider('google/nano-banana-pro', gatewayConfig)
244
- ]
245
- }
246
- })
247
- );
248
- */
249
-
250
- // Customize provider labels in the UI
251
- /*
252
- cesdk.i18n.setTranslations({
253
- en: {
254
- 'ly.img.plugin-ai-image-generation-web.gateway/bfl/flux-2.defaults.property.prompt':
255
- 'Describe your image',
256
- },
257
- });
258
- */
259
-
260
- // Route generated assets through your own storage so scenes outlive
261
- // the short-lived gateway URL. The middleware rewrites the output URL
262
- // before CE.SDK wires it into a block fill.
263
- /*
264
- import { uploadMiddleware } from '@imgly/plugin-ai-generation-web';
265
-
266
- async function uploadToYourStorageServer(assetUrl: string): Promise<string> {
267
- // Replace with your actual storage API call
268
- const response = await fetch('https://your-server.com/api/store', {
269
- method: 'POST',
270
- headers: { 'Content-Type': 'application/json' },
271
- body: JSON.stringify({ url: assetUrl })
272
- });
273
- const { permanentUrl } = await response.json();
274
- return permanentUrl;
275
- }
276
-
277
- await cesdk.addPlugin(
278
- ImageGeneration({
279
- providers: {
280
- text2image: ImageGatewayProvider('bfl/flux-2', {
281
- ...gatewayConfig,
282
- middlewares: [
283
- uploadMiddleware(async (output) => ({
284
- ...output,
285
- url: await uploadToYourStorageServer(output.url)
286
- }))
287
- ]
288
- })
289
- }
290
- })
291
- );
292
- */
293
- }
294
- }
295
-
296
- export default Example;
297
- ```
298
-
299
- This guide covers obtaining an API key, setting up token-based authentication, configuring gateway providers for each content type (image, text, video, audio), and customizing provider behavior.
300
-
301
- ## Prerequisites
302
-
303
- Before setting up gateway providers, you need:
304
-
305
- - CE.SDK with the relevant AI generation plugin packages installed
306
- - An IMG.LY account with a gateway API key from the [Dashboard](https://img.ly/dashboard)
307
- - For production: a backend endpoint that mints short-lived JWT tokens
308
-
309
- ## Obtaining an API Key
310
-
311
- We create and manage API keys in the IMG.LY Dashboard. Keys use the `sk_` prefix and control which AI models and services your application can access. You configure model access scopes and credit budgets per key in the Dashboard.
312
-
313
- ## Authentication
314
-
315
- The gateway uses token-based authentication. Your API key (`sk_...`) should never be exposed in client-side code. Instead, we implement a token endpoint on your server that mints short-lived JWT tokens by calling the gateway's `POST /v1/tokens` endpoint. CE.SDK retrieves these tokens through a registered action.
316
-
317
- ### Backend Token Endpoint (Production)
318
-
319
- The token endpoint drops into any existing backend with minimal effort. The handler does one thing: forward a `POST /v1/tokens` request to the gateway with our API key in the `Authorization` header and return the minted JWT to the client. No SDK, no database, no state — a single HTTP call. Optionally pass a `sub` claim to identify the end user for per-user rate limiting.
320
-
321
- The example below uses Express, but the same pattern works in any HTTP framework or language — Fastify, Hono, Next.js route handlers, FastAPI, Rails, Go's `net/http`, ASP.NET, and so on. The only requirement is the ability to make an outbound HTTP request and keep the API key out of client-side code.
322
-
323
- ```typescript
324
- // Express — any backend framework or language works the same way
325
- app.post('/api/ai/token', async (req, res) => {
326
- const response = await fetch('https://gateway.img.ly/v1/tokens', {
327
- method: 'POST',
328
- headers: {
329
- Authorization: `Bearer ${process.env.IMGLY_API_KEY}`,
330
- 'Content-Type': 'application/json'
331
- },
332
- body: JSON.stringify({ sub: req.user?.id })
333
- });
334
- const { token } = await response.json();
335
- res.json({ token });
336
- });
337
- ```
338
-
339
- On the frontend, we register a token action that CE.SDK calls automatically before each generation request. Tokens are cached for 5 minutes by default (configurable via `tokenCacheTTL`).
340
-
341
- ```typescript highlight-token-action
342
- // Register a token action that CE.SDK calls before each generation request.
343
- // In production, this calls your backend endpoint to mint a short-lived JWT.
344
- cesdk.actions.register('ly.img.ai.getToken', async () => {
345
- const res = await fetch('/api/ai/token', { method: 'POST' });
346
- const { token } = await res.json();
347
- return token;
348
- });
349
- ```
350
-
351
- ### Direct API Key (Development and Internal Tools)
352
-
353
- For local development or internal tools where all users are trusted, we can pass the API key directly. The key is visible in DevTools, so do not use this approach in public-facing applications.
354
-
355
- We return `{ dangerouslyExposeApiKey: 'sk_...' }` from the token action. CE.SDK rejects raw `sk_` strings — the wrapper object makes the security trade-off explicit. Manage exposure via key scopes and credit budgets in the Dashboard.
356
-
357
- ```typescript highlight-direct-api-key
358
- cesdk.actions.register('ly.img.ai.getToken', async () => {
359
- return { dangerouslyExposeApiKey: 'sk_your_api_key' };
360
- });
361
- ```
362
-
363
- ## Gateway Provider Configuration
364
-
365
- All gateway providers share a `GatewayProviderConfiguration` object. An empty object is sufficient in most cases — the gateway URL and token action ID have sensible defaults.
366
-
367
- ```typescript highlight-gateway-config
368
- // All gateway providers share this configuration.
369
- // An empty object uses sensible defaults (gateway URL, token action ID, etc.).
370
- const gatewayConfig = {
371
- debug: true
372
- };
373
- ```
374
-
375
- The available configuration options are:
376
-
377
- - **`gatewayUrl`**: Base URL of the gateway service. Defaults to `'https://gateway.img.ly'`.
378
- - **`history`**: Where generated assets are stored. Defaults to `'@imgly/indexedDB'`. Set to `'@imgly/local'` for in-memory storage or `false` to disable.
379
- - **`tokenActionId`**: Action ID for token retrieval. Defaults to `'ly.img.ai.getToken'`.
380
- - **`tokenCacheTTL`**: Token cache duration in milliseconds. Defaults to `300000` (5 minutes).
381
- - **`middlewares`**: Middleware functions that wrap the generation call. See [Middleware](#middleware).
382
- - **`onError`**: Called when schema loading or provider initialization fails.
383
- - **`supportedQuickActions`**: Enable or disable individual quick actions on the gateway model. Map a quick-action ID to `false` to disable it, or `true` to keep the default. Omitted IDs keep their defaults.
384
- - **`debug`**: Enable console logging for troubleshooting.
385
-
386
- ## Middleware
387
-
388
- Gateway providers accept the shared `middlewares` option that every other AI provider exposes. Hook into generation for logging, rate limiting, custom error handling, or persisting outputs to your own storage.
389
-
390
- The most common use case is solving the short-lived URL problem described in [Asset URL Lifetime](#asset-url-lifetime): `uploadMiddleware` runs after generation completes and rewrites the returned URL, so CE.SDK sets the block fill from your persistent copy rather than the ephemeral gateway URL.
391
-
392
- ```typescript highlight-upload-middleware
393
- import { uploadMiddleware } from '@imgly/plugin-ai-generation-web';
394
-
395
- async function uploadToYourStorageServer(assetUrl: string): Promise<string> {
396
- // Replace with your actual storage API call
397
- const response = await fetch('https://your-server.com/api/store', {
398
- method: 'POST',
399
- headers: { 'Content-Type': 'application/json' },
400
- body: JSON.stringify({ url: assetUrl })
401
- });
402
- const { permanentUrl } = await response.json();
403
- return permanentUrl;
404
- }
405
-
406
- await cesdk.addPlugin(
407
- ImageGeneration({
408
- providers: {
409
- text2image: ImageGatewayProvider('bfl/flux-2', {
410
- ...gatewayConfig,
411
- middlewares: [
412
- uploadMiddleware(async (output) => ({
413
- ...output,
414
- url: await uploadToYourStorageServer(output.url)
415
- }))
416
- ]
417
- })
418
- }
419
- })
420
- );
421
- ```
422
-
423
- See [Integrate AI Features → Using Middleware](./user-interface/ai-integration/integrate.md) for the available middlewares, ordering semantics, and end-to-end examples.
424
-
425
- ## Asset URL Lifetime
426
-
427
- Output URLs the gateway returns for generated images, videos, and audio are short-lived presigned URLs. They are meant for immediate consumption — the plugin wires each URL into a block fill as soon as generation completes. Fetching the URL after its TTL elapses will fail, and any scene that still references it will render broken.
428
-
429
- The `history` option on `GatewayProviderConfiguration` softens this in the same browser:
430
-
431
- - `'@imgly/indexedDB'` (default): the plugin downloads each generated asset into the browser's IndexedDB. History-source lookups keep working after the gateway URL expires, but only in the browser that generated the asset.
432
- - `'@imgly/local'`: metadata only — history entries break once the gateway URL expires.
433
- - `false`: no history persistence.
434
-
435
- IndexedDB persistence does not rewrite block fills that were set from the ephemeral URL — the block still points at the original gateway URL. Scenes that need to outlive the TTL or travel between sessions and browsers should re-upload generated outputs to their own storage via [Middleware](#middleware) (`uploadMiddleware`) before the URL is wired into the block.
436
-
437
- ## Setting Up Image Generation
438
-
439
- We import `GatewayProvider` from `@imgly/plugin-ai-image-generation-web/gateway` and the default export from `@imgly/plugin-ai-image-generation-web`. We create providers via `GatewayProvider(modelId, config)` for text-to-image and image-to-image models.
440
-
441
- The image provider fetches the model schema, renders input fields, uploads local blob/buffer URLs, and creates placeholder blocks that fill with the generated result.
442
-
443
- ```typescript highlight-image-generation
444
- import ImageGeneration from '@imgly/plugin-ai-image-generation-web';
445
- import { GatewayProvider as ImageGatewayProvider } from '@imgly/plugin-ai-image-generation-web/gateway';
446
- import TextGeneration from '@imgly/plugin-ai-text-generation-web';
447
- import { GatewayProvider as TextGatewayProvider } from '@imgly/plugin-ai-text-generation-web/gateway';
448
- import VideoGeneration from '@imgly/plugin-ai-video-generation-web';
449
- import { GatewayProvider as VideoGatewayProvider } from '@imgly/plugin-ai-video-generation-web/gateway';
450
- import AudioGeneration from '@imgly/plugin-ai-audio-generation-web';
451
- import { GatewayProvider as AudioGatewayProvider } from '@imgly/plugin-ai-audio-generation-web/gateway';
452
- import packageJson from './package.json';
453
-
454
- class Example implements EditorPlugin {
455
- name = packageJson.name;
456
- version = packageJson.version;
457
-
458
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
459
- if (!cesdk) {
460
- throw new Error('CE.SDK instance is required for this plugin');
461
- }
462
-
463
- await cesdk.addPlugin(new DesignEditorConfig());
464
-
465
- // Add asset source plugins
466
- await cesdk.addPlugin(new BlurAssetSource());
467
- await cesdk.addPlugin(new ColorPaletteAssetSource());
468
- await cesdk.addPlugin(new CropPresetsAssetSource());
469
- await cesdk.addPlugin(
470
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
471
- );
472
- await cesdk.addPlugin(
473
- new DemoAssetSources({
474
- include: [
475
- 'ly.img.templates.blank.*',
476
- 'ly.img.templates.presentation.*',
477
- 'ly.img.templates.print.*',
478
- 'ly.img.templates.social.*',
479
- 'ly.img.image.*'
480
- ]
481
- })
482
- );
483
- await cesdk.addPlugin(new EffectsAssetSource());
484
- await cesdk.addPlugin(new FiltersAssetSource());
485
- await cesdk.addPlugin(new PagePresetsAssetSource());
486
- await cesdk.addPlugin(new StickerAssetSource());
487
- await cesdk.addPlugin(new TextAssetSource());
488
- await cesdk.addPlugin(new TextComponentAssetSource());
489
- await cesdk.addPlugin(new TypefaceAssetSource());
490
- await cesdk.addPlugin(new VectorShapeAssetSource());
491
-
492
- await cesdk.actions.run('scene.create', {
493
- page: {
494
- sourceId: 'ly.img.page.presets',
495
- assetId: 'ly.img.page.presets.print.iso.a6.landscape'
496
- }
497
- });
498
-
499
- // Register a token action that CE.SDK calls before each generation request.
500
- // In production, this calls your backend endpoint to mint a short-lived JWT.
501
- cesdk.actions.register('ly.img.ai.getToken', async () => {
502
- const res = await fetch('/api/ai/token', { method: 'POST' });
503
- const { token } = await res.json();
504
- return token;
505
- });
506
-
507
- // Alternative: use a direct API key for development (not for production)
508
- /*
509
- cesdk.actions.register('ly.img.ai.getToken', async () => {
510
- return { dangerouslyExposeApiKey: 'sk_your_api_key' };
511
- });
512
- */
513
-
514
- // All gateway providers share this configuration.
515
- // An empty object uses sensible defaults (gateway URL, token action ID, etc.).
516
- const gatewayConfig = {
517
- debug: true
518
- };
519
-
520
- // Configure image generation with text-to-image and image-to-image providers
521
- await cesdk.addPlugin(
522
- ImageGeneration({
523
- providers: {
524
- text2image: ImageGatewayProvider('bfl/flux-2', gatewayConfig),
525
- image2image: ImageGatewayProvider('bfl/flux-2-edit', gatewayConfig)
526
- }
527
- })
528
- );
529
- ```
530
-
531
- ## Setting Up Text Generation
532
-
533
- We import `GatewayProvider` from `@imgly/plugin-ai-text-generation-web/gateway` and register it under `providers.text2text`. The text provider streams responses via SSE delta events and applies them to text blocks in real time. It maps `prompt` input to `messages: [{ role: 'user', content: prompt }]` automatically.
534
-
535
- ```typescript highlight-text-generation
536
- import TextGeneration from '@imgly/plugin-ai-text-generation-web';
537
- import { GatewayProvider as TextGatewayProvider } from '@imgly/plugin-ai-text-generation-web/gateway';
538
- import VideoGeneration from '@imgly/plugin-ai-video-generation-web';
539
- import { GatewayProvider as VideoGatewayProvider } from '@imgly/plugin-ai-video-generation-web/gateway';
540
- import AudioGeneration from '@imgly/plugin-ai-audio-generation-web';
541
- import { GatewayProvider as AudioGatewayProvider } from '@imgly/plugin-ai-audio-generation-web/gateway';
542
- import packageJson from './package.json';
543
-
544
- class Example implements EditorPlugin {
545
- name = packageJson.name;
546
- version = packageJson.version;
547
-
548
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
549
- if (!cesdk) {
550
- throw new Error('CE.SDK instance is required for this plugin');
551
- }
552
-
553
- await cesdk.addPlugin(new DesignEditorConfig());
554
-
555
- // Add asset source plugins
556
- await cesdk.addPlugin(new BlurAssetSource());
557
- await cesdk.addPlugin(new ColorPaletteAssetSource());
558
- await cesdk.addPlugin(new CropPresetsAssetSource());
559
- await cesdk.addPlugin(
560
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
561
- );
562
- await cesdk.addPlugin(
563
- new DemoAssetSources({
564
- include: [
565
- 'ly.img.templates.blank.*',
566
- 'ly.img.templates.presentation.*',
567
- 'ly.img.templates.print.*',
568
- 'ly.img.templates.social.*',
569
- 'ly.img.image.*'
570
- ]
571
- })
572
- );
573
- await cesdk.addPlugin(new EffectsAssetSource());
574
- await cesdk.addPlugin(new FiltersAssetSource());
575
- await cesdk.addPlugin(new PagePresetsAssetSource());
576
- await cesdk.addPlugin(new StickerAssetSource());
577
- await cesdk.addPlugin(new TextAssetSource());
578
- await cesdk.addPlugin(new TextComponentAssetSource());
579
- await cesdk.addPlugin(new TypefaceAssetSource());
580
- await cesdk.addPlugin(new VectorShapeAssetSource());
581
-
582
- await cesdk.actions.run('scene.create', {
583
- page: {
584
- sourceId: 'ly.img.page.presets',
585
- assetId: 'ly.img.page.presets.print.iso.a6.landscape'
586
- }
587
- });
588
-
589
- // Register a token action that CE.SDK calls before each generation request.
590
- // In production, this calls your backend endpoint to mint a short-lived JWT.
591
- cesdk.actions.register('ly.img.ai.getToken', async () => {
592
- const res = await fetch('/api/ai/token', { method: 'POST' });
593
- const { token } = await res.json();
594
- return token;
595
- });
596
-
597
- // Alternative: use a direct API key for development (not for production)
598
- /*
599
- cesdk.actions.register('ly.img.ai.getToken', async () => {
600
- return { dangerouslyExposeApiKey: 'sk_your_api_key' };
601
- });
602
- */
603
-
604
- // All gateway providers share this configuration.
605
- // An empty object uses sensible defaults (gateway URL, token action ID, etc.).
606
- const gatewayConfig = {
607
- debug: true
608
- };
609
-
610
- // Configure image generation with text-to-image and image-to-image providers
611
- await cesdk.addPlugin(
612
- ImageGeneration({
613
- providers: {
614
- text2image: ImageGatewayProvider('bfl/flux-2', gatewayConfig),
615
- image2image: ImageGatewayProvider('bfl/flux-2-edit', gatewayConfig)
616
- }
617
- })
618
- );
619
-
620
- // Configure text generation with streaming output
621
- await cesdk.addPlugin(
622
- TextGeneration({
623
- providers: {
624
- text2text: TextGatewayProvider('openai/gpt-5.4-mini', gatewayConfig)
625
- }
626
- })
627
- );
628
- ```
629
-
630
- ## Setting Up Video Generation
631
-
632
- We import `GatewayProvider` from `@imgly/plugin-ai-video-generation-web/gateway`. We create providers for text-to-video and image-to-video models. The video provider handles local image uploads, aspect ratio matching, and duration parsing.
633
-
634
- ```typescript highlight-video-generation
635
- import VideoGeneration from '@imgly/plugin-ai-video-generation-web';
636
- import { GatewayProvider as VideoGatewayProvider } from '@imgly/plugin-ai-video-generation-web/gateway';
637
- import AudioGeneration from '@imgly/plugin-ai-audio-generation-web';
638
- import { GatewayProvider as AudioGatewayProvider } from '@imgly/plugin-ai-audio-generation-web/gateway';
639
- import packageJson from './package.json';
640
-
641
- class Example implements EditorPlugin {
642
- name = packageJson.name;
643
- version = packageJson.version;
644
-
645
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
646
- if (!cesdk) {
647
- throw new Error('CE.SDK instance is required for this plugin');
648
- }
649
-
650
- await cesdk.addPlugin(new DesignEditorConfig());
651
-
652
- // Add asset source plugins
653
- await cesdk.addPlugin(new BlurAssetSource());
654
- await cesdk.addPlugin(new ColorPaletteAssetSource());
655
- await cesdk.addPlugin(new CropPresetsAssetSource());
656
- await cesdk.addPlugin(
657
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
658
- );
659
- await cesdk.addPlugin(
660
- new DemoAssetSources({
661
- include: [
662
- 'ly.img.templates.blank.*',
663
- 'ly.img.templates.presentation.*',
664
- 'ly.img.templates.print.*',
665
- 'ly.img.templates.social.*',
666
- 'ly.img.image.*'
667
- ]
668
- })
669
- );
670
- await cesdk.addPlugin(new EffectsAssetSource());
671
- await cesdk.addPlugin(new FiltersAssetSource());
672
- await cesdk.addPlugin(new PagePresetsAssetSource());
673
- await cesdk.addPlugin(new StickerAssetSource());
674
- await cesdk.addPlugin(new TextAssetSource());
675
- await cesdk.addPlugin(new TextComponentAssetSource());
676
- await cesdk.addPlugin(new TypefaceAssetSource());
677
- await cesdk.addPlugin(new VectorShapeAssetSource());
678
-
679
- await cesdk.actions.run('scene.create', {
680
- page: {
681
- sourceId: 'ly.img.page.presets',
682
- assetId: 'ly.img.page.presets.print.iso.a6.landscape'
683
- }
684
- });
685
-
686
- // Register a token action that CE.SDK calls before each generation request.
687
- // In production, this calls your backend endpoint to mint a short-lived JWT.
688
- cesdk.actions.register('ly.img.ai.getToken', async () => {
689
- const res = await fetch('/api/ai/token', { method: 'POST' });
690
- const { token } = await res.json();
691
- return token;
692
- });
693
-
694
- // Alternative: use a direct API key for development (not for production)
695
- /*
696
- cesdk.actions.register('ly.img.ai.getToken', async () => {
697
- return { dangerouslyExposeApiKey: 'sk_your_api_key' };
698
- });
699
- */
700
-
701
- // All gateway providers share this configuration.
702
- // An empty object uses sensible defaults (gateway URL, token action ID, etc.).
703
- const gatewayConfig = {
704
- debug: true
705
- };
706
-
707
- // Configure image generation with text-to-image and image-to-image providers
708
- await cesdk.addPlugin(
709
- ImageGeneration({
710
- providers: {
711
- text2image: ImageGatewayProvider('bfl/flux-2', gatewayConfig),
712
- image2image: ImageGatewayProvider('bfl/flux-2-edit', gatewayConfig)
713
- }
714
- })
715
- );
716
-
717
- // Configure text generation with streaming output
718
- await cesdk.addPlugin(
719
- TextGeneration({
720
- providers: {
721
- text2text: TextGatewayProvider('openai/gpt-5.4-mini', gatewayConfig)
722
- }
723
- })
724
- );
725
-
726
- // Configure video generation with text-to-video and image-to-video providers
727
- await cesdk.addPlugin(
728
- VideoGeneration({
729
- providers: {
730
- text2video: VideoGatewayProvider(
731
- 'google/veo-3.1-fast',
732
- gatewayConfig
733
- ),
734
- image2video: VideoGatewayProvider(
735
- 'google/veo-3.1-fast-i2v',
736
- gatewayConfig
737
- )
738
- }
739
- })
740
- );
741
- ```
742
-
743
- ## Setting Up Audio Generation
744
-
745
- We import `GatewayProvider` from `@imgly/plugin-ai-audio-generation-web/gateway`. The audio provider fetches the generated audio blob to derive duration and generates a waveform thumbnail.
746
-
747
- ```typescript highlight-audio-generation
748
- import AudioGeneration from '@imgly/plugin-ai-audio-generation-web';
749
- import { GatewayProvider as AudioGatewayProvider } from '@imgly/plugin-ai-audio-generation-web/gateway';
750
- import packageJson from './package.json';
751
-
752
- class Example implements EditorPlugin {
753
- name = packageJson.name;
754
- version = packageJson.version;
755
-
756
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
757
- if (!cesdk) {
758
- throw new Error('CE.SDK instance is required for this plugin');
759
- }
760
-
761
- await cesdk.addPlugin(new DesignEditorConfig());
762
-
763
- // Add asset source plugins
764
- await cesdk.addPlugin(new BlurAssetSource());
765
- await cesdk.addPlugin(new ColorPaletteAssetSource());
766
- await cesdk.addPlugin(new CropPresetsAssetSource());
767
- await cesdk.addPlugin(
768
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
769
- );
770
- await cesdk.addPlugin(
771
- new DemoAssetSources({
772
- include: [
773
- 'ly.img.templates.blank.*',
774
- 'ly.img.templates.presentation.*',
775
- 'ly.img.templates.print.*',
776
- 'ly.img.templates.social.*',
777
- 'ly.img.image.*'
778
- ]
779
- })
780
- );
781
- await cesdk.addPlugin(new EffectsAssetSource());
782
- await cesdk.addPlugin(new FiltersAssetSource());
783
- await cesdk.addPlugin(new PagePresetsAssetSource());
784
- await cesdk.addPlugin(new StickerAssetSource());
785
- await cesdk.addPlugin(new TextAssetSource());
786
- await cesdk.addPlugin(new TextComponentAssetSource());
787
- await cesdk.addPlugin(new TypefaceAssetSource());
788
- await cesdk.addPlugin(new VectorShapeAssetSource());
789
-
790
- await cesdk.actions.run('scene.create', {
791
- page: {
792
- sourceId: 'ly.img.page.presets',
793
- assetId: 'ly.img.page.presets.print.iso.a6.landscape'
794
- }
795
- });
796
-
797
- // Register a token action that CE.SDK calls before each generation request.
798
- // In production, this calls your backend endpoint to mint a short-lived JWT.
799
- cesdk.actions.register('ly.img.ai.getToken', async () => {
800
- const res = await fetch('/api/ai/token', { method: 'POST' });
801
- const { token } = await res.json();
802
- return token;
803
- });
804
-
805
- // Alternative: use a direct API key for development (not for production)
806
- /*
807
- cesdk.actions.register('ly.img.ai.getToken', async () => {
808
- return { dangerouslyExposeApiKey: 'sk_your_api_key' };
809
- });
810
- */
811
-
812
- // All gateway providers share this configuration.
813
- // An empty object uses sensible defaults (gateway URL, token action ID, etc.).
814
- const gatewayConfig = {
815
- debug: true
816
- };
817
-
818
- // Configure image generation with text-to-image and image-to-image providers
819
- await cesdk.addPlugin(
820
- ImageGeneration({
821
- providers: {
822
- text2image: ImageGatewayProvider('bfl/flux-2', gatewayConfig),
823
- image2image: ImageGatewayProvider('bfl/flux-2-edit', gatewayConfig)
824
- }
825
- })
826
- );
827
-
828
- // Configure text generation with streaming output
829
- await cesdk.addPlugin(
830
- TextGeneration({
831
- providers: {
832
- text2text: TextGatewayProvider('openai/gpt-5.4-mini', gatewayConfig)
833
- }
834
- })
835
- );
836
-
837
- // Configure video generation with text-to-video and image-to-video providers
838
- await cesdk.addPlugin(
839
- VideoGeneration({
840
- providers: {
841
- text2video: VideoGatewayProvider(
842
- 'google/veo-3.1-fast',
843
- gatewayConfig
844
- ),
845
- image2video: VideoGatewayProvider(
846
- 'google/veo-3.1-fast-i2v',
847
- gatewayConfig
848
- )
849
- }
850
- })
851
- );
852
-
853
- // Configure audio generation with text-to-speech
854
- await cesdk.addPlugin(
855
- AudioGeneration({
856
- providers: {
857
- text2speech: AudioGatewayProvider(
858
- 'elevenlabs/eleven-v3-tts',
859
- gatewayConfig
860
- )
861
- }
862
- })
863
- );
864
- ```
865
-
866
- ## Multiple Providers and Model Selection
867
-
868
- When we configure arrays of providers for a content type, CE.SDK shows a model selection dropdown. Gateway and direct providers can be combined in the same plugin.
869
-
870
- ```typescript highlight-multiple-providers
871
- await cesdk.addPlugin(
872
- ImageGeneration({
873
- providers: {
874
- text2image: [
875
- ImageGatewayProvider('bfl/flux-2', gatewayConfig),
876
- ImageGatewayProvider('google/nano-banana-pro', gatewayConfig)
877
- ]
878
- }
879
- })
880
- );
881
- ```
882
-
883
- ## Dynamic Model Discovery
884
-
885
- We can also fetch available models from the gateway API and create providers dynamically instead of hard-coding model IDs. Only models that the API key's scopes permit appear in the response — we use this to keep the UI in sync with whatever we have provisioned in the Dashboard.
886
-
887
- The gateway exposes two query shapes:
888
-
889
- - `GET /v1/models` — flat array of all accessible models
890
- - `GET /v1/models?groupBy=capability` — object keyed by capability
891
-
892
- Both require a `Authorization: Bearer <token>` header. Each entry has the following shape:
893
-
894
- ```json
895
- {
896
- "id": "bfl/flux-2",
897
- "name": "FLUX.2",
898
- "creator": "Black Forest Labs",
899
- "capability": "text2image"
900
- }
901
- ```
902
-
903
- Supported capabilities are `text2image`, `image2image`, `text2text`, `text2video`, `image2video`, `text2speech`, and `speech2text`. We fetch the grouped form, loop by capability, and instantiate the matching `GatewayProvider` for each `model.id`.
904
-
905
- ```typescript highlight-dynamic-models
906
- type GatewayModel = {
907
- id: string;
908
- name: string;
909
- creator: string;
910
- capability: string;
911
- };
912
- type ModelsByCapability = Partial<Record<string, GatewayModel[]>>;
913
-
914
- // Mint a short-lived JWT via the backend token endpoint (see highlight-token-action)
915
- const tokenRes = await fetch('/api/ai/token', { method: 'POST' });
916
- const { token } = await tokenRes.json();
917
-
918
- // GET /v1/models returns a flat array; ?groupBy=capability returns an object
919
- // keyed by capability (text2image, image2image, text2text, text2video,
920
- // image2video, text2speech, speech2text).
921
- const modelsRes = await fetch(
922
- 'https://gateway.img.ly/v1/models?groupBy=capability',
923
- { headers: { Authorization: `Bearer ${token}` } }
924
- );
925
- const modelsByCapability: ModelsByCapability = await modelsRes.json();
926
-
927
- await cesdk.addPlugin(
928
- ImageGeneration({
929
- providers: {
930
- text2image: modelsByCapability.text2image?.map((model) =>
931
- ImageGatewayProvider(model.id, gatewayConfig)
932
- ),
933
- image2image: modelsByCapability.image2image?.map((model) =>
934
- ImageGatewayProvider(model.id, gatewayConfig)
935
- )
936
- }
937
- })
938
- );
939
-
940
- await cesdk.addPlugin(
941
- VideoGeneration({
942
- providers: {
943
- text2video: modelsByCapability.text2video?.map((model) =>
944
- VideoGatewayProvider(model.id, gatewayConfig)
945
- ),
946
- image2video: modelsByCapability.image2video?.map((model) =>
947
- VideoGatewayProvider(model.id, gatewayConfig)
948
- )
949
- }
950
- })
951
- );
952
-
953
- await cesdk.addPlugin(
954
- TextGeneration({
955
- providers: {
956
- text2text: modelsByCapability.text2text?.map((model) =>
957
- TextGatewayProvider(model.id, gatewayConfig)
958
- )
959
- }
960
- })
961
- );
962
-
963
- await cesdk.addPlugin(
964
- AudioGeneration({
965
- providers: {
966
- text2speech: modelsByCapability.text2speech?.map((model) =>
967
- AudioGatewayProvider(model.id, gatewayConfig)
968
- )
969
- }
970
- })
971
- );
972
- ```
973
-
974
- ## Customizing Labels and Translations
975
-
976
- Gateway providers register translation keys using the pattern `ly.img.plugin-ai-{kind}-generation-web.gateway/{modelId}.defaults.property.{propertyId}`. We override these via `cesdk.i18n.setTranslations()` before plugin initialization.
977
-
978
- ```typescript highlight-translations
979
- cesdk.i18n.setTranslations({
980
- en: {
981
- 'ly.img.plugin-ai-image-generation-web.gateway/bfl/flux-2.defaults.property.prompt':
982
- 'Describe your image'
983
- }
984
- });
985
- ```
986
-
987
- ## Troubleshooting
988
-
989
- Common issues when configuring gateway providers:
990
-
991
- **"returned a raw API key" error**: The token action returned a string starting with `sk_`. Either use the `{ dangerouslyExposeApiKey }` wrapper or implement a backend token endpoint.
992
-
993
- **"returned an empty token string"**: The token action returned an empty string. Check your backend endpoint returns a valid JWT.
994
-
995
- **Schema loading fails**: If using a custom `gatewayUrl`, verify it is correct and accessible. Check the `onError` callback for details.
996
-
997
- **Generation returns 401**: The JWT has expired or the API key was revoked. Check the `tokenCacheTTL` setting and Dashboard key status.
998
-
999
- **Model not available**: The API key's scopes may not include the requested model. Check scope configuration in the Dashboard.
1000
-
1001
- **Local images not uploading**: The gateway provider uploads `blob:` and `buffer:` URLs automatically. Ensure the gateway URL supports the `/v1/uploads` endpoint.
1002
-
1003
- **Credit errors**: Check your credit balance in the IMG.LY Dashboard. Credits are claimed before generation and released on failure.
1004
-
1005
- **CORS errors**: The gateway must allow requests from your application's origin.
1006
-
1007
- **Previously-generated assets appear broken after some time**: The gateway's output URLs are short-lived presigned URLs. Keep `history: '@imgly/indexedDB'` (default) for persistent history lookups in the same browser, or use `uploadMiddleware` to re-upload outputs to your own storage — see [Middleware](#middleware) and [Asset URL Lifetime](#asset-url-lifetime).
1008
-
1009
- ## API Reference
1010
-
1011
- | Method / Type | Category | Purpose |
1012
- | ------------------------------ | -------- | -------------------------------------------------------------------- |
1013
- | `GatewayProvider()` (image) | Provider | Create image generation provider for a gateway model |
1014
- | `GatewayProvider()` (text) | Provider | Create text generation provider with streaming |
1015
- | `GatewayProvider()` (video) | Provider | Create video generation provider for a gateway model |
1016
- | `GatewayProvider()` (audio) | Provider | Create audio generation provider for a gateway model |
1017
- | `createGatewayProvider()` | Core | Generic factory for building custom gateway providers |
1018
- | `createGatewayClient()` | Core | Create a low-level HTTP client for the gateway API |
1019
- | `GatewayProviderConfiguration` | Type | Configuration interface shared by all gateway providers |
1020
- | `GatewayTokenActionResult` | Type | Return type for the token action (string or dangerouslyExposeApiKey) |
1021
- | `ImageGeneration` | Plugin | Default export from `@imgly/plugin-ai-image-generation-web` |
1022
- | `TextGeneration` | Plugin | Default export from `@imgly/plugin-ai-text-generation-web` |
1023
- | `VideoGeneration` | Plugin | Default export from `@imgly/plugin-ai-video-generation-web` |
1024
- | `AudioGeneration` | Plugin | Default export from `@imgly/plugin-ai-audio-generation-web` |
1025
- | `cesdk.addPlugin()` | Plugin | Register a plugin with the editor |
1026
- | `cesdk.actions.register()` | Action | Register a named action (used for token retrieval) |
1027
- | `cesdk.i18n.setTranslations()` | I18n | Customize UI labels and translations |
1028
-
1029
- ## Next Steps
1030
-
1031
- - [Image Generation](./user-interface/ai-integration/image-generation.md) — Direct provider configuration for image models
1032
- - [Text Generation](./user-interface/ai-integration/text-generation.md) — Direct provider configuration for text models
1033
- - [Video Generation](./user-interface/ai-integration/video-generation.md) — Direct provider configuration for video models
1034
- - [Audio Generation](./user-interface/ai-integration/audio-generation.md) — Direct provider configuration for audio models
1035
- - [Custom Provider](./user-interface/ai-integration/custom-provider.md) — Build a provider from scratch using the core interface
1036
- - [Integrate AI Features](./user-interface/ai-integration/integrate.md) — Overview of AI integration in CE.SDK
1037
-
1038
- ---
1039
-
1040
- ## More Resources
1041
-
1042
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
1043
- - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
1044
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
1045
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support