Skip to main content
Glama

update_overlay_item

Update an existing overlay item. Can change text, position, timing, animation, opacity, and more.

Input Schema

NameRequiredDescriptionDefault
exitNoExit animation, or null to remove
sizeNoNormalized overlay size
textNoNew text content
typeNoChange item type when also supplying compatible fields
colorNoNew text color (hex or rgba)
enterNoEntrance animation, or null to remove
widthNoLegacy shorthand for size.width
borderNoBorder styling, or null to remove
editIdYesThe edit ID
heightNoLegacy shorthand for size.height
itemIdYesThe overlay item ID
shadowNoMedia overlay drop shadow, or null to remove
volumeNoVideo overlay audio volume
clipEndNoVideo overlay trim end in seconds, or null to clear
mediaIdNoMediaDocV2 ID for image/video overlays, or null to remove
opacityNoOpacity from 0 to 1
trackIdYesThe overlay track ID
durationNoTimeline duration in seconds
fontSizeNoNew font size
positionNoNormalized overlay position
rotationNoRotation in degrees
clipStartNoVideo overlay trim start in seconds
fontStyleNoNew font style
keyframesNoTransform keyframes relative to item start
positionXNoLegacy shorthand for position.x
positionYNoLegacy shorthand for position.y
speedRampNoVariable speed curve for video overlays, or null to clear
startTimeNoTimeline start time in seconds
textAlignNoNew text alignment
fontFamilyNoNew font family
fontWeightNoNew font weight
lineHeightNoNew line-height multiplier
lineStylesNoPer-line text style overrides
textConfigNoFull TextEffectConfig partial update
strokeColorNoNew text stroke color
strokeWidthNoNew text stroke width
workspaceIdYesThe workspace ID
borderRadiusNoCorner radius in 720p logical pixels
letterSpacingNoNew letter spacing
playbackSpeedNoFlat playback speed for video overlays
textAnimationNoNew text animation
remotionConfigNoUpdate animation code or editable settings, merged with the existing composition
textShadowBlurNoNew text shadow blur
backgroundColorNoNew text background color
textShadowColorNoNew text shadow color
textShadowOffsetXNoNew text shadow horizontal offset
textShadowOffsetYNoNew text shadow vertical offset
backgroundPaddingXNoNew text background horizontal padding
backgroundPaddingYNoNew text background vertical padding
backgroundBorderRadiusNoNew text background corner radius

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / speedRamp / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "curve": {
      -        "items": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ],
      -        "maxItems": 4,
      -        "minItems": 4,
      -        "type": "array"
      -      },
      -      "enabled": {
      -        "type": "boolean"
      -      },
      -      "endSpeed": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "startSpeed": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "enabled",
      -      "startSpeed",
      -      "endSpeed",
      -      "curve"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "curve": {
      +        "description": "Cubic bezier control points [c1x,c1y,c2x,c2y]",
      +        "items": {
      +          "type": "number"
      +        },
      +        "maxItems": 4,
      +        "minItems": 4,
      +        "type": "array"
      +      },
      +      "enabled": {
      +        "type": "boolean"
      +      },
      +      "endSpeed": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "startSpeed": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "enabled",
      +      "startSpeed",
      +      "endSpeed",
      +      "curve"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / speedRamp / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "curve": {
      -        "description": "Cubic bezier control points [c1x,c1y,c2x,c2y]",
      -        "items": {
      -          "type": "number"
      -        },
      -        "maxItems": 4,
      -        "minItems": 4,
      -        "type": "array"
      -      },
      -      "enabled": {
      -        "type": "boolean"
      -      },
      -      "endSpeed": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "startSpeed": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "enabled",
      -      "startSpeed",
      -      "endSpeed",
      -      "curve"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "curve": {
      +        "items": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "number"
      +          }
      +        ],
      +        "maxItems": 4,
      +        "minItems": 4,
      +        "type": "array"
      +      },
      +      "enabled": {
      +        "type": "boolean"
      +      },
      +      "endSpeed": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "startSpeed": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "enabled",
      +      "startSpeed",
      +      "endSpeed",
      +      "curve"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / speedRamp / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "curve": {
      -        "items": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "number"
      -          }
      -        ],
      -        "maxItems": 4,
      -        "minItems": 4,
      -        "type": "array"
      -      },
      -      "enabled": {
      -        "type": "boolean"
      -      },
      -      "endSpeed": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "startSpeed": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "enabled",
      -      "startSpeed",
      -      "endSpeed",
      -      "curve"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "curve": {
      +        "description": "Cubic bezier control points [c1x,c1y,c2x,c2y]",
      +        "items": {
      +          "type": "number"
      +        },
      +        "maxItems": 4,
      +        "minItems": 4,
      +        "type": "array"
      +      },
      +      "enabled": {
      +        "type": "boolean"
      +      },
      +      "endSpeed": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "startSpeed": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "enabled",
      +      "startSpeed",
      +      "endSpeed",
      +      "curve"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. First observed

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It implies a mutation but never says whether this is a partial/merge update, whether omitted fields are preserved, that passing null on several fields removes styling, or that type changes require compatible fields. 'And more' actively obscures scope for a 50-parameter mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, with the core action front-loaded. The trailing 'and more' is low-value filler but the overall footprint is tight and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 50-parameter mutation with nested objects, required ID relationships, and no annotations or output schema, the description is far too thin. It never explains partial-update behavior, the interplay of required IDs with legacy shorthand fields, or the risk profile of overwriting existing overlay configuration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each of the 50 parameters thoroughly (including legacy shorthands, null-to-remove semantics, and enum values). The description's field list (text, position, timing, animation, opacity) adds no meaning beyond what the schema provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Update an existing overlay item') and enumerates a few mutable fields. However, it does not distinguish this from siblings like update_overlay_track, move_overlay_item_to_track, or delete_overlay_item, so the agent gets no help choosing among them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites (e.g. that the item must already exist on the given track), and no mention of alternatives. The agent is left to infer everything about invocation context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.