@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.
- package/README.md +51 -1
- package/assets/docs/guide/SKILL.md +45 -53
- package/assets/docs/guide/animation/create/base.md +234 -243
- package/assets/docs/guide/animation/create/text.md +250 -231
- package/assets/docs/guide/animation/create.md +197 -231
- package/assets/docs/guide/animation/edit.md +196 -271
- package/assets/docs/guide/animation/types.md +182 -185
- package/assets/docs/guide/animation.md +9 -6
- package/assets/docs/guide/api/AssetAPI.md +7 -53
- package/assets/docs/guide/api/BlockAPI.md +725 -648
- package/assets/docs/guide/api/CreativeEngine.md +7 -16
- package/assets/docs/guide/api/EditorAPI.md +32 -93
- package/assets/docs/guide/api/EventAPI.md +1 -2
- package/assets/docs/guide/api/SceneAPI.md +47 -98
- package/assets/docs/guide/api/VariableAPI.md +1 -4
- package/assets/docs/guide/api/node/classes/assetapi.md +1090 -0
- package/assets/docs/guide/api/node/classes/blockapi.md +12965 -0
- package/assets/docs/guide/api/node/classes/creativeengine.md +319 -0
- package/assets/docs/guide/api/node/classes/editorapi.md +3417 -0
- package/assets/docs/guide/api/node/classes/engineactions.md +319 -0
- package/assets/docs/guide/api/node/classes/eventapi.md +56 -0
- package/assets/docs/guide/api/node/classes/sceneapi.md +1370 -0
- package/assets/docs/guide/api/node/classes/variableapi.md +143 -0
- package/assets/docs/guide/api/node/enumerations/compressionformat.md +23 -0
- package/assets/docs/guide/api/node/enumerations/compressionlevel.md +24 -0
- package/assets/docs/guide/api/node/functions/iscmykcolor.md +30 -0
- package/assets/docs/guide/api/node/functions/isrgbacolor.md +30 -0
- package/assets/docs/guide/api/node/functions/isspotcolor.md +30 -0
- package/assets/docs/guide/api/node/interfaces/addvideooptions.md +31 -0
- package/assets/docs/guide/api/node/interfaces/applyassetoptions.md +31 -0
- package/assets/docs/guide/api/node/interfaces/asset.md +30 -0
- package/assets/docs/guide/api/node/interfaces/assetbooleanproperty.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetcmykcolor.md +26 -0
- package/assets/docs/guide/api/node/interfaces/assetcolorproperty.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetcontentaspectratio.md +23 -0
- package/assets/docs/guide/api/node/interfaces/assetdefinition.md +31 -0
- package/assets/docs/guide/api/node/interfaces/assetenumproperty.md +26 -0
- package/assets/docs/guide/api/node/interfaces/assetfixedaspectratio.md +24 -0
- package/assets/docs/guide/api/node/interfaces/assetfixedsize.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetfreeaspectratio.md +22 -0
- package/assets/docs/guide/api/node/interfaces/assetnumberproperty.md +28 -0
- package/assets/docs/guide/api/node/interfaces/assetpayload.md +27 -0
- package/assets/docs/guide/api/node/interfaces/assetquerydata.md +32 -0
- package/assets/docs/guide/api/node/interfaces/assetresult.md +46 -0
- package/assets/docs/guide/api/node/interfaces/assetrgbcolor.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetsource.md +111 -0
- package/assets/docs/guide/api/node/interfaces/assetspotcolor.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetsqueryresult.md +31 -0
- package/assets/docs/guide/api/node/interfaces/assetstringproperty.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetstylepreset.md +39 -0
- package/assets/docs/guide/api/node/interfaces/assetstylepresetanimation.md +23 -0
- package/assets/docs/guide/api/node/interfaces/audiotrackinfo.md +32 -0
- package/assets/docs/guide/api/node/interfaces/blockevent.md +26 -0
- package/assets/docs/guide/api/node/interfaces/blockstateerror.md +26 -0
- package/assets/docs/guide/api/node/interfaces/blockstatepending.md +26 -0
- package/assets/docs/guide/api/node/interfaces/blockstateready.md +25 -0
- package/assets/docs/guide/api/node/interfaces/buffer.md +26 -0
- package/assets/docs/guide/api/node/interfaces/characterinkbox.md +29 -0
- package/assets/docs/guide/api/node/interfaces/cmykcolor.md +34 -0
- package/assets/docs/guide/api/node/interfaces/completeassetresult.md +46 -0
- package/assets/docs/guide/api/node/interfaces/configuration.md +38 -0
- package/assets/docs/guide/api/node/interfaces/dominantcolor.md +25 -0
- package/assets/docs/guide/api/node/interfaces/dominantcolorsoptions.md +23 -0
- package/assets/docs/guide/api/node/interfaces/engineactioninfo.md +24 -0
- package/assets/docs/guide/api/node/interfaces/engineactionsregistry.md +18 -0
- package/assets/docs/guide/api/node/interfaces/engineplugin.md +30 -0
- package/assets/docs/guide/api/node/interfaces/font.md +27 -0
- package/assets/docs/guide/api/node/interfaces/fontmetrics.md +32 -0
- package/assets/docs/guide/api/node/interfaces/gradientcolorstop.md +28 -0
- package/assets/docs/guide/api/node/interfaces/logger.md +39 -0
- package/assets/docs/guide/api/node/interfaces/pageduration.md +23 -0
- package/assets/docs/guide/api/node/interfaces/range.md +23 -0
- package/assets/docs/guide/api/node/interfaces/rgbacolor.md +32 -0
- package/assets/docs/guide/api/node/interfaces/rgbcolor.md +30 -0
- package/assets/docs/guide/api/node/interfaces/settings.md +126 -0
- package/assets/docs/guide/api/node/interfaces/size2.md +21 -0
- package/assets/docs/guide/api/node/interfaces/source.md +24 -0
- package/assets/docs/guide/api/node/interfaces/spotcolor.md +30 -0
- package/assets/docs/guide/api/node/interfaces/textdecorationconfig.md +31 -0
- package/assets/docs/guide/api/node/interfaces/textfontsizeoptions.md +24 -0
- package/assets/docs/guide/api/node/interfaces/textruninfo.md +33 -0
- package/assets/docs/guide/api/node/interfaces/transientresource.md +26 -0
- package/assets/docs/guide/api/node/interfaces/typeface.md +23 -0
- package/assets/docs/guide/api/node/interfaces/vec2.md +21 -0
- package/assets/docs/guide/api/node/interfaces/vec3.md +22 -0
- package/assets/docs/guide/api/node/type-aliases/addimageoptions.md +36 -0
- package/assets/docs/guide/api/node/type-aliases/animationbaselinedirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationblockswipetextdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationeasing.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationentry.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/animationgrowdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationjumploopdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationkenburnsdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationmergetextdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationoptions.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/animationspindirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationspinloopdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationtype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/animationtypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/animationtypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationtypewritertextwritingstyle.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationwipedirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/applicationmimetype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/assetcolor.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/assetfilter.md +47 -0
- package/assets/docs/guide/api/node/type-aliases/assetgroups.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/assetmetadata.md +42 -0
- package/assets/docs/guide/api/node/type-aliases/assetproperty.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/assetpropertyfilter.md +41 -0
- package/assets/docs/guide/api/node/type-aliases/assetpropertypath.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/assetstylepresetanimationproperties.md +34 -0
- package/assets/docs/guide/api/node/type-aliases/assetstylepresetproperties.md +29 -0
- package/assets/docs/guide/api/node/type-aliases/assetstylepresetpropertyvalue.md +29 -0
- package/assets/docs/guide/api/node/type-aliases/assetstylepresetscalableproperty.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/assettransformpreset.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/asyncuriresolver.md +36 -0
- package/assets/docs/guide/api/node/type-aliases/audioexportoptions.md +43 -0
- package/assets/docs/guide/api/node/type-aliases/audiofromvideooptions.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/audiomimetype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/blendmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/blockenumtype.md +63 -0
- package/assets/docs/guide/api/node/type-aliases/blockstate.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/blurtype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/blurtypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/blurtypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/booleanoperation.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/boolpropertyname.md +79 -0
- package/assets/docs/guide/api/node/type-aliases/cameraclampingovershootmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/captionhorizontalalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/captionverticalalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/cmyk.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/color.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/colorpickercolormode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/colorpropertyname.md +31 -0
- package/assets/docs/guide/api/node/type-aliases/colorspace.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/contentfillmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/controlgizmomovehandlevisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/controlgizmoresizehandlesvisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/controlgizmorotatehandlesvisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/controlgizmoscalehandlesvisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/createsceneoptions.md +30 -0
- package/assets/docs/guide/api/node/type-aliases/cutoutoperation.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/cutouttype.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/defaultassetsourceid.md +37 -0
- package/assets/docs/guide/api/node/type-aliases/demoassetsourceid.md +33 -0
- package/assets/docs/guide/api/node/type-aliases/designblockid.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/designblocktype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/designblocktypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/designblocktypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/designunit.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/doubleclickselectionmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/doublepropertyname.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/dropshadowoptions.md +32 -0
- package/assets/docs/guide/api/node/type-aliases/editmode.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/effecttype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/effecttypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/effecttypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/engineactionid.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/enginecustomactionfunction.md +30 -0
- package/assets/docs/guide/api/node/type-aliases/engineplugincontext.md +30 -0
- package/assets/docs/guide/api/node/type-aliases/enumpropertyname.md +59 -0
- package/assets/docs/guide/api/node/type-aliases/enumvalues.md +59 -0
- package/assets/docs/guide/api/node/type-aliases/exportoptions.md +57 -0
- package/assets/docs/guide/api/node/type-aliases/fillpixelstreamorientation.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/filltype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/filltypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/filltypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/floatpropertyname.md +184 -0
- package/assets/docs/guide/api/node/type-aliases/fontsizeunit.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/fontstyle.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/fontweight.md +30 -0
- package/assets/docs/guide/api/node/type-aliases/gradientstoprgba.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/heightmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/hexcolorstring.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/historyid.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/historyupdate.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/horizontalblockalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/horizontalcontentfillalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/horizontaltextalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/imagemimetype.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/intpropertyname.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/liststyle.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/locale.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/loglevel.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/mimetype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/objecttype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/objecttypelonghand.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/objecttypeshorthand.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/optionalprefix.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/pageguidessource.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/palettecolor.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/positionmode.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/positionxmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/positionymode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/propertytype.md +31 -0
- package/assets/docs/guide/api/node/type-aliases/rgba.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/rolestring.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/scenefontsizeunit.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/scenelayout.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/scenemode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/scope.md +50 -0
- package/assets/docs/guide/api/node/type-aliases/settingboolpropertyname.md +62 -0
- package/assets/docs/guide/api/node/type-aliases/settingcolorpropertyname.md +38 -0
- package/assets/docs/guide/api/node/type-aliases/settingenumpropertyname.md +29 -0
- package/assets/docs/guide/api/node/type-aliases/settingenumtype.md +33 -0
- package/assets/docs/guide/api/node/type-aliases/settingenumvalues.md +29 -0
- package/assets/docs/guide/api/node/type-aliases/settingfloatpropertyname.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/settingintpropertyname.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingkey.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/settingsbool.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingscolor.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/settingscolorrgba.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/settingsenum.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingsfloat.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingsint.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingsstring.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingstringpropertyname.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/settingtype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/settingvaluetype.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/shapetype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/shapetypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/shapetypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/shapevectorpathfillrule.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/sizemode.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/sortingorder.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/sourcesetpropertyname.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/splitoptions.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/stringpropertyname.md +43 -0
- package/assets/docs/guide/api/node/type-aliases/strokecap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokecornergeometry.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokedashendcap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokedashstartcap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokeendcap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokeposition.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokestartcap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokestyle.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/syncuriresolver.md +31 -0
- package/assets/docs/guide/api/node/type-aliases/textanimationwritingstyle.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/textcase.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/textdecorationline.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/textdecorationstyle.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/textverticalalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/timelinetrackvisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/touchpinchaction.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/touchrotateaction.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/typefacedefinition.md +41 -0
- package/assets/docs/guide/api/node/type-aliases/verticalblockalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/verticalcontentfillalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/videoexportoptions.md +54 -0
- package/assets/docs/guide/api/node/type-aliases/videomimetype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/widthmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/xywh.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/zoomautofitaxis.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/zoomoptions.md +27 -0
- package/assets/docs/guide/api/node/variables/animation_types.md +21 -0
- package/assets/docs/guide/api/node/variables/animationbaselinedirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationblockswipetextdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationeasingvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationgrowdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationjumploopdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationkenburnsdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationmergetextdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationspindirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationspinloopdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationtypewritertextwritingstylevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationwipedirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/blendmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/blur_types.md +21 -0
- package/assets/docs/guide/api/node/variables/cameraclampingovershootmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/captionhorizontalalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/captionverticalalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/colorpickercolormodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/contentfillmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/controlgizmomovehandlevisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/controlgizmoresizehandlesvisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/controlgizmorotatehandlesvisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/controlgizmoscalehandlesvisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/cutouttypevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/design_block_types.md +21 -0
- package/assets/docs/guide/api/node/variables/doubleclickselectionmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/effect_types.md +21 -0
- package/assets/docs/guide/api/node/variables/fill_types.md +21 -0
- package/assets/docs/guide/api/node/variables/fillpixelstreamorientationvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/heightmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/horizontalcontentfillalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/loglevel.md +37 -0
- package/assets/docs/guide/api/node/variables/mimetype.md +41 -0
- package/assets/docs/guide/api/node/variables/pageguidessourcevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/positionxmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/positionymodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/scenedesignunitvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/scenefontsizeunitvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/scenelayoutvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/scenemodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/shape_types.md +21 -0
- package/assets/docs/guide/api/node/variables/shapevectorpathfillrulevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokecapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokecornergeometryvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokedashendcapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokedashstartcapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokeendcapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokepositionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokestartcapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokestylevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/textanimationwritingstylevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/texthorizontalalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/textverticalalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/timelinetrackvisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/touchpinchactionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/touchrotateactionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/verticalcontentfillalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/widthmodevalues.md +18 -0
- package/assets/docs/guide/api/types.md +5 -9
- package/assets/docs/guide/api-reference/overview.md +7 -7
- package/assets/docs/guide/automation/auto-resize.md +263 -300
- package/assets/docs/guide/automation/data-merge.md +246 -275
- package/assets/docs/guide/automation/design-generation.md +102 -31
- package/assets/docs/guide/automation/multi-image-generation.md +758 -0
- package/assets/docs/guide/automation/overview.md +21 -4
- package/assets/docs/guide/automation.md +10 -5
- package/assets/docs/guide/capabilities.md +6 -4
- package/assets/docs/guide/colors/adjust.md +247 -249
- package/assets/docs/guide/colors/apply.md +127 -138
- package/assets/docs/guide/colors/basics.md +126 -150
- package/assets/docs/guide/colors/conversion.md +171 -177
- package/assets/docs/guide/colors/create-color-palette.md +244 -245
- package/assets/docs/guide/colors/extract-colors.md +144 -0
- package/assets/docs/guide/colors/for-print/cmyk.md +292 -352
- package/assets/docs/guide/colors/for-print/spot.md +521 -578
- package/assets/docs/guide/colors/for-print.md +9 -4
- package/assets/docs/guide/colors/for-screen/p3.md +12 -10
- package/assets/docs/guide/colors/for-screen/srgb.md +107 -133
- package/assets/docs/guide/colors/for-screen.md +9 -4
- package/assets/docs/guide/colors/overview.md +6 -4
- package/assets/docs/guide/colors/replace.md +381 -419
- package/assets/docs/guide/colors.md +9 -4
- package/assets/docs/guide/compatibility.md +7 -5
- package/assets/docs/guide/concepts/architecture.md +17 -15
- package/assets/docs/guide/concepts/assets.md +152 -140
- package/assets/docs/guide/concepts/blocks.md +227 -323
- package/assets/docs/guide/concepts/buffers.md +147 -276
- package/assets/docs/guide/concepts/design-units.md +95 -145
- package/assets/docs/guide/concepts/editing-workflow.md +69 -183
- package/assets/docs/guide/concepts/events.md +80 -122
- package/assets/docs/guide/concepts/headless-mode.md +237 -0
- package/assets/docs/guide/concepts/pages.md +137 -127
- package/assets/docs/guide/concepts/resources.md +156 -217
- package/assets/docs/guide/concepts/scenes.md +191 -210
- package/assets/docs/guide/concepts/templating.md +118 -74
- package/assets/docs/guide/concepts/terminology.md +49 -47
- package/assets/docs/guide/concepts/undo-and-history.md +229 -303
- package/assets/docs/guide/concepts.md +9 -7
- package/assets/docs/guide/configuration.md +252 -380
- package/assets/docs/guide/conversion/overview.md +33 -4
- package/assets/docs/guide/conversion/to-base64.md +127 -167
- package/assets/docs/guide/conversion/to-pdf.md +24 -474
- package/assets/docs/guide/conversion/to-png.md +168 -211
- package/assets/docs/guide/conversion.md +9 -4
- package/assets/docs/guide/create-audio/audio/add-music.md +301 -327
- package/assets/docs/guide/create-audio/audio/add-sound-effects.md +475 -359
- package/assets/docs/guide/create-audio/audio/loop.md +232 -272
- package/assets/docs/guide/create-composition/add-background.md +237 -239
- package/assets/docs/guide/create-composition/blend-modes.md +118 -209
- package/assets/docs/guide/create-composition/collage.md +538 -320
- package/assets/docs/guide/create-composition/group-and-ungroup.md +216 -261
- package/assets/docs/guide/create-composition/layer-management.md +219 -257
- package/assets/docs/guide/create-composition/layout.md +513 -315
- package/assets/docs/guide/create-composition/lock-design.md +90 -109
- package/assets/docs/guide/create-composition/multi-page.md +133 -113
- package/assets/docs/guide/create-composition/overview.md +16 -4
- package/assets/docs/guide/create-composition/programmatic.md +288 -344
- package/assets/docs/guide/create-composition.md +10 -5
- package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +443 -569
- package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +567 -470
- package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +179 -516
- package/assets/docs/guide/create-templates/add-dynamic-content.md +226 -224
- package/assets/docs/guide/create-templates/add-to-template-library.md +183 -193
- package/assets/docs/guide/create-templates/edit-or-remove.md +297 -303
- package/assets/docs/guide/create-templates/from-scratch.md +207 -268
- package/assets/docs/guide/create-templates/import/from-scene-file.md +158 -236
- package/assets/docs/guide/create-templates/import.md +145 -161
- package/assets/docs/guide/create-templates/lock.md +42 -295
- package/assets/docs/guide/create-templates/overview.md +33 -4
- package/assets/docs/guide/create-templates.md +9 -5
- package/assets/docs/guide/create-video/audio/adjust-speed.md +157 -207
- package/assets/docs/guide/create-video/audio/adjust-volume.md +116 -227
- package/assets/docs/guide/create-video/control.md +352 -193
- package/assets/docs/guide/create-video/limitations.md +175 -280
- package/assets/docs/guide/create-video.md +11 -10
- package/assets/docs/guide/edit-image/add-watermark.md +283 -330
- package/assets/docs/guide/edit-image/overview.md +29 -4
- package/assets/docs/guide/edit-image/remove-bg.md +283 -337
- package/assets/docs/guide/edit-image/replace-colors.md +424 -502
- package/assets/docs/guide/edit-image/transform/crop.md +463 -402
- package/assets/docs/guide/edit-image/transform/flip.md +353 -0
- package/assets/docs/guide/edit-image/transform/move.md +143 -100
- package/assets/docs/guide/edit-image/transform/resize.md +118 -88
- package/assets/docs/guide/edit-image/transform/rotate.md +132 -165
- package/assets/docs/guide/edit-image/transform/scale.md +230 -228
- package/assets/docs/guide/edit-image/transform.md +10 -5
- package/assets/docs/guide/edit-image.md +11 -7
- package/assets/docs/guide/edit-video/add-captions.md +344 -421
- package/assets/docs/guide/edit-video/add-watermark.md +312 -258
- package/assets/docs/guide/edit-video/join-and-arrange.md +237 -371
- package/assets/docs/guide/edit-video/redaction.md +419 -385
- package/assets/docs/guide/edit-video/split.md +243 -493
- package/assets/docs/guide/edit-video/transform/crop.md +21 -352
- package/assets/docs/guide/edit-video/transform/flip.md +102 -76
- package/assets/docs/guide/edit-video/transform/move.md +258 -310
- package/assets/docs/guide/edit-video/transform/resize.md +264 -428
- package/assets/docs/guide/edit-video/transform/rotate.md +265 -228
- package/assets/docs/guide/edit-video/transform/scale.md +320 -417
- package/assets/docs/guide/edit-video/transform.md +10 -6
- package/assets/docs/guide/edit-video/trim.md +448 -494
- package/assets/docs/guide/engine-interface.md +51 -62
- package/assets/docs/guide/export-save-publish/create-thumbnail.md +148 -184
- package/assets/docs/guide/export-save-publish/export/compress.md +161 -559
- package/assets/docs/guide/export-save-publish/export/overview.md +224 -373
- package/assets/docs/guide/export-save-publish/export/partial-export.md +386 -577
- package/assets/docs/guide/export-save-publish/export/size-limits.md +215 -310
- package/assets/docs/guide/export-save-publish/export/to-jpeg.md +132 -213
- package/assets/docs/guide/export-save-publish/export/to-pdf.md +139 -267
- package/assets/docs/guide/export-save-publish/export/to-png.md +121 -165
- package/assets/docs/guide/export-save-publish/export/to-raw-data.md +187 -234
- package/assets/docs/guide/export-save-publish/export/to-webp.md +160 -190
- package/assets/docs/guide/export-save-publish/export/with-color-mask.md +359 -203
- package/assets/docs/guide/export-save-publish/export.md +14 -11
- package/assets/docs/guide/export-save-publish/for-printing.md +141 -237
- package/assets/docs/guide/export-save-publish/for-social-media.md +124 -261
- package/assets/docs/guide/export-save-publish/pre-export-validation.md +436 -522
- package/assets/docs/guide/export-save-publish/save.md +167 -226
- package/assets/docs/guide/export-save-publish/store-custom-metadata.md +97 -162
- package/assets/docs/guide/file-format-support.md +9 -9
- package/assets/docs/guide/fills/color.md +370 -347
- package/assets/docs/guide/fills/image.md +167 -196
- package/assets/docs/guide/fills/overview.md +6 -4
- package/assets/docs/guide/fills/video.md +286 -438
- package/assets/docs/guide/fills.md +12 -8
- package/assets/docs/guide/filters-and-effects/apply.md +598 -664
- package/assets/docs/guide/filters-and-effects/blur.md +261 -159
- package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +194 -293
- package/assets/docs/guide/filters-and-effects/create-custom-filters.md +548 -466
- package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +176 -244
- package/assets/docs/guide/filters-and-effects/distortion.md +317 -384
- package/assets/docs/guide/filters-and-effects/duotone.md +221 -217
- package/assets/docs/guide/filters-and-effects/gradients.md +670 -813
- package/assets/docs/guide/filters-and-effects/overview.md +7 -7
- package/assets/docs/guide/filters-and-effects/support.md +97 -132
- package/assets/docs/guide/filters-and-effects.md +11 -6
- package/assets/docs/guide/get-started/agent-skills.md +20 -18
- package/assets/docs/guide/get-started/build-with-ai.md +7 -4
- package/assets/docs/guide/get-started/bun.md +219 -0
- package/assets/docs/guide/get-started/deno.md +161 -0
- package/assets/docs/guide/get-started/mcp-server.md +6 -4
- package/assets/docs/guide/get-started/overview.md +11 -6
- package/assets/docs/guide/get-started/vanilla-aws-lambda.md +506 -0
- package/assets/docs/guide/get-started/vanilla-clone-github-project.md +124 -0
- package/assets/docs/guide/get-started/vanilla.md +235 -0
- package/assets/docs/guide/guides/export-save-publish/export/audio.md +80 -66
- package/assets/docs/guide/guides.md +10 -9
- package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +259 -288
- package/assets/docs/guide/import-media/concepts.md +20 -38
- package/assets/docs/guide/import-media/content-json-schema.md +145 -125
- package/assets/docs/guide/import-media/default-assets.md +113 -161
- package/assets/docs/guide/import-media/edit-or-remove-assets.md +391 -395
- package/assets/docs/guide/import-media/file-format-support.md +78 -61
- package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +273 -244
- package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +152 -222
- package/assets/docs/guide/import-media/from-remote-source.md +9 -11
- package/assets/docs/guide/import-media/overview.md +5 -5
- package/assets/docs/guide/import-media/retrieve-mimetype.md +216 -108
- package/assets/docs/guide/import-media/size-limits.md +6 -4
- package/assets/docs/guide/import-media/source-sets.md +190 -251
- package/assets/docs/guide/import-media.md +10 -8
- package/assets/docs/guide/insert-media/audio.md +202 -195
- package/assets/docs/guide/insert-media/images.md +190 -188
- package/assets/docs/guide/insert-media/position-and-align.md +284 -551
- package/assets/docs/guide/insert-media/shapes-or-stickers.md +402 -418
- package/assets/docs/guide/insert-media/videos.md +236 -203
- package/assets/docs/guide/insert-media.md +10 -5
- package/assets/docs/guide/key-capabilities.md +36 -4
- package/assets/docs/guide/key-concepts.md +6 -4
- package/assets/docs/guide/licensing.md +6 -4
- package/assets/docs/guide/llms-txt.md +11 -7
- package/assets/docs/guide/open-the-editor/blank-canvas.md +102 -63
- package/assets/docs/guide/open-the-editor/from-image.md +157 -127
- package/assets/docs/guide/open-the-editor/from-template.md +131 -92
- package/assets/docs/guide/open-the-editor/from-video.md +204 -212
- package/assets/docs/guide/open-the-editor/import-design/from-archive.md +310 -360
- package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +716 -513
- package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +667 -695
- package/assets/docs/guide/open-the-editor/import-design.md +228 -266
- package/assets/docs/guide/open-the-editor/load-scene.md +72 -68
- package/assets/docs/guide/open-the-editor/overview.md +6 -4
- package/assets/docs/guide/open-the-editor/uri-resolver.md +160 -251
- package/assets/docs/guide/open-the-editor.md +11 -9
- package/assets/docs/guide/outlines/overview.md +12 -4
- package/assets/docs/guide/outlines/shadows-and-glows.md +105 -410
- package/assets/docs/guide/outlines/strokes.md +218 -166
- package/assets/docs/guide/outlines.md +9 -4
- package/assets/docs/guide/overview.md +14 -6
- package/assets/docs/guide/performance.md +220 -113
- package/assets/docs/guide/plugins/print-ready-pdf.md +273 -368
- package/assets/docs/guide/plugins.md +10 -16
- package/assets/docs/guide/rules/asset-handling.md +7 -18
- package/assets/docs/guide/rules/common-pitfalls.md +25 -42
- package/assets/docs/guide/rules/content-fill-mode.md +4 -4
- package/assets/docs/guide/rules/enforce-brand-guidelines.md +398 -567
- package/assets/docs/guide/rules/lock-content.md +188 -231
- package/assets/docs/guide/rules/moderate-content.md +580 -571
- package/assets/docs/guide/rules/overview.md +345 -380
- package/assets/docs/guide/rules/silent-init-errors.md +4 -1
- package/assets/docs/guide/rules/verify-properties-before-use.md +2 -11
- package/assets/docs/guide/rules.md +10 -5
- package/assets/docs/guide/security.md +7 -5
- package/assets/docs/guide/serve-assets.md +57 -284
- package/assets/docs/guide/settings.md +96 -74
- package/assets/docs/guide/shapes.md +10 -5
- package/assets/docs/guide/stickers-and-shapes/combine.md +397 -583
- package/assets/docs/guide/stickers-and-shapes/create-cutout.md +181 -268
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +418 -431
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +147 -226
- package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +138 -123
- package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +151 -149
- package/assets/docs/guide/stickers.md +9 -4
- package/assets/docs/guide/text/add.md +470 -482
- package/assets/docs/guide/text/adjust-spacing.md +179 -214
- package/assets/docs/guide/text/auto-size.md +210 -271
- package/assets/docs/guide/text/edit.md +294 -309
- package/assets/docs/guide/text/effects.md +154 -190
- package/assets/docs/guide/text/emojis.md +199 -232
- package/assets/docs/guide/text/language-support.md +369 -382
- package/assets/docs/guide/text/overview.md +41 -4
- package/assets/docs/guide/text/styling.md +239 -273
- package/assets/docs/guide/text/text-designs.md +405 -544
- package/assets/docs/guide/text.md +10 -9
- package/assets/docs/guide/to-v1-19.md +12 -10
- package/assets/docs/guide/upgrade.md +8 -9
- package/assets/docs/guide/use-templates/apply-template.md +174 -163
- package/assets/docs/guide/use-templates/generate.md +171 -152
- package/assets/docs/guide/use-templates/overview.md +32 -4
- package/assets/docs/guide/use-templates/programmatic.md +266 -301
- package/assets/docs/guide/use-templates/replace-content.md +181 -171
- package/assets/docs/guide/what-is-cesdk.md +71 -282
- package/assets/docs/handbook/SKILL.md +24 -0
- package/dist/assets/inline.generated.d.ts.map +1 -1
- package/dist/assets/inline.generated.js +544 -406
- package/dist/assets/inline.generated.js.map +1 -1
- package/dist/assets/load-browser.d.ts +1 -1
- package/dist/assets/load-browser.js +1 -1
- package/dist/assets/load-browser.js.map +1 -1
- package/dist/assets/load-node.d.ts +1 -1
- package/dist/assets/load-node.js +1 -1
- package/dist/assets/load-node.js.map +1 -1
- package/dist/cli/http.d.ts.map +1 -1
- package/dist/cli/http.js +4 -28
- package/dist/cli/http.js.map +1 -1
- package/dist/cli/redirect-console.d.ts +1 -1
- package/dist/cli/redirect-console.d.ts.map +1 -1
- package/dist/cli/redirect-console.js +12 -3
- package/dist/cli/redirect-console.js.map +1 -1
- package/dist/cli/resolve-license.d.ts.map +1 -1
- package/dist/cli/resolve-license.js +8 -6
- package/dist/cli/resolve-license.js.map +1 -1
- package/dist/cli/stdio.d.ts +9 -0
- package/dist/cli/stdio.d.ts.map +1 -1
- package/dist/cli/stdio.js +48 -4
- package/dist/cli/stdio.js.map +1 -1
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +11 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -1
- package/dist/config.js.map +1 -1
- package/dist/diagnostics/bundle.d.ts +10 -0
- package/dist/diagnostics/bundle.d.ts.map +1 -0
- package/dist/diagnostics/bundle.js +148 -0
- package/dist/diagnostics/bundle.js.map +1 -0
- package/dist/diagnostics/compose.d.ts +3 -0
- package/dist/diagnostics/compose.d.ts.map +1 -0
- package/dist/diagnostics/compose.js +15 -0
- package/dist/diagnostics/compose.js.map +1 -0
- package/dist/diagnostics/events.d.ts +34 -0
- package/dist/diagnostics/events.d.ts.map +1 -0
- package/dist/diagnostics/events.js +3 -0
- package/dist/diagnostics/events.js.map +1 -0
- package/dist/diagnostics/file-sink.d.ts +38 -0
- package/dist/diagnostics/file-sink.d.ts.map +1 -0
- package/dist/diagnostics/file-sink.js +157 -0
- package/dist/diagnostics/file-sink.js.map +1 -0
- package/dist/diagnostics/redact.d.ts +7 -0
- package/dist/diagnostics/redact.d.ts.map +1 -0
- package/dist/diagnostics/redact.js +43 -0
- package/dist/diagnostics/redact.js.map +1 -0
- package/dist/diagnostics/tool-call-adapter.d.ts +4 -0
- package/dist/diagnostics/tool-call-adapter.d.ts.map +1 -0
- package/dist/diagnostics/tool-call-adapter.js +21 -0
- package/dist/diagnostics/tool-call-adapter.js.map +1 -0
- package/dist/engine/cesdk-adapter.d.ts +5 -1
- package/dist/engine/cesdk-adapter.d.ts.map +1 -1
- package/dist/engine/cesdk-adapter.js +9 -2
- package/dist/engine/cesdk-adapter.js.map +1 -1
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +4 -0
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/scene-resource-schemes.d.ts +2 -0
- package/dist/engine/scene-resource-schemes.d.ts.map +1 -0
- package/dist/engine/scene-resource-schemes.js +20 -0
- package/dist/engine/scene-resource-schemes.js.map +1 -0
- package/dist/http/server.d.ts +0 -6
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +1 -2
- package/dist/http/server.js.map +1 -1
- package/dist/server.d.ts +0 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -60
- package/dist/server.js.map +1 -1
- package/dist/test/scripts/changelog-add.d.ts +8 -0
- package/dist/test/scripts/changelog-add.d.ts.map +1 -0
- package/dist/test/scripts/changelog-add.js +50 -0
- package/dist/test/scripts/changelog-add.js.map +1 -0
- package/dist/test/scripts/changelog-collate.d.ts +38 -0
- package/dist/test/scripts/changelog-collate.d.ts.map +1 -0
- package/dist/test/scripts/changelog-collate.js +171 -0
- package/dist/test/scripts/changelog-collate.js.map +1 -0
- package/dist/test/test/changelog.test.d.ts +2 -0
- package/dist/test/test/changelog.test.d.ts.map +1 -0
- package/dist/test/test/changelog.test.js +293 -0
- package/dist/test/test/changelog.test.js.map +1 -0
- package/dist/test/test/cli/dispatcher.test.js +10 -3
- package/dist/test/test/cli/dispatcher.test.js.map +1 -1
- package/dist/test/test/cli/redirect-console.test.js +31 -0
- package/dist/test/test/cli/redirect-console.test.js.map +1 -1
- package/dist/test/test/cli/resolve-license.test.js +10 -1
- package/dist/test/test/cli/resolve-license.test.js.map +1 -1
- package/dist/test/test/cli/stdio-diagnostics.test.d.ts +2 -0
- package/dist/test/test/cli/stdio-diagnostics.test.d.ts.map +1 -0
- package/dist/test/test/cli/stdio-diagnostics.test.js +31 -0
- package/dist/test/test/cli/stdio-diagnostics.test.js.map +1 -0
- package/dist/test/test/config.test.js +17 -13
- package/dist/test/test/config.test.js.map +1 -1
- package/dist/test/test/diagnostics/bundle.test.d.ts +2 -0
- package/dist/test/test/diagnostics/bundle.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/bundle.test.js +53 -0
- package/dist/test/test/diagnostics/bundle.test.js.map +1 -0
- package/dist/test/test/diagnostics/compose.test.d.ts +2 -0
- package/dist/test/test/diagnostics/compose.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/compose.test.js +31 -0
- package/dist/test/test/diagnostics/compose.test.js.map +1 -0
- package/dist/test/test/diagnostics/file-sink.test.d.ts +2 -0
- package/dist/test/test/diagnostics/file-sink.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/file-sink.test.js +113 -0
- package/dist/test/test/diagnostics/file-sink.test.js.map +1 -0
- package/dist/test/test/diagnostics/redact.test.d.ts +2 -0
- package/dist/test/test/diagnostics/redact.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/redact.test.js +59 -0
- package/dist/test/test/diagnostics/redact.test.js.map +1 -0
- package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts +2 -0
- package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/tool-call-adapter.test.js +34 -0
- package/dist/test/test/diagnostics/tool-call-adapter.test.js.map +1 -0
- package/dist/test/test/engine/cesdk-adapter.test.d.ts +2 -0
- package/dist/test/test/engine/cesdk-adapter.test.d.ts.map +1 -0
- package/dist/test/test/engine/cesdk-adapter.test.js +32 -0
- package/dist/test/test/engine/cesdk-adapter.test.js.map +1 -0
- package/dist/test/test/handbook-contract.test.js +6 -2
- package/dist/test/test/handbook-contract.test.js.map +1 -1
- package/dist/test/test/http/server.test.js +0 -36
- package/dist/test/test/http/server.test.js.map +1 -1
- package/dist/test/test/http/workspace-auth.test.js +0 -1
- package/dist/test/test/http/workspace-auth.test.js.map +1 -1
- package/dist/test/test/server.test.js +0 -40
- package/dist/test/test/server.test.js.map +1 -1
- package/dist/test/test/tools/edit-harness.d.ts +14 -0
- package/dist/test/test/tools/edit-harness.d.ts.map +1 -0
- package/dist/test/test/tools/edit-harness.js +30 -0
- package/dist/test/test/tools/edit-harness.js.map +1 -0
- package/dist/test/test/tools/edit.telemetry.test.d.ts +2 -0
- package/dist/test/test/tools/edit.telemetry.test.d.ts.map +1 -0
- package/dist/test/test/tools/edit.telemetry.test.js +46 -0
- package/dist/test/test/tools/edit.telemetry.test.js.map +1 -0
- package/dist/test/test/tools/export-harness.d.ts +13 -0
- package/dist/test/test/tools/export-harness.d.ts.map +1 -0
- package/dist/test/test/tools/export-harness.js +27 -0
- package/dist/test/test/tools/export-harness.js.map +1 -0
- package/dist/test/test/tools/export.telemetry.test.d.ts +2 -0
- package/dist/test/test/tools/export.telemetry.test.d.ts.map +1 -0
- package/dist/test/test/tools/export.telemetry.test.js +65 -0
- package/dist/test/test/tools/export.telemetry.test.js.map +1 -0
- package/dist/test/test/tools/import.test.d.ts +2 -0
- package/dist/test/test/tools/import.test.d.ts.map +1 -0
- package/dist/test/test/tools/import.test.js +122 -0
- package/dist/test/test/tools/import.test.js.map +1 -0
- package/dist/test/test/tools/index.test.js +78 -16
- package/dist/test/test/tools/index.test.js.map +1 -1
- package/dist/test/test/tools/load.integration.test.d.ts +2 -0
- package/dist/test/test/tools/load.integration.test.d.ts.map +1 -0
- package/dist/test/test/tools/load.integration.test.js +165 -0
- package/dist/test/test/tools/load.integration.test.js.map +1 -0
- package/dist/test/test/tools/load.test.d.ts +2 -0
- package/dist/test/test/tools/load.test.d.ts.map +1 -0
- package/dist/test/test/tools/load.test.js +387 -0
- package/dist/test/test/tools/load.test.js.map +1 -0
- package/dist/test/test/tools/preview-harness.d.ts +9 -0
- package/dist/test/test/tools/preview-harness.d.ts.map +1 -0
- package/dist/test/test/tools/preview-harness.js +23 -0
- package/dist/test/test/tools/preview-harness.js.map +1 -0
- package/dist/test/test/tools/preview.telemetry.test.d.ts +2 -0
- package/dist/test/test/tools/preview.telemetry.test.d.ts.map +1 -0
- package/dist/test/test/tools/preview.telemetry.test.js +36 -0
- package/dist/test/test/tools/preview.telemetry.test.js.map +1 -0
- package/dist/test/test/tools/schema-best-practices.d.ts +13 -0
- package/dist/test/test/tools/schema-best-practices.d.ts.map +1 -0
- package/dist/test/test/tools/schema-best-practices.js +169 -0
- package/dist/test/test/tools/schema-best-practices.js.map +1 -0
- package/dist/test/test/tools/schema-best-practices.test.d.ts +3 -0
- package/dist/test/test/tools/schema-best-practices.test.d.ts.map +1 -0
- package/dist/test/test/tools/schema-best-practices.test.js +194 -0
- package/dist/test/test/tools/schema-best-practices.test.js.map +1 -0
- package/dist/test/test/tools/spans.test.d.ts +2 -0
- package/dist/test/test/tools/spans.test.d.ts.map +1 -0
- package/dist/test/test/tools/spans.test.js +84 -0
- package/dist/test/test/tools/spans.test.js.map +1 -0
- package/dist/test/test/viewer/cesdk-cdn.test.d.ts +2 -0
- package/dist/test/test/viewer/cesdk-cdn.test.d.ts.map +1 -0
- package/dist/test/test/viewer/cesdk-cdn.test.js +19 -0
- package/dist/test/test/viewer/cesdk-cdn.test.js.map +1 -0
- package/dist/test/test/viewer/config-route.test.d.ts +2 -0
- package/dist/test/test/viewer/config-route.test.d.ts.map +1 -0
- package/dist/test/test/viewer/config-route.test.js +28 -0
- package/dist/test/test/viewer/config-route.test.js.map +1 -0
- package/dist/test/test/viewer/spa-version.test.d.ts +2 -0
- package/dist/test/test/viewer/spa-version.test.d.ts.map +1 -0
- package/dist/test/test/viewer/spa-version.test.js +14 -0
- package/dist/test/test/viewer/spa-version.test.js.map +1 -0
- package/dist/test/test/workspace/content-hash.test.d.ts +2 -0
- package/dist/test/test/workspace/content-hash.test.d.ts.map +1 -0
- package/dist/test/test/workspace/content-hash.test.js +17 -0
- package/dist/test/test/workspace/content-hash.test.js.map +1 -0
- package/dist/test/tsconfig.test.tsbuildinfo +1 -1
- package/dist/test/vitest.config.js +1 -1
- package/dist/test/vitest.config.js.map +1 -1
- package/dist/tools/asset-generate.d.ts.map +1 -1
- package/dist/tools/asset-generate.js +1 -8
- package/dist/tools/asset-generate.js.map +1 -1
- package/dist/tools/edit.d.ts +3 -0
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +145 -96
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/export.d.ts +3 -0
- package/dist/tools/export.d.ts.map +1 -1
- package/dist/tools/export.js +146 -108
- package/dist/tools/export.js.map +1 -1
- package/dist/tools/import.d.ts +12 -0
- package/dist/tools/import.d.ts.map +1 -0
- package/dist/tools/import.js +144 -0
- package/dist/tools/import.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +44 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/load.d.ts +26 -0
- package/dist/tools/load.d.ts.map +1 -0
- package/dist/tools/load.js +400 -0
- package/dist/tools/load.js.map +1 -0
- package/dist/tools/preview.d.ts +3 -0
- package/dist/tools/preview.d.ts.map +1 -1
- package/dist/tools/preview.js +79 -44
- package/dist/tools/preview.js.map +1 -1
- package/dist/tools/result.d.ts +1 -1
- package/dist/tools/result.js +2 -2
- package/dist/tools/result.js.map +1 -1
- package/dist/tools/spans.d.ts +45 -0
- package/dist/tools/spans.d.ts.map +1 -0
- package/dist/tools/spans.js +77 -0
- package/dist/tools/spans.js.map +1 -0
- package/dist/tools/telemetry-wrapper.d.ts +4 -0
- package/dist/tools/telemetry-wrapper.d.ts.map +1 -0
- package/dist/tools/telemetry-wrapper.js +43 -0
- package/dist/tools/telemetry-wrapper.js.map +1 -0
- package/dist/viewer/cesdk-cdn.d.ts +16 -0
- package/dist/viewer/cesdk-cdn.d.ts.map +1 -0
- package/dist/viewer/cesdk-cdn.js +30 -0
- package/dist/viewer/cesdk-cdn.js.map +1 -0
- package/dist/viewer/router.d.ts +6 -0
- package/dist/viewer/router.d.ts.map +1 -1
- package/dist/viewer/router.js +4 -1
- package/dist/viewer/router.js.map +1 -1
- package/dist/viewer/spa-assets.generated.d.ts.map +1 -1
- package/dist/viewer/spa-assets.generated.js +2 -3
- package/dist/viewer/spa-assets.generated.js.map +1 -1
- package/dist/workspace/content-hash.d.ts +2 -0
- package/dist/workspace/content-hash.d.ts.map +1 -0
- package/dist/workspace/content-hash.js +15 -0
- package/dist/workspace/content-hash.js.map +1 -0
- package/package.json +18 -9
- package/assets/docs/guide/actions.md +0 -1038
- package/assets/docs/guide/animation/overview.md +0 -22
- package/assets/docs/guide/automation/batch-processing.md +0 -474
- package/assets/docs/guide/browser-support.md +0 -38
- package/assets/docs/guide/concepts/edit-modes.md +0 -431
- package/assets/docs/guide/concepts/headless-mode/browser.md +0 -291
- package/assets/docs/guide/create-audio/audio.md +0 -336
- package/assets/docs/guide/create-video/overview.md +0 -224
- package/assets/docs/guide/create-video/timeline-editor.md +0 -622
- package/assets/docs/guide/create-video/update-caption-presets.md +0 -676
- package/assets/docs/guide/edit-image/vectorize.md +0 -204
- package/assets/docs/guide/export-save-publish/export/to-html5.md +0 -474
- package/assets/docs/guide/export-save-publish/export/to-mp4.md +0 -364
- package/assets/docs/guide/get-started/vanilla-js/quickstart.md +0 -175
- package/assets/docs/guide/grid-and-rulers.md +0 -222
- package/assets/docs/guide/guides/text/rendering-internals.md +0 -796
- package/assets/docs/guide/import-media/asset-library.md +0 -23
- package/assets/docs/guide/import-media/asset-panel/basics.md +0 -324
- package/assets/docs/guide/import-media/asset-panel/customize.md +0 -478
- package/assets/docs/guide/import-media/asset-panel/thumbnails.md +0 -633
- package/assets/docs/guide/import-media/capture-from-camera/record-video.md +0 -137
- package/assets/docs/guide/import-media/capture-from-camera.md +0 -20
- package/assets/docs/guide/import-media/from-local-source/user-upload.md +0 -438
- package/assets/docs/guide/import-media/from-local-source.md +0 -20
- package/assets/docs/guide/import-media/from-remote-source/getty-images.md +0 -627
- package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +0 -625
- package/assets/docs/guide/import-media/from-remote-source/pexels.md +0 -692
- package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +0 -497
- package/assets/docs/guide/import-media/from-remote-source/third-party.md +0 -51
- package/assets/docs/guide/import-media/from-remote-source/unsplash.md +0 -914
- package/assets/docs/guide/import-media/from-remote-source/your-server.md +0 -764
- package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +0 -228
- package/assets/docs/guide/open-the-editor/set-zoom-level.md +0 -303
- package/assets/docs/guide/plugins/asset-sources.md +0 -553
- package/assets/docs/guide/starterkits/3d-mockup-editor.md +0 -748
- package/assets/docs/guide/starterkits/advanced-editor.md +0 -698
- package/assets/docs/guide/starterkits/advanced-video-editor.md +0 -696
- package/assets/docs/guide/starterkits/ai-editor.md +0 -749
- package/assets/docs/guide/starterkits/airtable-image-editor.md +0 -672
- package/assets/docs/guide/starterkits/apparel-ui.md +0 -188
- package/assets/docs/guide/starterkits/assets.md +0 -27
- package/assets/docs/guide/starterkits/auto-resize.md +0 -586
- package/assets/docs/guide/starterkits/automated-video-generation.md +0 -692
- package/assets/docs/guide/starterkits/background-removal-editor.md +0 -480
- package/assets/docs/guide/starterkits/content-moderation.md +0 -863
- package/assets/docs/guide/starterkits/creative-automation.md +0 -28
- package/assets/docs/guide/starterkits/custom-built-uis.md +0 -26
- package/assets/docs/guide/starterkits/customization.md +0 -29
- package/assets/docs/guide/starterkits/cutout-lines-editor.md +0 -470
- package/assets/docs/guide/starterkits/data-merge.md +0 -850
- package/assets/docs/guide/starterkits/design-editor.md +0 -698
- package/assets/docs/guide/starterkits/design-generation.md +0 -719
- package/assets/docs/guide/starterkits/design-validation.md +0 -808
- package/assets/docs/guide/starterkits/editor-ui-configurations.md +0 -14
- package/assets/docs/guide/starterkits/export-options.md +0 -724
- package/assets/docs/guide/starterkits/export-using-renderer.md +0 -708
- package/assets/docs/guide/starterkits/extensibility.md +0 -28
- package/assets/docs/guide/starterkits/force-crop-editor.md +0 -675
- package/assets/docs/guide/starterkits/form-based-template-adoption.md +0 -522
- package/assets/docs/guide/starterkits/getty-images-editor.md +0 -700
- package/assets/docs/guide/starterkits/html5-ads-exporter.md +0 -719
- package/assets/docs/guide/starterkits/indesign-template-import.md +0 -580
- package/assets/docs/guide/starterkits/layouts-editor.md +0 -724
- package/assets/docs/guide/starterkits/mobile-ui.md +0 -185
- package/assets/docs/guide/starterkits/mockup-editor.md +0 -745
- package/assets/docs/guide/starterkits/multi-image-generation.md +0 -542
- package/assets/docs/guide/starterkits/page-sizes-editor.md +0 -657
- package/assets/docs/guide/starterkits/pexels-image-editor.md +0 -665
- package/assets/docs/guide/starterkits/photo-editor.md +0 -755
- package/assets/docs/guide/starterkits/photo-ui.md +0 -186
- package/assets/docs/guide/starterkits/photobook-ui.md +0 -188
- package/assets/docs/guide/starterkits/placeholders.md +0 -678
- package/assets/docs/guide/starterkits/player.md +0 -405
- package/assets/docs/guide/starterkits/plugins.md +0 -25
- package/assets/docs/guide/starterkits/postcard-editor.md +0 -202
- package/assets/docs/guide/starterkits/pptx-template-import.md +0 -581
- package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +0 -746
- package/assets/docs/guide/starterkits/product-editor.md +0 -773
- package/assets/docs/guide/starterkits/psd-template-import.md +0 -580
- package/assets/docs/guide/starterkits/qr-code-editor.md +0 -470
- package/assets/docs/guide/starterkits/single-page-editor.md +0 -661
- package/assets/docs/guide/starterkits/start-with-image.md +0 -684
- package/assets/docs/guide/starterkits/start-with-video.md +0 -651
- package/assets/docs/guide/starterkits/t-shirt-designer.md +0 -742
- package/assets/docs/guide/starterkits/templating.md +0 -23
- package/assets/docs/guide/starterkits/theming.md +0 -662
- package/assets/docs/guide/starterkits/translation-internationalization.md +0 -662
- package/assets/docs/guide/starterkits/unsplash-editor.md +0 -839
- package/assets/docs/guide/starterkits/vectorizer-editor.md +0 -466
- package/assets/docs/guide/starterkits/version-history.md +0 -745
- package/assets/docs/guide/starterkits/video-animations.md +0 -853
- package/assets/docs/guide/starterkits/video-captions.md +0 -884
- package/assets/docs/guide/starterkits/video-editing.md +0 -25
- package/assets/docs/guide/starterkits/video-editor.md +0 -696
- package/assets/docs/guide/starterkits/video-export-options.md +0 -676
- package/assets/docs/guide/starterkits/viewer.md +0 -400
- package/assets/docs/guide/starterkits.md +0 -41
- package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +0 -362
- package/assets/docs/guide/text/custom-fonts.md +0 -401
- package/assets/docs/guide/text/decorations.md +0 -330
- package/assets/docs/guide/text/enumerations.md +0 -258
- package/assets/docs/guide/to-v1-10.md +0 -131
- package/assets/docs/guide/to-v1-13.md +0 -165
- package/assets/docs/guide/to-v1-32.md +0 -110
- package/assets/docs/guide/to-v1-69.md +0 -468
- package/assets/docs/guide/to-v1-72.md +0 -193
- package/assets/docs/guide/use-templates/library.md +0 -450
- package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +0 -428
- package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +0 -337
- package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +0 -853
- package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +0 -1045
- package/assets/docs/guide/user-interface/ai-integration/image-generation.md +0 -641
- package/assets/docs/guide/user-interface/ai-integration/integrate.md +0 -966
- package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +0 -99
- package/assets/docs/guide/user-interface/ai-integration/text-generation.md +0 -498
- package/assets/docs/guide/user-interface/ai-integration/video-generation.md +0 -493
- package/assets/docs/guide/user-interface/ai-integration.md +0 -30
- package/assets/docs/guide/user-interface/appearance/change-ui-font.md +0 -316
- package/assets/docs/guide/user-interface/appearance/custom-labels.md +0 -509
- package/assets/docs/guide/user-interface/appearance/icons.md +0 -373
- package/assets/docs/guide/user-interface/appearance/theming.md +0 -665
- package/assets/docs/guide/user-interface/appearance.md +0 -23
- package/assets/docs/guide/user-interface/build-your-own-ui.md +0 -620
- package/assets/docs/guide/user-interface/customization/canvas-menu.md +0 -412
- package/assets/docs/guide/user-interface/customization/canvas.md +0 -281
- package/assets/docs/guide/user-interface/customization/color-palette.md +0 -413
- package/assets/docs/guide/user-interface/customization/crop-presets.md +0 -384
- package/assets/docs/guide/user-interface/customization/disable-or-enable.md +0 -676
- package/assets/docs/guide/user-interface/customization/dock.md +0 -399
- package/assets/docs/guide/user-interface/customization/force-crop.md +0 -289
- package/assets/docs/guide/user-interface/customization/inspector-bar.md +0 -371
- package/assets/docs/guide/user-interface/customization/navigation-bar.md +0 -516
- package/assets/docs/guide/user-interface/customization/page-format.md +0 -436
- package/assets/docs/guide/user-interface/customization/panel.md +0 -605
- package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +0 -531
- package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +0 -358
- package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +0 -374
- package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +0 -323
- package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +0 -294
- package/assets/docs/guide/user-interface/customization/quick-start.md +0 -12
- package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +0 -519
- package/assets/docs/guide/user-interface/customization/reference/component-reference.md +0 -333
- package/assets/docs/guide/user-interface/customization/reference.md +0 -12
- package/assets/docs/guide/user-interface/customization.md +0 -39
- package/assets/docs/guide/user-interface/localization.md +0 -633
- package/assets/docs/guide/user-interface/overview.md +0 -167
- package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +0 -411
- package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +0 -721
- package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +0 -331
- package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +0 -553
- package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +0 -672
- package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +0 -415
- package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +0 -521
- package/assets/docs/guide/user-interface/ui-extensions.md +0 -26
- package/assets/docs/guide/user-interface.md +0 -25
- package/assets/prompts/evals-assetGenerate.md +0 -12
- package/assets/prompts/evals-brutalistCore.md +0 -34
- package/assets/prompts/evals-danskCatalogue.md +0 -31
- package/assets/prompts/evals-exportRoundTrip.md +0 -12
- package/assets/prompts/evals-inspectPriorCode.md +0 -16
- package/assets/prompts/evals-listProjectFiles.md +0 -6
- package/assets/prompts/evals-readAndExplainScript.md +0 -6
- package/assets/prompts/evals-resumeAcrossRestart.md +0 -15
- package/assets/prompts/evals-rewindRecovery.md +0 -10
- package/assets/prompts/evals-searchAcrossFiles.md +0 -6
- package/assets/prompts/evals-weddingCard.md +0 -20
- package/assets/prompts/explain.md +0 -6
- package/assets/prompts/review.md +0 -6
- package/dist/frontmatter.d.ts +0 -15
- package/dist/frontmatter.d.ts.map +0 -1
- package/dist/frontmatter.js +0 -46
- package/dist/frontmatter.js.map +0 -1
- package/dist/test/test/frontmatter.test.d.ts +0 -2
- package/dist/test/test/frontmatter.test.d.ts.map +0 -1
- package/dist/test/test/frontmatter.test.js +0 -55
- package/dist/test/test/frontmatter.test.js.map +0 -1
|
@@ -1,266 +1,200 @@
|
|
|
1
|
-
> This is one page of the CE.SDK
|
|
1
|
+
> This is one page of the CE.SDK Node.js documentation. For a complete overview, see the [Node.js Documentation Index](https://img.ly/docs/cesdk/node.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
2
|
|
|
3
3
|
**Navigation:** [Guides](./guides.md) > [Export Media Assets](./export-save-publish/export.md) > [Overview](./export-save-publish/export/overview.md)
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
Export your designs to multiple formats including PNG, JPEG, WebP, SVG,
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
Export your designs to multiple formats including PNG, JPEG, WebP, SVG, and PDF.
|
|
8
|
+
CE.SDK handles all export processing entirely on the server side, giving you
|
|
9
|
+
fine-grained control over format-specific options like compression, quality,
|
|
10
|
+
and target dimensions.
|
|
10
11
|
|
|
11
12
|
> **Reading time:** 10 minutes
|
|
12
13
|
>
|
|
13
14
|
> **Resources:**
|
|
14
15
|
>
|
|
15
16
|
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
17
|
+
>
|
|
16
18
|
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples)
|
|
19
|
+
>
|
|
17
20
|
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
import
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
EffectsAssetSource,
|
|
30
|
-
FiltersAssetSource,
|
|
31
|
-
PagePresetsAssetSource,
|
|
32
|
-
StickerAssetSource,
|
|
33
|
-
TextAssetSource,
|
|
34
|
-
TextComponentAssetSource,
|
|
35
|
-
TypefaceAssetSource,
|
|
36
|
-
UploadAssetSources,
|
|
37
|
-
VectorShapeAssetSource
|
|
38
|
-
} from '@cesdk/cesdk-js/plugins';
|
|
39
|
-
import { DesignEditorConfig } from './design-editor/plugin';
|
|
40
|
-
import packageJson from './package.json';
|
|
21
|
+
|
|
22
|
+
Whether you're building a content automation workflow, batch processing system, or server-side rendering pipeline, understanding export options helps you deliver the right output for each use case. This guide covers supported formats, their options, and how to export programmatically.
|
|
23
|
+
|
|
24
|
+
```typescript file=@cesdk_web_examples/guides-export-save-publish-export-overview-server-js/server-js.ts reference-only
|
|
25
|
+
import CreativeEngine from '@cesdk/node';
|
|
26
|
+
import { config } from 'dotenv';
|
|
27
|
+
import { writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
28
|
+
import * as readline from 'readline';
|
|
29
|
+
|
|
30
|
+
// Load environment variables
|
|
31
|
+
config();
|
|
41
32
|
|
|
42
33
|
/**
|
|
43
|
-
* CE.SDK
|
|
34
|
+
* CE.SDK Server Guide: Export Overview
|
|
44
35
|
*
|
|
45
|
-
*
|
|
46
|
-
* - Exporting
|
|
47
|
-
* - Configuring
|
|
36
|
+
* Demonstrates export options and formats:
|
|
37
|
+
* - Exporting to different image formats (PNG, JPEG, WebP)
|
|
38
|
+
* - Configuring format-specific options
|
|
39
|
+
* - Exporting to PDF
|
|
48
40
|
* - Exporting with color masks for print workflows
|
|
49
|
-
* -
|
|
41
|
+
* - Checking device export limits
|
|
42
|
+
* - Target size control
|
|
50
43
|
*/
|
|
51
|
-
class Example implements EditorPlugin {
|
|
52
|
-
name = packageJson.name;
|
|
53
|
-
|
|
54
|
-
version = packageJson.version;
|
|
55
|
-
|
|
56
|
-
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
57
|
-
if (!cesdk) {
|
|
58
|
-
throw new Error('CE.SDK instance is required for this plugin');
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
await cesdk.addPlugin(new DesignEditorConfig());
|
|
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
|
-
const engine = cesdk.engine;
|
|
90
|
-
|
|
91
|
-
// Load a template scene from a remote URL
|
|
92
|
-
await engine.scene.loadFromURL(
|
|
93
|
-
'https://cdn.img.ly/assets/demo/v3/ly.img.template/templates/cesdk_postcard_1.scene'
|
|
94
|
-
);
|
|
95
44
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
45
|
+
// Prompt user to select export format
|
|
46
|
+
async function selectFormat(): Promise<string> {
|
|
47
|
+
const formats = [
|
|
48
|
+
{ key: '1', label: 'PNG', value: 'png' },
|
|
49
|
+
{ key: '2', label: 'JPEG', value: 'jpeg' },
|
|
50
|
+
{ key: '3', label: 'WebP', value: 'webp' },
|
|
51
|
+
{ key: '4', label: 'PDF', value: 'pdf' },
|
|
52
|
+
{ key: '5', label: 'HD PNG (1920x1080)', value: 'hd' },
|
|
53
|
+
{ key: '6', label: 'Color Mask (PNG + alpha)', value: 'mask' },
|
|
54
|
+
{ key: '7', label: 'All formats', value: 'all' }
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
console.log('\nSelect export format:');
|
|
58
|
+
formats.forEach((f) => console.log(` ${f.key}) ${f.label}`));
|
|
59
|
+
|
|
60
|
+
const rl = readline.createInterface({
|
|
61
|
+
input: process.stdin,
|
|
62
|
+
output: process.stdout
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
return new Promise((resolve) => {
|
|
66
|
+
rl.question('\nEnter choice (1-7): ', (answer) => {
|
|
67
|
+
rl.close();
|
|
68
|
+
const selected = formats.find((f) => f.key === answer.trim());
|
|
69
|
+
if (!selected) {
|
|
70
|
+
console.error(
|
|
71
|
+
`\n✗ Invalid choice: "${answer.trim()}". Please enter 1-7.`
|
|
72
|
+
);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
resolve(selected.value);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Initialize CE.SDK engine with baseURL for asset loading
|
|
81
|
+
const engine = await CreativeEngine.init({
|
|
82
|
+
baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
try {
|
|
86
|
+
// Load a template scene from a remote URL
|
|
87
|
+
await engine.scene.loadFromURL(
|
|
88
|
+
'https://cdn.img.ly/assets/demo/v3/ly.img.template/templates/cesdk_postcard_1.scene'
|
|
89
|
+
);
|
|
111
90
|
|
|
91
|
+
const page = engine.block.findByType('page')[0];
|
|
92
|
+
if (!page) {
|
|
93
|
+
throw new Error('No page found');
|
|
94
|
+
}
|
|
95
|
+
// Create output directory
|
|
96
|
+
const outputDir = './output';
|
|
97
|
+
if (!existsSync(outputDir)) {
|
|
98
|
+
mkdirSync(outputDir, { recursive: true });
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Get user's format selection
|
|
102
|
+
const format = await selectFormat();
|
|
103
|
+
console.log('');
|
|
104
|
+
|
|
105
|
+
if (format === 'png' || format === 'all') {
|
|
112
106
|
// Export to PNG with compression
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
type: 'success'
|
|
122
|
-
});
|
|
123
|
-
};
|
|
107
|
+
const pngBlob = await engine.block.export(page, {
|
|
108
|
+
mimeType: 'image/png',
|
|
109
|
+
pngCompressionLevel: 5 // 0-9, higher = smaller file, slower
|
|
110
|
+
});
|
|
111
|
+
const pngBuffer = Buffer.from(await pngBlob.arrayBuffer());
|
|
112
|
+
writeFileSync(`${outputDir}/design.png`, pngBuffer);
|
|
113
|
+
console.log(`✓ PNG exported (${(pngBlob.size / 1024).toFixed(1)} KB)`);
|
|
114
|
+
}
|
|
124
115
|
|
|
116
|
+
if (format === 'jpeg' || format === 'all') {
|
|
125
117
|
// Export to JPEG with quality setting
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
type: 'success'
|
|
135
|
-
});
|
|
136
|
-
};
|
|
118
|
+
const jpegBlob = await engine.block.export(page, {
|
|
119
|
+
mimeType: 'image/jpeg',
|
|
120
|
+
jpegQuality: 0.9 // 0-1, higher = better quality, larger file
|
|
121
|
+
});
|
|
122
|
+
const jpegBuffer = Buffer.from(await jpegBlob.arrayBuffer());
|
|
123
|
+
writeFileSync(`${outputDir}/design.jpg`, jpegBuffer);
|
|
124
|
+
console.log(`✓ JPEG exported (${(jpegBlob.size / 1024).toFixed(1)} KB)`);
|
|
125
|
+
}
|
|
137
126
|
|
|
127
|
+
if (format === 'webp' || format === 'all') {
|
|
138
128
|
// Export to WebP with lossless quality
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
type: 'success'
|
|
148
|
-
});
|
|
149
|
-
};
|
|
129
|
+
const webpBlob = await engine.block.export(page, {
|
|
130
|
+
mimeType: 'image/webp',
|
|
131
|
+
webpQuality: 1.0 // 1.0 = lossless, smaller files than PNG
|
|
132
|
+
});
|
|
133
|
+
const webpBuffer = Buffer.from(await webpBlob.arrayBuffer());
|
|
134
|
+
writeFileSync(`${outputDir}/design.webp`, webpBuffer);
|
|
135
|
+
console.log(`✓ WebP exported (${(webpBlob.size / 1024).toFixed(1)} KB)`);
|
|
136
|
+
}
|
|
150
137
|
|
|
138
|
+
if (format === 'pdf' || format === 'all') {
|
|
151
139
|
// Export to PDF
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
type: 'success'
|
|
161
|
-
});
|
|
162
|
-
};
|
|
140
|
+
const pdfBlob = await engine.block.export(page, {
|
|
141
|
+
mimeType: 'application/pdf',
|
|
142
|
+
exportPdfWithHighCompatibility: true // Rasterize for broader viewer support
|
|
143
|
+
});
|
|
144
|
+
const pdfBuffer = Buffer.from(await pdfBlob.arrayBuffer());
|
|
145
|
+
writeFileSync(`${outputDir}/design.pdf`, pdfBuffer);
|
|
146
|
+
console.log(`✓ PDF exported (${(pdfBlob.size / 1024).toFixed(1)} KB)`);
|
|
147
|
+
}
|
|
163
148
|
|
|
149
|
+
if (format === 'hd' || format === 'all') {
|
|
164
150
|
// Export with target size
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
targetHeight: 1080
|
|
170
|
-
});
|
|
171
|
-
downloadBlob(blob, 'design-hd.png');
|
|
172
|
-
cesdk.ui.showNotification({
|
|
173
|
-
message: `HD export complete (${(blob.size / 1024).toFixed(1)} KB)`,
|
|
174
|
-
type: 'success'
|
|
175
|
-
});
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
// Export with color mask - removes specified RGB color and creates alpha mask
|
|
179
|
-
const exportWithColorMask = async () => {
|
|
180
|
-
// Export with color mask - RGB values are in 0.0-1.0 range
|
|
181
|
-
// Pure magenta (1.0, 0.0, 1.0) is commonly used for registration marks
|
|
182
|
-
const [maskedImage, alphaMask] = await engine.block.exportWithColorMask(
|
|
183
|
-
page,
|
|
184
|
-
1.0, // maskColorR - red component
|
|
185
|
-
0.0, // maskColorG - green component
|
|
186
|
-
1.0, // maskColorB - blue component (RGB: pure magenta)
|
|
187
|
-
{ mimeType: 'image/png' }
|
|
188
|
-
);
|
|
189
|
-
downloadBlob(maskedImage, 'design-masked.png');
|
|
190
|
-
downloadBlob(alphaMask, 'design-alpha-mask.png');
|
|
191
|
-
cesdk.ui.showNotification({
|
|
192
|
-
message: `Color mask export: image (${(maskedImage.size / 1024).toFixed(1)} KB) + mask (${(alphaMask.size / 1024).toFixed(1)} KB)`,
|
|
193
|
-
type: 'success'
|
|
194
|
-
});
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
// Configure navigation bar with export buttons
|
|
198
|
-
cesdk.ui.setComponentOrder({ in: 'ly.img.navigation.bar' }, [
|
|
199
|
-
'ly.img.undoRedo.navigationBar',
|
|
200
|
-
'ly.img.spacer',
|
|
201
|
-
{
|
|
202
|
-
id: 'ly.img.action.navigationBar',
|
|
203
|
-
onClick: exportToPng,
|
|
204
|
-
key: 'export-png',
|
|
205
|
-
label: 'PNG',
|
|
206
|
-
icon: '@imgly/Save',
|
|
207
|
-
variant: 'plain'
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
id: 'ly.img.action.navigationBar',
|
|
211
|
-
onClick: exportToJpeg,
|
|
212
|
-
key: 'export-jpeg',
|
|
213
|
-
label: 'JPEG',
|
|
214
|
-
icon: '@imgly/Save',
|
|
215
|
-
variant: 'plain'
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
id: 'ly.img.action.navigationBar',
|
|
219
|
-
onClick: exportToWebp,
|
|
220
|
-
key: 'export-webp',
|
|
221
|
-
label: 'WebP',
|
|
222
|
-
icon: '@imgly/Save',
|
|
223
|
-
variant: 'plain'
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
id: 'ly.img.action.navigationBar',
|
|
227
|
-
onClick: exportToPdf,
|
|
228
|
-
key: 'export-pdf',
|
|
229
|
-
label: 'PDF',
|
|
230
|
-
icon: '@imgly/Save',
|
|
231
|
-
variant: 'plain'
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
id: 'ly.img.action.navigationBar',
|
|
235
|
-
onClick: exportWithTargetSize,
|
|
236
|
-
key: 'export-hd',
|
|
237
|
-
label: 'HD',
|
|
238
|
-
icon: '@imgly/Save',
|
|
239
|
-
variant: 'plain'
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
id: 'ly.img.action.navigationBar',
|
|
243
|
-
onClick: exportWithColorMask,
|
|
244
|
-
key: 'export-mask',
|
|
245
|
-
label: 'Mask',
|
|
246
|
-
icon: '@imgly/Save',
|
|
247
|
-
variant: 'plain',
|
|
248
|
-
color: 'accent'
|
|
249
|
-
}
|
|
250
|
-
]);
|
|
251
|
-
|
|
252
|
-
cesdk.ui.showNotification({
|
|
253
|
-
message: 'Use the export buttons to export in different formats',
|
|
254
|
-
type: 'info',
|
|
255
|
-
duration: 'infinite'
|
|
151
|
+
const hdBlob = await engine.block.export(page, {
|
|
152
|
+
mimeType: 'image/png',
|
|
153
|
+
targetWidth: 1920,
|
|
154
|
+
targetHeight: 1080
|
|
256
155
|
});
|
|
156
|
+
const hdBuffer = Buffer.from(await hdBlob.arrayBuffer());
|
|
157
|
+
writeFileSync(`${outputDir}/design-hd.png`, hdBuffer);
|
|
158
|
+
console.log(`✓ HD export complete (${(hdBlob.size / 1024).toFixed(1)} KB)`);
|
|
257
159
|
}
|
|
258
|
-
}
|
|
259
160
|
|
|
260
|
-
|
|
161
|
+
if (format === 'mask' || format === 'all') {
|
|
162
|
+
// Export with color mask - RGB values are in 0.0-1.0 range
|
|
163
|
+
// Pure magenta (1.0, 0.0, 1.0) is commonly used for registration marks
|
|
164
|
+
const [maskedImage, alphaMask] = await engine.block.exportWithColorMask(
|
|
165
|
+
page,
|
|
166
|
+
1.0, // maskColorR - red component
|
|
167
|
+
0.0, // maskColorG - green component
|
|
168
|
+
1.0, // maskColorB - blue component (RGB: pure magenta)
|
|
169
|
+
{ mimeType: 'image/png' }
|
|
170
|
+
);
|
|
171
|
+
const maskedBuffer = Buffer.from(await maskedImage.arrayBuffer());
|
|
172
|
+
const maskBuffer = Buffer.from(await alphaMask.arrayBuffer());
|
|
173
|
+
writeFileSync(`${outputDir}/design-masked.png`, maskedBuffer);
|
|
174
|
+
writeFileSync(`${outputDir}/design-alpha-mask.png`, maskBuffer);
|
|
175
|
+
console.log(
|
|
176
|
+
`✓ Color mask export: image (${(maskedImage.size / 1024).toFixed(1)} KB) + mask (${(alphaMask.size / 1024).toFixed(1)} KB)`
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Check device export limits
|
|
181
|
+
const maxExportSize = engine.editor.getMaxExportSize();
|
|
182
|
+
const availableMemory = engine.editor.getAvailableMemory();
|
|
183
|
+
console.log(`\nDevice limits:`);
|
|
184
|
+
console.log(` Max export size: ${maxExportSize}px`);
|
|
185
|
+
console.log(
|
|
186
|
+
` Available memory: ${(Number(availableMemory) / 1024 / 1024).toFixed(0)} MB`
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
console.log('\n✓ Export completed successfully');
|
|
190
|
+
console.log(` Output files saved to: ${outputDir}/`);
|
|
191
|
+
} finally {
|
|
192
|
+
// Always dispose the engine to free resources
|
|
193
|
+
engine.dispose();
|
|
194
|
+
}
|
|
261
195
|
```
|
|
262
196
|
|
|
263
|
-
This guide covers how to export designs in different formats, configure format-specific options, check device limits, and
|
|
197
|
+
This guide covers how to export designs in different formats, configure format-specific options, check device limits, and save exports to the file system.
|
|
264
198
|
|
|
265
199
|
## Supported Export Formats
|
|
266
200
|
|
|
@@ -273,10 +207,9 @@ CE.SDK supports exporting scenes, pages, groups, or individual blocks in these f
|
|
|
273
207
|
| WebP | `image/webp` | Yes (lossless) | Web delivery, smaller files |
|
|
274
208
|
| SVG | `image/svg+xml` | Yes | Scalable graphics, web embedding, post-processing |
|
|
275
209
|
| PDF | `application/pdf` | Partial | Print, documents |
|
|
276
|
-
| MP4 | `video/mp4` | No | Video content |
|
|
277
210
|
| Binary | `application/octet-stream` | Yes | Raw data processing |
|
|
278
211
|
|
|
279
|
-
Each format serves different purposes. PNG preserves transparency and works well for graphics with sharp edges or text. JPEG compresses photographs efficiently but drops transparency. WebP provides excellent compression with optional lossless mode. SVG produces scalable vector output ideal for web embedding and post-processing with standard SVG tooling. PDF preserves vector information for print workflows.
|
|
212
|
+
Each format serves different purposes. PNG preserves transparency and works well for graphics with sharp edges or text. JPEG compresses photographs efficiently but drops transparency. WebP provides excellent compression with optional lossless mode. SVG produces scalable vector output ideal for web embedding and post-processing with standard SVG tooling. PDF preserves vector information for print workflows.
|
|
280
213
|
|
|
281
214
|
## Export Images
|
|
282
215
|
|
|
@@ -285,6 +218,7 @@ Each format serves different purposes. PNG preserves transparency and works well
|
|
|
285
218
|
PNG export uses lossless compression with a configurable compression level. Higher compression produces smaller files but takes longer to encode. Quality is not affected.
|
|
286
219
|
|
|
287
220
|
```typescript highlight-export-png
|
|
221
|
+
// Export to PNG with compression
|
|
288
222
|
const pngBlob = await engine.block.export(page, {
|
|
289
223
|
mimeType: 'image/png',
|
|
290
224
|
pngCompressionLevel: 5 // 0-9, higher = smaller file, slower
|
|
@@ -298,6 +232,7 @@ The `pngCompressionLevel` ranges from 0 (no compression, fastest) to 9 (maximum
|
|
|
298
232
|
JPEG export uses lossy compression controlled by the quality setting. Lower quality produces smaller files but introduces visible artifacts.
|
|
299
233
|
|
|
300
234
|
```typescript highlight-export-jpeg
|
|
235
|
+
// Export to JPEG with quality setting
|
|
301
236
|
const jpegBlob = await engine.block.export(page, {
|
|
302
237
|
mimeType: 'image/jpeg',
|
|
303
238
|
jpegQuality: 0.9 // 0-1, higher = better quality, larger file
|
|
@@ -306,13 +241,16 @@ const jpegBlob = await engine.block.export(page, {
|
|
|
306
241
|
|
|
307
242
|
The `jpegQuality` ranges from 0 to 1. Values above 0.9 provide excellent quality for most use cases. The default is 0.9.
|
|
308
243
|
|
|
309
|
-
> **Caution:** JPEG drops transparency from exports. Transparent areas render with a solid
|
|
244
|
+
> **Caution:** JPEG drops transparency from exports. Transparent areas render with a solid
|
|
245
|
+
> background, which may produce unexpected results for designs relying on alpha
|
|
246
|
+
> channels.
|
|
310
247
|
|
|
311
248
|
### Export to WebP
|
|
312
249
|
|
|
313
250
|
WebP provides better compression than PNG or JPEG for web delivery. A quality of 1.0 enables lossless mode.
|
|
314
251
|
|
|
315
252
|
```typescript highlight-export-webp
|
|
253
|
+
// Export to WebP with lossless quality
|
|
316
254
|
const webpBlob = await engine.block.export(page, {
|
|
317
255
|
mimeType: 'image/webp',
|
|
318
256
|
webpQuality: 1.0 // 1.0 = lossless, smaller files than PNG
|
|
@@ -323,13 +261,15 @@ The `webpQuality` ranges from 0 to 1. At 1.0, WebP uses lossless compression tha
|
|
|
323
261
|
|
|
324
262
|
### Export to SVG
|
|
325
263
|
|
|
326
|
-
SVG export produces scalable vector graphics that can be
|
|
264
|
+
SVG export produces scalable vector graphics that can be post-processed with standard SVG tooling or scaled to any resolution without quality loss.
|
|
327
265
|
|
|
328
266
|
```typescript
|
|
329
267
|
const blob = await engine.block.export(page, {
|
|
330
268
|
mimeType: 'image/svg+xml'
|
|
331
269
|
});
|
|
332
|
-
|
|
270
|
+
|
|
271
|
+
const buffer = Buffer.from(await blob.arrayBuffer());
|
|
272
|
+
writeFileSync('output/design.svg', buffer);
|
|
333
273
|
```
|
|
334
274
|
|
|
335
275
|
Text is exported as vector paths to ensure consistent rendering across environments without requiring the original fonts. Shapes, strokes, and gradients are exported as native SVG elements.
|
|
@@ -340,41 +280,42 @@ Text is exported as vector paths to ensure consistent rendering across environme
|
|
|
340
280
|
|
|
341
281
|
### Image Export Options
|
|
342
282
|
|
|
343
|
-
| Option
|
|
344
|
-
|
|
|
345
|
-
| `mimeType`
|
|
346
|
-
| `pngCompressionLevel` | `number` | `5`
|
|
347
|
-
| `jpegQuality`
|
|
348
|
-
| `webpQuality`
|
|
349
|
-
| `targetWidth`
|
|
350
|
-
| `targetHeight`
|
|
283
|
+
| Option | Type | Default | Description |
|
|
284
|
+
| ------ | ---- | ------- | ----------- |
|
|
285
|
+
| `mimeType` | `string` | - | Output format: `'image/png'`, `'image/jpeg'`, `'image/webp'`, or `'image/svg+xml'` |
|
|
286
|
+
| `pngCompressionLevel` | `number` | `5` | PNG compression level (0-9). Higher = smaller file, slower encoding |
|
|
287
|
+
| `jpegQuality` | `number` | `0.9` | JPEG quality (0-1). Higher = better quality, larger file |
|
|
288
|
+
| `webpQuality` | `number` | `0.8` | WebP quality (0-1). Set to 1.0 for lossless compression |
|
|
289
|
+
| `targetWidth` | `number` | - | Target output width in pixels |
|
|
290
|
+
| `targetHeight` | `number` | - | Target output height in pixels |
|
|
351
291
|
|
|
352
292
|
## Export PDF
|
|
353
293
|
|
|
354
294
|
PDF export preserves vector information and supports print workflows. The high compatibility option rasterizes content for broader viewer support.
|
|
355
295
|
|
|
356
296
|
```typescript highlight-export-pdf
|
|
297
|
+
// Export to PDF
|
|
357
298
|
const pdfBlob = await engine.block.export(page, {
|
|
358
299
|
mimeType: 'application/pdf',
|
|
359
300
|
exportPdfWithHighCompatibility: true // Rasterize for broader viewer support
|
|
360
301
|
});
|
|
361
302
|
```
|
|
362
303
|
|
|
363
|
-
When `exportPdfWithHighCompatibility` is `true` (the default), images and effects are rasterized according to the scene's DPI setting. Set it to `false` for faster exports, though gradients with transparency may not render correctly in
|
|
304
|
+
When `exportPdfWithHighCompatibility` is `true` (the default), images and effects are rasterized according to the scene's DPI setting. Set it to `false` for faster exports, though gradients with transparency may not render correctly in some PDF viewers.
|
|
364
305
|
|
|
365
306
|
The underlayer options are useful for print workflows where you need a solid base layer (often white ink) beneath the design elements. The `underlayerSpotColorName` should match a spot color defined in your print workflow.
|
|
366
307
|
|
|
367
308
|
### PDF Export Options
|
|
368
309
|
|
|
369
|
-
| Option
|
|
370
|
-
|
|
|
371
|
-
| `mimeType`
|
|
372
|
-
| `exportPdfWithHighCompatibility` | `boolean` | `true`
|
|
373
|
-
| `exportPdfWithUnderlayer`
|
|
374
|
-
| `underlayerSpotColorName`
|
|
375
|
-
| `underlayerOffset`
|
|
376
|
-
| `targetWidth`
|
|
377
|
-
| `targetHeight`
|
|
310
|
+
| Option | Type | Default | Description |
|
|
311
|
+
| ------ | ---- | ------- | ----------- |
|
|
312
|
+
| `mimeType` | `string` | - | Must be `'application/pdf'` |
|
|
313
|
+
| `exportPdfWithHighCompatibility` | `boolean` | `true` | Rasterize images and effects (like gradients) according to the scene's DPI setting for broader viewer support |
|
|
314
|
+
| `exportPdfWithUnderlayer` | `boolean` | `false` | Add an underlayer behind existing elements matching the shape of page content |
|
|
315
|
+
| `underlayerSpotColorName` | `string` | `''` | Spot color name for the underlayer fill (used with print workflows) |
|
|
316
|
+
| `underlayerOffset` | `number` | `0` | Size adjustment for the underlayer shape in design units |
|
|
317
|
+
| `targetWidth` | `number` | - | Target output width in pixels |
|
|
318
|
+
| `targetHeight` | `number` | - | Target output height in pixels |
|
|
378
319
|
|
|
379
320
|
## Export with Color Mask
|
|
380
321
|
|
|
@@ -402,102 +343,30 @@ Common mask colors for print workflows:
|
|
|
402
343
|
|
|
403
344
|
The method returns a Promise resolving to an array of two Blobs: the masked image (with matched pixels made transparent) and the alpha mask (black pixels for removed areas, white for retained areas).
|
|
404
345
|
|
|
405
|
-
> **Note:** Color matching is exact. Only pixels with RGB values precisely matching the
|
|
346
|
+
> **Note:** Color matching is exact. Only pixels with RGB values precisely matching the
|
|
347
|
+
> specified color are removed. Anti-aliased edges or color variations will not
|
|
348
|
+
> be affected.
|
|
406
349
|
|
|
407
350
|
### Color Mask Export Options
|
|
408
351
|
|
|
409
352
|
The `exportWithColorMask()` method accepts the same options as image export:
|
|
410
353
|
|
|
411
|
-
| Option
|
|
412
|
-
|
|
|
413
|
-
| `mimeType`
|
|
414
|
-
| `pngCompressionLevel` | `number` | `5`
|
|
415
|
-
| `jpegQuality`
|
|
416
|
-
| `webpQuality`
|
|
417
|
-
| `targetWidth`
|
|
418
|
-
| `targetHeight`
|
|
419
|
-
|
|
420
|
-
## Export Video
|
|
421
|
-
|
|
422
|
-
Video export uses the H.264 codec and outputs MP4 or QuickTime files. Unlike image exports, video exports accept a progress callback to track encoding status.
|
|
423
|
-
|
|
424
|
-
```typescript
|
|
425
|
-
const page = engine.scene.getCurrentPage();
|
|
426
|
-
|
|
427
|
-
const videoBlob = await engine.block.exportVideo(page, {
|
|
428
|
-
mimeType: 'video/mp4',
|
|
429
|
-
onProgress: (rendered, encoded, total) => {
|
|
430
|
-
console.log(`Progress: ${Math.round((encoded / total) * 100)}%`);
|
|
431
|
-
}
|
|
432
|
-
});
|
|
433
|
-
```
|
|
434
|
-
|
|
435
|
-
### Video Export Options
|
|
436
|
-
|
|
437
|
-
Configure video encoding with these options:
|
|
438
|
-
|
|
439
|
-
| Option | Type | Default | Description |
|
|
440
|
-
| ------------------- | ------------- | ------------------- | ------------------------------------------------------------------------- | ------------------- |
|
|
441
|
-
| `mimeType` | `'video/mp4'` | `'video/quicktime'` | `'video/mp4'` | Output video format |
|
|
442
|
-
| `h264Profile` | `number` | `77` (Main) | H.264 profile: 66=Baseline, 77=Main, 100=High |
|
|
443
|
-
| `h264Level` | `number` | `52` | Encoding level (multiply desired level by 10, e.g., 52 = level 5.2) |
|
|
444
|
-
| `videoBitrate` | `number` | `0` (auto) | Video bitrate in bits/second. Maximum determined by profile and level |
|
|
445
|
-
| `audioBitrate` | `number` | `0` (auto) | Audio bitrate in bits/second. Default auto-selects 128kbps for stereo AAC |
|
|
446
|
-
| `framerate` | `number` | `30` | Target framerate in Hz |
|
|
447
|
-
| `targetWidth` | `number` | - | Output width in pixels |
|
|
448
|
-
| `targetHeight` | `number` | - | Output height in pixels |
|
|
449
|
-
| `timeOffset` | `number` | `0` | Start time offset in seconds |
|
|
450
|
-
| `duration` | `number` | scene duration | Video duration in seconds |
|
|
451
|
-
| `allowTextOverhang` | `boolean` | `false` | Include text bounding boxes that account for glyph overhangs |
|
|
452
|
-
| `abortSignal` | `AbortSignal` | - | Signal to cancel export |
|
|
453
|
-
|
|
454
|
-
The `h264Profile` determines encoder quality and compatibility:
|
|
455
|
-
|
|
456
|
-
- **Baseline (66)**: Broadest device compatibility, lowest quality
|
|
457
|
-
- **Main (77)**: Good balance of quality and compatibility (default)
|
|
458
|
-
- **High (100)**: Best quality, may not play on older devices
|
|
459
|
-
|
|
460
|
-
> **Caution:** H.264 does not support transparency. Transparent areas render with a black background.
|
|
461
|
-
|
|
462
|
-
## Export Audio
|
|
463
|
-
|
|
464
|
-
Export audio tracks from pages or audio blocks. Supported formats are WAV (uncompressed) and MP4 (AAC encoded).
|
|
465
|
-
|
|
466
|
-
```typescript
|
|
467
|
-
const page = engine.scene.getCurrentPage();
|
|
468
|
-
|
|
469
|
-
const audioBlob = await engine.block.exportAudio(page, {
|
|
470
|
-
mimeType: 'audio/mp4', // or 'audio/wav'
|
|
471
|
-
onProgress: (rendered, encoded, total) => {
|
|
472
|
-
console.log(`Progress: ${Math.round((encoded / total) * 100)}%`);
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
```
|
|
476
|
-
|
|
477
|
-
### Audio Export Options
|
|
478
|
-
|
|
479
|
-
Configure audio export with these options:
|
|
480
|
-
|
|
481
|
-
| Option | Type | Default | Description |
|
|
482
|
-
| ------------------ | ------------- | -------------- | ------------------------------------------- | ------------------- |
|
|
483
|
-
| `mimeType` | `'audio/wav'` | `'audio/mp4'` | `'audio/wav'` | Output audio format |
|
|
484
|
-
| `sampleRate` | `number` | `48000` | Sample rate in Hz |
|
|
485
|
-
| `numberOfChannels` | `number` | `2` | Number of audio channels (1=mono, 2=stereo) |
|
|
486
|
-
| `timeOffset` | `number` | `0` | Start time offset in seconds |
|
|
487
|
-
| `duration` | `number` | block duration | Audio duration in seconds |
|
|
488
|
-
| `skipEncoding` | `boolean` | `false` | Return raw audio data without encoding |
|
|
489
|
-
| `abortSignal` | `AbortSignal` | - | Signal to cancel export |
|
|
490
|
-
|
|
491
|
-
Use `audio/wav` for lossless quality when file size is not a concern. Use `audio/mp4` (AAC) for compressed output suitable for web delivery.
|
|
492
|
-
|
|
493
|
-
> **Note:** Audio export extracts and processes audio from all audio-capable blocks within the target block, including video fills with audio tracks and standalone audio blocks.
|
|
354
|
+
| Option | Type | Default | Description |
|
|
355
|
+
| ------ | ---- | ------- | ----------- |
|
|
356
|
+
| `mimeType` | `string` | `'image/png'` | Output format: `'image/png'`, `'image/jpeg'`, or `'image/webp'` |
|
|
357
|
+
| `pngCompressionLevel` | `number` | `5` | PNG compression level (0-9) |
|
|
358
|
+
| `jpegQuality` | `number` | `0.9` | JPEG quality (0-1) |
|
|
359
|
+
| `webpQuality` | `number` | `0.8` | WebP quality (0-1) |
|
|
360
|
+
| `targetWidth` | `number` | - | Target output width in pixels |
|
|
361
|
+
| `targetHeight` | `number` | - | Target output height in pixels |
|
|
494
362
|
|
|
495
363
|
## Target Size Control
|
|
496
364
|
|
|
497
365
|
You can export at specific dimensions regardless of the block's actual size. The `targetWidth` and `targetHeight` options render the block large enough to fill the target size while maintaining aspect ratio.
|
|
498
366
|
|
|
499
367
|
```typescript highlight-export-target-size
|
|
500
|
-
|
|
368
|
+
// Export with target size
|
|
369
|
+
const hdBlob = await engine.block.export(page, {
|
|
501
370
|
mimeType: 'image/png',
|
|
502
371
|
targetWidth: 1920,
|
|
503
372
|
targetHeight: 1080
|
|
@@ -508,50 +377,34 @@ If the target aspect ratio differs from the block's aspect ratio, the output fil
|
|
|
508
377
|
|
|
509
378
|
## Device Export Limits
|
|
510
379
|
|
|
511
|
-
Before exporting large designs, check the device's export capabilities. Memory constraints
|
|
380
|
+
Before exporting large designs, check the device's export capabilities. Memory constraints may prevent exports that exceed certain dimensions.
|
|
512
381
|
|
|
513
|
-
```typescript
|
|
382
|
+
```typescript highlight-check-limits
|
|
383
|
+
// Check device export limits
|
|
514
384
|
const maxExportSize = engine.editor.getMaxExportSize();
|
|
515
385
|
const availableMemory = engine.editor.getAvailableMemory();
|
|
516
|
-
|
|
517
|
-
console.log(`Max dimension: ${maxExportSize}px`);
|
|
518
|
-
console.log(`Available memory: ${availableMemory / 1024 / 1024} MB`);
|
|
519
386
|
```
|
|
520
387
|
|
|
521
388
|
`getMaxExportSize()` returns the maximum width or height in pixels. Both dimensions must stay below this limit. `getAvailableMemory()` returns available memory in bytes, helping you assess whether large exports are feasible.
|
|
522
389
|
|
|
523
|
-
> **Note:** The max export size is an upper bound. Exports may still fail due to memory
|
|
524
|
-
|
|
525
|
-
|
|
390
|
+
> **Note:** The max export size is an upper bound. Exports may still fail due to memory
|
|
391
|
+
> constraints even when within size limits. For high-resolution exports,
|
|
392
|
+
> consider checking available memory first.
|
|
526
393
|
|
|
527
|
-
|
|
394
|
+
## Save to File System
|
|
528
395
|
|
|
529
|
-
|
|
396
|
+
After exporting, convert the Blob to a Buffer and write to the file system.
|
|
530
397
|
|
|
531
398
|
```typescript
|
|
532
|
-
const
|
|
533
|
-
mimeType: 'image/png'
|
|
399
|
+
const blob = await engine.block.export(page, {
|
|
400
|
+
mimeType: 'image/png',
|
|
534
401
|
});
|
|
535
|
-
await cesdk.utils.downloadFile(blobs[0], options.mimeType);
|
|
536
|
-
```
|
|
537
402
|
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
```typescript
|
|
541
|
-
const { blobs, options } = await cesdk.utils.export({
|
|
542
|
-
mimeType: 'application/pdf'
|
|
543
|
-
});
|
|
544
|
-
await cesdk.utils.downloadFile(blobs[0], options.mimeType);
|
|
403
|
+
const buffer = Buffer.from(await blob.arrayBuffer());
|
|
404
|
+
writeFileSync('output/design.png', buffer);
|
|
545
405
|
```
|
|
546
406
|
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
```typescript
|
|
550
|
-
const { blobs, options } = await cesdk.utils.export({
|
|
551
|
-
mimeType: 'video/mp4'
|
|
552
|
-
});
|
|
553
|
-
await cesdk.utils.downloadFile(blobs[0], options.mimeType);
|
|
554
|
-
```
|
|
407
|
+
This approach works for all export formats. Adjust the filename extension to match the exported format.
|
|
555
408
|
|
|
556
409
|
## API Reference
|
|
557
410
|
|
|
@@ -559,18 +412,16 @@ await cesdk.utils.downloadFile(blobs[0], options.mimeType);
|
|
|
559
412
|
| ------------------------------------ | ------------------------------------------------------------------------------------- |
|
|
560
413
|
| `engine.block.export()` | Export a block with format and quality options |
|
|
561
414
|
| `engine.block.exportWithColorMask()` | Export a block with specific RGB color removed, returning masked image and alpha mask |
|
|
562
|
-
| `engine.block.exportVideo()` | Export a page as video with encoding options |
|
|
563
|
-
| `engine.block.exportAudio()` | Export audio from a page or audio block |
|
|
564
415
|
| `engine.editor.getMaxExportSize()` | Get maximum export dimension in pixels |
|
|
565
416
|
| `engine.editor.getAvailableMemory()` | Get available memory in bytes |
|
|
566
|
-
|
|
567
|
-
|
|
417
|
+
|
|
418
|
+
|
|
568
419
|
|
|
569
420
|
---
|
|
570
421
|
|
|
571
422
|
## More Resources
|
|
572
423
|
|
|
573
|
-
- **[
|
|
424
|
+
- **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
|
|
574
425
|
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
575
|
-
- **[Web Documentation](./
|
|
576
|
-
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
426
|
+
- **[Web Documentation](./node.md)** - Interactive documentation with examples
|
|
427
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|