@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,420 +1,366 @@
|
|
|
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) > [Create and Edit Images](./edit-image.md) > [Remove Background](./edit-image/remove-bg.md) > [Plugins](./plugins.md) > [Background Removal](./edit-image/remove-bg.md)
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
Remove image backgrounds
|
|
8
|
-
|
|
9
|
-

|
|
7
|
+
Remove image backgrounds programmatically on the server for automated processing pipelines and batch operations.
|
|
10
8
|
|
|
11
9
|
> **Reading time:** 10 minutes
|
|
12
10
|
>
|
|
13
11
|
> **Resources:**
|
|
14
12
|
>
|
|
15
13
|
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
16
|
-
>
|
|
17
|
-
> - [
|
|
18
|
-
>
|
|
14
|
+
>
|
|
15
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-edit-image-remove-bg-server-js)
|
|
16
|
+
>
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-edit-image-remove-bg-server-js)
|
|
19
18
|
|
|
20
|
-
The `@imgly/
|
|
19
|
+
The `@imgly/background-removal-node` package provides AI-powered background removal for Node.js applications. Processing runs entirely on your server using native bindings, eliminating external API dependencies and ensuring data privacy.
|
|
21
20
|
|
|
22
|
-
```typescript file=@cesdk_web_examples/guides-edit-image-remove-bg-
|
|
23
|
-
import
|
|
21
|
+
```typescript file=@cesdk_web_examples/guides-edit-image-remove-bg-server-js/server-js.ts reference-only
|
|
22
|
+
import CreativeEngine from '@cesdk/node';
|
|
23
|
+
import { config } from 'dotenv';
|
|
24
|
+
import { writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
25
|
+
import { removeBackground, type Config } from '@imgly/background-removal-node';
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
ColorPaletteAssetSource,
|
|
28
|
-
CropPresetsAssetSource,
|
|
29
|
-
DemoAssetSources,
|
|
30
|
-
EffectsAssetSource,
|
|
31
|
-
FiltersAssetSource,
|
|
32
|
-
PagePresetsAssetSource,
|
|
33
|
-
StickerAssetSource,
|
|
34
|
-
TextAssetSource,
|
|
35
|
-
TextComponentAssetSource,
|
|
36
|
-
TypefaceAssetSource,
|
|
37
|
-
UploadAssetSources,
|
|
38
|
-
VectorShapeAssetSource
|
|
39
|
-
} from '@cesdk/cesdk-js/plugins';
|
|
40
|
-
import { DesignEditorConfig } from './design-editor/plugin';
|
|
41
|
-
import BackgroundRemovalPlugin from '@imgly/plugin-background-removal-web';
|
|
42
|
-
import packageJson from './package.json';
|
|
27
|
+
// Load environment variables
|
|
28
|
+
config();
|
|
43
29
|
|
|
44
30
|
/**
|
|
45
|
-
* CE.SDK
|
|
31
|
+
* CE.SDK Server Guide: Remove Background with @imgly/background-removal-node
|
|
46
32
|
*
|
|
47
|
-
* Demonstrates
|
|
48
|
-
* for
|
|
33
|
+
* Demonstrates configuring and using the background removal library
|
|
34
|
+
* for server-side image processing in Node.js.
|
|
49
35
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
BackgroundRemovalPlugin({
|
|
101
|
-
ui: {
|
|
102
|
-
locations: ['canvasMenu']
|
|
103
|
-
}
|
|
104
|
-
})
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
// Create a gradient background (deep teal to soft purple)
|
|
108
|
-
const gradientFill = engine.block.createFill('gradient/linear');
|
|
109
|
-
engine.block.setGradientColorStops(gradientFill, 'fill/gradient/colors', [
|
|
110
|
-
{ stop: 0, color: { r: 0.08, g: 0.22, b: 0.35, a: 1 } }, // Deep teal
|
|
111
|
-
{ stop: 1, color: { r: 0.35, g: 0.2, b: 0.45, a: 1 } } // Soft purple
|
|
112
|
-
]);
|
|
113
|
-
engine.block.setFloat(gradientFill, 'fill/gradient/linear/startPointX', 0);
|
|
114
|
-
engine.block.setFloat(gradientFill, 'fill/gradient/linear/startPointY', 0);
|
|
115
|
-
engine.block.setFloat(gradientFill, 'fill/gradient/linear/endPointX', 1);
|
|
116
|
-
engine.block.setFloat(gradientFill, 'fill/gradient/linear/endPointY', 1);
|
|
117
|
-
engine.block.setFill(page, gradientFill);
|
|
118
|
-
|
|
119
|
-
// Create centered title text
|
|
120
|
-
const titleBlock = engine.block.create('text');
|
|
121
|
-
engine.block.setString(titleBlock, 'text/text', 'Remove Background');
|
|
122
|
-
engine.block.setFloat(titleBlock, 'text/fontSize', 140);
|
|
123
|
-
engine.block.setEnum(titleBlock, 'text/horizontalAlignment', 'Center');
|
|
124
|
-
engine.block.setWidth(titleBlock, pageWidth);
|
|
125
|
-
engine.block.setHeightMode(titleBlock, 'Auto');
|
|
126
|
-
engine.block.appendChild(page, titleBlock);
|
|
127
|
-
engine.block.setTextColor(titleBlock, { r: 1, g: 1, b: 1, a: 1 });
|
|
128
|
-
|
|
129
|
-
// Create image block with a portrait photo
|
|
130
|
-
const imageBlock = engine.block.create('graphic');
|
|
131
|
-
const rectShape = engine.block.createShape('rect');
|
|
132
|
-
engine.block.setShape(imageBlock, rectShape);
|
|
133
|
-
|
|
134
|
-
const imageFill = engine.block.createFill('image');
|
|
135
|
-
engine.block.setString(
|
|
136
|
-
imageFill,
|
|
137
|
-
'fill/image/imageFileURI',
|
|
138
|
-
'https://img.ly/static/ubq_samples/sample_4.jpg'
|
|
139
|
-
);
|
|
140
|
-
engine.block.setFill(imageBlock, imageFill);
|
|
141
|
-
engine.block.setContentFillMode(imageBlock, 'Cover');
|
|
142
|
-
|
|
143
|
-
const imageWidth = 202;
|
|
144
|
-
const imageHeight = 230;
|
|
145
|
-
engine.block.setWidth(imageBlock, imageWidth);
|
|
146
|
-
engine.block.setHeight(imageBlock, imageHeight);
|
|
147
|
-
engine.block.appendChild(page, imageBlock);
|
|
148
|
-
|
|
149
|
-
// Create img.ly logo at bottom center
|
|
150
|
-
const logoBlock = engine.block.create('graphic');
|
|
151
|
-
const logoShape = engine.block.createShape('rect');
|
|
152
|
-
engine.block.setShape(logoBlock, logoShape);
|
|
153
|
-
|
|
154
|
-
const logoFill = engine.block.createFill('image');
|
|
155
|
-
engine.block.setString(
|
|
156
|
-
logoFill,
|
|
157
|
-
'fill/image/imageFileURI',
|
|
158
|
-
'https://img.ly/static/ubq_samples/imgly_logo.jpg'
|
|
159
|
-
);
|
|
160
|
-
engine.block.setFill(logoBlock, logoFill);
|
|
161
|
-
engine.block.setContentFillMode(logoBlock, 'Contain');
|
|
162
|
-
|
|
163
|
-
const logoWidth = 72;
|
|
164
|
-
const logoHeight = 45;
|
|
165
|
-
engine.block.setWidth(logoBlock, logoWidth);
|
|
166
|
-
engine.block.setHeight(logoBlock, logoHeight);
|
|
167
|
-
engine.block.setOpacity(logoBlock, 0.9);
|
|
168
|
-
engine.block.appendChild(page, logoBlock);
|
|
169
|
-
|
|
170
|
-
// Position elements
|
|
171
|
-
const titleHeight = engine.block.getFrameHeight(titleBlock);
|
|
172
|
-
const imageGap = 30;
|
|
173
|
-
const padding = 20;
|
|
174
|
-
|
|
175
|
-
// Calculate vertical layout - title and image centered
|
|
176
|
-
const totalContentHeight = titleHeight + imageGap + imageHeight;
|
|
177
|
-
const startY = (pageHeight - totalContentHeight) / 2;
|
|
178
|
-
|
|
179
|
-
// Position title at top of content area
|
|
180
|
-
engine.block.setPositionX(titleBlock, 0);
|
|
181
|
-
engine.block.setPositionY(titleBlock, startY);
|
|
182
|
-
|
|
183
|
-
// Position image centered below title
|
|
184
|
-
engine.block.setPositionX(imageBlock, (pageWidth - imageWidth) / 2);
|
|
185
|
-
engine.block.setPositionY(imageBlock, startY + titleHeight + imageGap);
|
|
186
|
-
|
|
187
|
-
// Position logo at bottom center
|
|
188
|
-
engine.block.setPositionX(logoBlock, (pageWidth - logoWidth) / 2);
|
|
189
|
-
engine.block.setPositionY(logoBlock, pageHeight - logoHeight - padding);
|
|
190
|
-
|
|
191
|
-
// Select the image to show the canvas menu with BG Removal button
|
|
192
|
-
engine.block.select(imageBlock);
|
|
193
|
-
|
|
194
|
-
// Zoom to fit
|
|
195
|
-
await engine.scene.zoomToBlock(page, { padding: 40 });
|
|
196
|
-
engine.scene.enableZoomAutoFit(page, 'Both', 40, 40, 40, 40);
|
|
36
|
+
|
|
37
|
+
// Initialize CE.SDK engine in headless mode
|
|
38
|
+
const engine = await CreativeEngine.init({
|
|
39
|
+
baseURL: process.env.IMGLY_LOCAL_ASSETS_URL,
|
|
40
|
+
// license: process.env.CESDK_LICENSE, // Optional (trial mode available)
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
try {
|
|
44
|
+
// Create a design scene with specific page dimensions
|
|
45
|
+
engine.scene.create('VerticalStack', {
|
|
46
|
+
page: { size: { width: 800, height: 600 } },
|
|
47
|
+
});
|
|
48
|
+
const page = engine.block.findByType('page')[0];
|
|
49
|
+
|
|
50
|
+
const pageWidth = engine.block.getWidth(page);
|
|
51
|
+
const pageHeight = engine.block.getHeight(page);
|
|
52
|
+
|
|
53
|
+
// Create a graphic block with an image that has a background
|
|
54
|
+
const imageBlock = engine.block.create('graphic');
|
|
55
|
+
|
|
56
|
+
// Create a rect shape for the image
|
|
57
|
+
const rectShape = engine.block.createShape('rect');
|
|
58
|
+
engine.block.setShape(imageBlock, rectShape);
|
|
59
|
+
|
|
60
|
+
// Create an image fill with a sample portrait image
|
|
61
|
+
const imageFill = engine.block.createFill('image');
|
|
62
|
+
const imageUri = 'https://img.ly/static/ubq_samples/sample_4.jpg';
|
|
63
|
+
engine.block.setString(imageFill, 'fill/image/imageFileURI', imageUri);
|
|
64
|
+
|
|
65
|
+
// Apply the fill to the graphic block
|
|
66
|
+
engine.block.setFill(imageBlock, imageFill);
|
|
67
|
+
|
|
68
|
+
// Set content fill mode to cover the block
|
|
69
|
+
engine.block.setContentFillMode(imageBlock, 'Cover');
|
|
70
|
+
|
|
71
|
+
// Size and position the image block
|
|
72
|
+
const imageWidth = 400;
|
|
73
|
+
const imageHeight = 450;
|
|
74
|
+
engine.block.setWidth(imageBlock, imageWidth);
|
|
75
|
+
engine.block.setHeight(imageBlock, imageHeight);
|
|
76
|
+
engine.block.setPositionX(imageBlock, (pageWidth - imageWidth) / 2);
|
|
77
|
+
engine.block.setPositionY(imageBlock, (pageHeight - imageHeight) / 2);
|
|
78
|
+
|
|
79
|
+
// Add to page
|
|
80
|
+
engine.block.appendChild(page, imageBlock);
|
|
81
|
+
|
|
82
|
+
// Create output directory
|
|
83
|
+
const outputDir = './output';
|
|
84
|
+
if (!existsSync(outputDir)) {
|
|
85
|
+
mkdirSync(outputDir, { recursive: true });
|
|
197
86
|
}
|
|
198
|
-
}
|
|
199
87
|
|
|
200
|
-
|
|
88
|
+
// Configure background removal options
|
|
89
|
+
const removalConfig: Config = {
|
|
90
|
+
// Model size: 'small' for speed, 'medium' for balance, 'large' for quality
|
|
91
|
+
model: 'medium',
|
|
92
|
+
// Output format and quality
|
|
93
|
+
output: {
|
|
94
|
+
format: 'image/png',
|
|
95
|
+
quality: 0.9,
|
|
96
|
+
},
|
|
97
|
+
// Progress callback for monitoring
|
|
98
|
+
progress: (key, current, total) => {
|
|
99
|
+
const percentage = Math.round((current / total) * 100);
|
|
100
|
+
console.log(` ${key}: ${percentage}%`);
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// Export the image block as PNG blob
|
|
105
|
+
console.log('Removing background...');
|
|
106
|
+
const imageBlob = await engine.block.export(imageBlock, {
|
|
107
|
+
mimeType: 'image/png',
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// Remove background using the configured options
|
|
111
|
+
const processedBlob = await removeBackground(imageBlob, removalConfig);
|
|
112
|
+
console.log('✓ Background removed successfully');
|
|
113
|
+
|
|
114
|
+
// Convert the processed blob to a data URL and apply it back to the scene
|
|
115
|
+
const processedBuffer = Buffer.from(await processedBlob.arrayBuffer());
|
|
116
|
+
const base64Image = processedBuffer.toString('base64');
|
|
117
|
+
const dataUrl = `data:image/png;base64,${base64Image}`;
|
|
118
|
+
|
|
119
|
+
// Update the image fill with the processed image
|
|
120
|
+
engine.block.setString(imageFill, 'fill/image/imageFileURI', dataUrl);
|
|
121
|
+
console.log('✓ Applied processed image to scene');
|
|
122
|
+
|
|
123
|
+
// Export the final result with transparent background
|
|
124
|
+
const resultBlob = await engine.block.export(page, { mimeType: 'image/png' });
|
|
125
|
+
const resultBuffer = Buffer.from(await resultBlob.arrayBuffer());
|
|
126
|
+
writeFileSync(`${outputDir}/remove-bg-result.png`, resultBuffer);
|
|
127
|
+
console.log('✓ Exported result to output/remove-bg-result.png');
|
|
128
|
+
|
|
129
|
+
console.log('\n✓ Processing complete!');
|
|
130
|
+
console.log(' Output directory:', outputDir);
|
|
131
|
+
} finally {
|
|
132
|
+
// Always dispose the engine to free resources
|
|
133
|
+
engine.dispose();
|
|
134
|
+
}
|
|
201
135
|
```
|
|
202
136
|
|
|
203
|
-
This guide covers installing the
|
|
137
|
+
This guide covers installing the library, configuring processing options, and integrating with CE.SDK for automated image processing pipelines.
|
|
204
138
|
|
|
205
|
-
## Installing the
|
|
139
|
+
## Installing the Library
|
|
206
140
|
|
|
207
|
-
Install the background removal
|
|
141
|
+
Install the background removal library alongside the CE.SDK Node engine:
|
|
208
142
|
|
|
209
143
|
```bash
|
|
210
|
-
npm install @imgly/
|
|
144
|
+
npm install @cesdk/node@$UBQ_VERSION$ @imgly/background-removal-node
|
|
211
145
|
```
|
|
212
146
|
|
|
213
|
-
Import the
|
|
147
|
+
Import the `removeBackground` function and `Config` type:
|
|
214
148
|
|
|
215
149
|
```typescript highlight-import
|
|
216
|
-
import
|
|
150
|
+
import { removeBackground, type Config } from '@imgly/background-removal-node';
|
|
217
151
|
```
|
|
218
152
|
|
|
219
|
-
## Initializing the
|
|
153
|
+
## Initializing the Engine
|
|
220
154
|
|
|
221
|
-
|
|
155
|
+
Initialize the CE.SDK engine in headless mode for server-side processing:
|
|
222
156
|
|
|
223
157
|
```typescript highlight-setup
|
|
224
|
-
|
|
225
|
-
await
|
|
226
|
-
|
|
227
|
-
//
|
|
228
|
-
await cesdk.addPlugin(new BlurAssetSource());
|
|
229
|
-
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
230
|
-
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
231
|
-
await cesdk.addPlugin(
|
|
232
|
-
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
233
|
-
);
|
|
234
|
-
await cesdk.addPlugin(
|
|
235
|
-
new DemoAssetSources({
|
|
236
|
-
include: [
|
|
237
|
-
'ly.img.templates.blank.*',
|
|
238
|
-
'ly.img.templates.presentation.*',
|
|
239
|
-
'ly.img.templates.print.*',
|
|
240
|
-
'ly.img.templates.social.*',
|
|
241
|
-
'ly.img.image.*'
|
|
242
|
-
]
|
|
243
|
-
})
|
|
244
|
-
);
|
|
245
|
-
await cesdk.addPlugin(new EffectsAssetSource());
|
|
246
|
-
await cesdk.addPlugin(new FiltersAssetSource());
|
|
247
|
-
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
248
|
-
await cesdk.addPlugin(new StickerAssetSource());
|
|
249
|
-
await cesdk.addPlugin(new TextAssetSource());
|
|
250
|
-
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
251
|
-
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
252
|
-
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
253
|
-
|
|
254
|
-
await cesdk.actions.run('scene.create', {
|
|
255
|
-
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
158
|
+
// Initialize CE.SDK engine in headless mode
|
|
159
|
+
const engine = await CreativeEngine.init({
|
|
160
|
+
baseURL: process.env.IMGLY_LOCAL_ASSETS_URL,
|
|
161
|
+
// license: process.env.CESDK_LICENSE, // Optional (trial mode available)
|
|
256
162
|
});
|
|
257
163
|
```
|
|
258
164
|
|
|
259
|
-
|
|
165
|
+
The engine runs without a UI, making it suitable for automated workflows and background processing tasks.
|
|
260
166
|
|
|
261
|
-
|
|
167
|
+
## Creating an Image Block
|
|
262
168
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
);
|
|
169
|
+
Create a scene with a graphic block containing an image:
|
|
170
|
+
|
|
171
|
+
```typescript highlight-create-image
|
|
172
|
+
// Create a graphic block with an image that has a background
|
|
173
|
+
const imageBlock = engine.block.create('graphic');
|
|
174
|
+
|
|
175
|
+
// Create a rect shape for the image
|
|
176
|
+
const rectShape = engine.block.createShape('rect');
|
|
177
|
+
engine.block.setShape(imageBlock, rectShape);
|
|
178
|
+
|
|
179
|
+
// Create an image fill with a sample portrait image
|
|
180
|
+
const imageFill = engine.block.createFill('image');
|
|
181
|
+
const imageUri = 'https://img.ly/static/ubq_samples/sample_4.jpg';
|
|
182
|
+
engine.block.setString(imageFill, 'fill/image/imageFileURI', imageUri);
|
|
183
|
+
|
|
184
|
+
// Apply the fill to the graphic block
|
|
185
|
+
engine.block.setFill(imageBlock, imageFill);
|
|
186
|
+
|
|
187
|
+
// Set content fill mode to cover the block
|
|
188
|
+
engine.block.setContentFillMode(imageBlock, 'Cover');
|
|
189
|
+
|
|
190
|
+
// Size and position the image block
|
|
191
|
+
const imageWidth = 400;
|
|
192
|
+
const imageHeight = 450;
|
|
193
|
+
engine.block.setWidth(imageBlock, imageWidth);
|
|
194
|
+
engine.block.setHeight(imageBlock, imageHeight);
|
|
195
|
+
engine.block.setPositionX(imageBlock, (pageWidth - imageWidth) / 2);
|
|
196
|
+
engine.block.setPositionY(imageBlock, (pageHeight - imageHeight) / 2);
|
|
197
|
+
|
|
198
|
+
// Add to page
|
|
199
|
+
engine.block.appendChild(page, imageBlock);
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Configuring Background Removal
|
|
203
|
+
|
|
204
|
+
The `removeBackground` function accepts a configuration object to customize the processing:
|
|
205
|
+
|
|
206
|
+
```typescript highlight-configure
|
|
207
|
+
// Configure background removal options
|
|
208
|
+
const removalConfig: Config = {
|
|
209
|
+
// Model size: 'small' for speed, 'medium' for balance, 'large' for quality
|
|
210
|
+
model: 'medium',
|
|
211
|
+
// Output format and quality
|
|
212
|
+
output: {
|
|
213
|
+
format: 'image/png',
|
|
214
|
+
quality: 0.9,
|
|
215
|
+
},
|
|
216
|
+
// Progress callback for monitoring
|
|
217
|
+
progress: (key, current, total) => {
|
|
218
|
+
const percentage = Math.round((current / total) * 100);
|
|
219
|
+
console.log(` ${key}: ${percentage}%`);
|
|
220
|
+
},
|
|
221
|
+
};
|
|
272
222
|
```
|
|
273
223
|
|
|
274
|
-
|
|
224
|
+
### Configuration Options
|
|
275
225
|
|
|
276
|
-
|
|
226
|
+
| Option | Type | Description |
|
|
227
|
+
| --- | --- | --- |
|
|
228
|
+
| `model` | `'small'` | `'medium'` | `'large'` | Model size for quality/speed trade-off |
|
|
229
|
+
| `output.format` | string | Output format: `'image/png'`, `'image/webp'`, `'image/jpeg'` |
|
|
230
|
+
| `output.quality` | number | Quality for lossy formats (0-1) |
|
|
231
|
+
| `progress` | function | Callback receiving `(key, current, total)` for progress updates |
|
|
232
|
+
| `debug` | boolean | Enable debug logging |
|
|
277
233
|
|
|
278
|
-
|
|
234
|
+
Model selection guidelines:
|
|
279
235
|
|
|
280
|
-
|
|
236
|
+
- **`'small'`**: Fastest processing, suitable for thumbnails or previews
|
|
237
|
+
- **`'medium'`**: Best balance of quality and speed for most use cases
|
|
238
|
+
- **`'large'`**: Maximum edge quality, slower processing
|
|
281
239
|
|
|
282
|
-
|
|
240
|
+
## Removing the Background
|
|
283
241
|
|
|
284
|
-
|
|
285
|
-
| ------------------- | ---------------------------------------------- |
|
|
286
|
-
| `'canvasMenu'` | Context menu when selecting an image on canvas |
|
|
287
|
-
| `'dock'` | Panel in the left dock sidebar |
|
|
288
|
-
| `'inspectorBar'` | Top bar of the inspector panel |
|
|
289
|
-
| `'navigationBar'` | Main navigation bar |
|
|
290
|
-
| `'canvasBarTop'` | Top bar above the canvas |
|
|
291
|
-
| `'canvasBarBottom'` | Bottom bar below the canvas |
|
|
242
|
+
Export the image block and process it with the configured options:
|
|
292
243
|
|
|
293
|
-
|
|
244
|
+
```typescript highlight-remove-background
|
|
245
|
+
// Export the image block as PNG blob
|
|
246
|
+
console.log('Removing background...');
|
|
247
|
+
const imageBlob = await engine.block.export(imageBlock, {
|
|
248
|
+
mimeType: 'image/png',
|
|
249
|
+
});
|
|
294
250
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
});
|
|
251
|
+
// Remove background using the configured options
|
|
252
|
+
const processedBlob = await removeBackground(imageBlob, removalConfig);
|
|
253
|
+
console.log('✓ Background removed successfully');
|
|
299
254
|
```
|
|
300
255
|
|
|
301
|
-
|
|
256
|
+
The `removeBackground` function accepts various input types:
|
|
302
257
|
|
|
303
|
-
|
|
258
|
+
- **Blob**: Direct blob from CE.SDK export
|
|
259
|
+
- **URL string**: Remote image URL
|
|
260
|
+
- **File path**: Local file path
|
|
261
|
+
- **Buffer**: Node.js Buffer
|
|
304
262
|
|
|
305
|
-
|
|
306
|
-
BackgroundRemovalPlugin({
|
|
307
|
-
ui: { locations: ['canvasMenu'] },
|
|
308
|
-
provider: {
|
|
309
|
-
type: '@imgly/background-removal',
|
|
310
|
-
configuration: {
|
|
311
|
-
model: 'medium', // 'small' | 'medium' | 'large'
|
|
312
|
-
output: {
|
|
313
|
-
format: 'image/png',
|
|
314
|
-
quality: 0.9
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
```
|
|
263
|
+
## Applying the Result
|
|
320
264
|
|
|
321
|
-
|
|
322
|
-
| ---------------- | --------- | -------------------------------------------- | --------- | -------------------------------------- |
|
|
323
|
-
| `model` | `'small'` | `'medium'` | `'large'` | Model size for quality/speed trade-off |
|
|
324
|
-
| `output.format` | string | Output format: `'image/png'`, `'image/webp'` |
|
|
325
|
-
| `output.quality` | number | Quality for lossy formats (0-1) |
|
|
265
|
+
Convert the processed blob to a data URL and apply it back to the scene:
|
|
326
266
|
|
|
327
|
-
|
|
267
|
+
```typescript highlight-apply-result
|
|
268
|
+
// Convert the processed blob to a data URL and apply it back to the scene
|
|
269
|
+
const processedBuffer = Buffer.from(await processedBlob.arrayBuffer());
|
|
270
|
+
const base64Image = processedBuffer.toString('base64');
|
|
271
|
+
const dataUrl = `data:image/png;base64,${base64Image}`;
|
|
328
272
|
|
|
329
|
-
|
|
273
|
+
// Update the image fill with the processed image
|
|
274
|
+
engine.block.setString(imageFill, 'fill/image/imageFileURI', dataUrl);
|
|
275
|
+
console.log('✓ Applied processed image to scene');
|
|
276
|
+
```
|
|
330
277
|
|
|
331
|
-
|
|
278
|
+
## Exporting the Final Result
|
|
332
279
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
body: JSON.stringify({ imageUrl: imageFileURI })
|
|
342
|
-
});
|
|
343
|
-
const { processedUrl } = await response.json();
|
|
344
|
-
return processedUrl;
|
|
345
|
-
},
|
|
346
|
-
processSourceSet: async (sourceSet) => {
|
|
347
|
-
// Handle multi-resolution source sets
|
|
348
|
-
// Process the highest resolution and resize for others
|
|
349
|
-
return sourceSet;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
});
|
|
280
|
+
Export the scene with the processed image as a PNG file:
|
|
281
|
+
|
|
282
|
+
```typescript highlight-export
|
|
283
|
+
// Export the final result with transparent background
|
|
284
|
+
const resultBlob = await engine.block.export(page, { mimeType: 'image/png' });
|
|
285
|
+
const resultBuffer = Buffer.from(await resultBlob.arrayBuffer());
|
|
286
|
+
writeFileSync(`${outputDir}/remove-bg-result.png`, resultBuffer);
|
|
287
|
+
console.log('✓ Exported result to output/remove-bg-result.png');
|
|
353
288
|
```
|
|
354
289
|
|
|
355
|
-
|
|
290
|
+
PNG format preserves the alpha channel, maintaining the transparent background.
|
|
356
291
|
|
|
357
|
-
|
|
292
|
+
## Cleanup
|
|
358
293
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
engine.
|
|
364
|
-
|
|
365
|
-
const imageFill = engine.block.createFill('image');
|
|
366
|
-
engine.block.setString(
|
|
367
|
-
imageFill,
|
|
368
|
-
'fill/image/imageFileURI',
|
|
369
|
-
'https://img.ly/static/ubq_samples/sample_4.jpg'
|
|
370
|
-
);
|
|
371
|
-
engine.block.setFill(imageBlock, imageFill);
|
|
372
|
-
engine.block.setContentFillMode(imageBlock, 'Cover');
|
|
373
|
-
|
|
374
|
-
const imageWidth = 202;
|
|
375
|
-
const imageHeight = 230;
|
|
376
|
-
engine.block.setWidth(imageBlock, imageWidth);
|
|
377
|
-
engine.block.setHeight(imageBlock, imageHeight);
|
|
378
|
-
engine.block.appendChild(page, imageBlock);
|
|
294
|
+
Always dispose the engine when processing completes to free resources:
|
|
295
|
+
|
|
296
|
+
```typescript highlight-cleanup
|
|
297
|
+
// Always dispose the engine to free resources
|
|
298
|
+
engine.dispose();
|
|
379
299
|
```
|
|
380
300
|
|
|
381
|
-
|
|
301
|
+
The `finally` block ensures cleanup happens even if an error occurs during processing.
|
|
382
302
|
|
|
383
|
-
##
|
|
303
|
+
## Additional Functions
|
|
304
|
+
|
|
305
|
+
The library provides additional functions for specialized use cases:
|
|
306
|
+
|
|
307
|
+
```typescript
|
|
308
|
+
import {
|
|
309
|
+
removeBackground,
|
|
310
|
+
removeForeground,
|
|
311
|
+
segmentForeground,
|
|
312
|
+
applySegmentationMask
|
|
313
|
+
} from '@imgly/background-removal-node';
|
|
384
314
|
|
|
385
|
-
|
|
315
|
+
// Remove foreground instead of background
|
|
316
|
+
const foregroundRemoved = await removeForeground(image, config);
|
|
386
317
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
- **CORS headers**: For optimal performance, configure these headers on your server:
|
|
318
|
+
// Get just the segmentation mask
|
|
319
|
+
const mask = await segmentForeground(image, config);
|
|
390
320
|
|
|
321
|
+
// Apply a custom mask to an image
|
|
322
|
+
const masked = await applySegmentationMask(image, mask, config);
|
|
391
323
|
```
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
324
|
+
|
|
325
|
+
## Performance Considerations
|
|
326
|
+
|
|
327
|
+
Server-side background removal has different performance characteristics than browser processing:
|
|
328
|
+
|
|
329
|
+
- **First run**: Downloads AI models (~40MB) which are cached for subsequent runs
|
|
330
|
+
- **Memory usage**: Processing large images requires significant memory; monitor server resources
|
|
331
|
+
- **CPU utilization**: Background removal is CPU-intensive; consider dedicated workers for high-volume processing
|
|
332
|
+
- **Batch optimization**: Process images sequentially or with limited concurrency to avoid memory exhaustion
|
|
333
|
+
|
|
334
|
+
For production deployments, consider:
|
|
335
|
+
|
|
336
|
+
- Pre-loading models during server startup
|
|
337
|
+
- Implementing job queues for batch processing
|
|
338
|
+
- Setting memory limits per processing task
|
|
339
|
+
- Using horizontal scaling for high-volume workloads
|
|
395
340
|
|
|
396
341
|
## Troubleshooting
|
|
397
342
|
|
|
398
|
-
| Issue
|
|
399
|
-
|
|
|
400
|
-
| Model download slow
|
|
401
|
-
|
|
|
402
|
-
|
|
|
403
|
-
|
|
|
404
|
-
|
|
|
405
|
-
| Result not transparent | Ensure export uses PNG format (JPEG doesn't support transparency) |
|
|
343
|
+
| Issue | Solution |
|
|
344
|
+
| --- | --- |
|
|
345
|
+
| Model download slow | First run fetches models; subsequent runs use cache |
|
|
346
|
+
| Out of memory | Reduce image size or process fewer images concurrently |
|
|
347
|
+
| Poor edge quality | Use higher resolution input or 'medium'/'large' model |
|
|
348
|
+
| File not found | Verify file paths are absolute or relative to working directory |
|
|
349
|
+
| Permission denied | Check file system permissions for output directory |
|
|
406
350
|
|
|
407
351
|
## Next Steps
|
|
408
352
|
|
|
353
|
+
- [Chroma Key](./filters-and-effects/chroma-key-green-screen.md) - Alternative background removal using green screen
|
|
409
354
|
- [Export Overview](./export-save-publish/export/overview.md) - Export options for images with transparency
|
|
410
|
-
- [Vectorize Images](./edit-image/vectorize.md) - Convert images to vector graphics
|
|
411
355
|
- [Replace Colors](./edit-image/replace-colors.md) - Replace specific colors in images
|
|
412
356
|
|
|
357
|
+
|
|
358
|
+
|
|
413
359
|
---
|
|
414
360
|
|
|
415
361
|
## More Resources
|
|
416
362
|
|
|
417
|
-
- **[
|
|
363
|
+
- **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
|
|
418
364
|
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
419
|
-
- **[Web Documentation](./
|
|
420
|
-
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
365
|
+
- **[Web Documentation](./node.md)** - Interactive documentation with examples
|
|
366
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|