Nubu
  • Features
  • How it works
  • Pricing
  • Integrations
  • FAQ
  • Contact
  • Docs
  • Blog
  • Log in
  • Log inSign up
    Nubu

    Creative automation for teams that ship campaigns, not busywork.

    Try for free
    Product
    FeaturesNubu MotionHow it worksPricingIntegrationsFAQ
    Company
    AboutContactDocsBlogLog in
    Legal
    Privacy policyTerms of serviceData deletion
    © 2026 Bear Studios · Nubu
    Introduction
    Templates overviewInstalling Nubu BuilderAdding template compsAdding propertiesAdding footageSetting defaultsExporting your templateUploading a template
    Flows overviewAvailable nodesAdding a nodeConnecting nodesWorking with dataTemplates and outputsUsing AI nodesBuilding a creative
    CampaignsTemplatesAssetsGlossariesRendersSettings
    Connecting Meta AdsConnecting Google AdsConnecting OpenAIConnecting Gemini AI StudioConnecting Anthropic
    AI Assistant overviewPrompt examplesAssistant settings and controls
    Nubu Motion scripts: the reference
    OverviewQuick startDifferences from After EffectsDeterminism
    JavaScript supportReferences and idsProject scriptsState and timeBudgets and errorsFormatting values
    GlobalTime conversionInterpolationVector mathsRandom and noiseColour conversionOther maths
    LayerCompPropertyKeyframePathGeometryProjectComponentConsoleComponentControlExpressionControl
    The property vocabularyAnimators propertiesAudio propertiesContent propertiesContents propertiesEffects propertiesExpression controls propertiesFills propertiesInstance controls propertiesLayer propertiesLayout propertiesMasks propertiesStrokes propertiesText style propertiesTransform propertiesTrim path properties
    Error codesBudgets
    Changelog
    All docs
    Motion Scripting
    / Properties

    Masks properties

    Per-mask members by mask id: path, feather, opacity and expansion.

    Per-mask members: path, feather, opacity and expansion, addressed by mask id.

    Every pattern below is readable from scripts through prop() and layer.prop(); ids in a pattern (like <effect_id>) stand for the entity's real id. Every pattern here is in the drive set: scripts may WRITE each one with set() or a single-output return, per frame.

    PatternWire kindUnitsReadsWrites
    masks.<mask_id>.expansionscalarnumber (wire units of the key)yesdrive set
    masks.<mask_id>.featherpoint2[x, y] pxyesdrive set
    masks.<mask_id>.feather_profilewidth_profilewidth profile point listyesdrive set
    masks.<mask_id>.feather_profile.<point_id>.tscalarfraction of the path (0..1)yesdrive set
    masks.<mask_id>.feather_profile.<point_id>.widthscalarx the feather (0..16)yesdrive set
    masks.<mask_id>.invertedbooleanbooleanyesdrive set
    masks.<mask_id>.modeenumenum name (string)yesdrive set
    masks.<mask_id>.opacityscalarpercent (0..100)yesdrive set
    masks.<mask_id>.pathpathpath (read-only wire shape)yesdrive set