Skip to main content
Glama

Change a layer

update_layer
DestructiveIdempotent

One layer: place, text, colour, visibility, times or media. Cost: Free.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "layer_id": "<layer_id>"
    },
    "name": "update_layer"
  }
}

Input Schema

NameRequiredDescriptionDefault
moreNoMore layers in the same save, each with the fields above.
textNoNew words, where it can take text.
colorNoA colour, #RRGGBB.
hiddenNotrue hides it, false shows it again.
layoutNoMove, scale or rotate it; null puts its own place back.
restoreNotrue puts its own text, colour and visibility back.
layer_idYesA get_timeline layer (ov_ overlays change with put_overlay).
video_idNoVideo; the open one if left out.
media_endNoFootage or clip: film second it ends.
output_idNoOutput id.
media_startNoFootage, clip or vo_: film second it starts.
base_versionNoVersion id you read.
operation_idNoSame id retries run once.
media_source_inNoFootage or clip: its media second it plays from.
replace_asset_idNoPicture or clip: this asset_id instead; null restores.
selected_layer_idNoSelected layer id.

Output Schema

NameRequiredDescriptionDefault
codeNo
costNo
errorNo
stateNo
statusNo
dry_runNo
messageNo
plan_idNo
style_idNo
video_idNo
availableNo
import_idNo
output_idNo
studio_urlNo
version_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / layer_id / description
      Previous value: -"A layer id from get_timeline (not an ov_ overlay: those change with put_overlay)."New value: +"A get_timeline layer (ov_ overlays change with put_overlay)."
    • changedInput schema / properties / media_end / description
      Previous value: -"Footage or clip layer: the film second it ends."New value: +"Footage or clip: film second it ends."
    • changedInput schema / properties / media_source_in / description
      Previous value: -"Footage or clip layer: the second of its media it plays from."New value: +"Footage or clip: its media second it plays from."
    • changedInput schema / properties / media_start / description
      Previous value: -"Footage or clip layer: the film second it starts."New value: +"Footage, clip or vo_: film second it starts."
    • changedInput schema / properties / replace_asset_id / description
      Previous value: -"Picture or clip layer: show this asset_id instead; null puts its own back."New value: +"Picture or clip: this asset_id instead; null restores."
    • changedInput schema / properties / video_id / description
      Previous value: -"The video; the open one when left out."New value: +"Video; the open one if left out."
  2. Changed6 schema fields changed
    • changedInput schema / properties / base_version / description
      Previous value: -"The version_id you read; refused if the video changed since."New value: +"Version id you read."
    • changedInput schema / properties / operation_id / description
      Previous value: -"A retry with the same id runs once."New value: +"Same id retries run once."
    • changedInput schema / properties / output_id / description
      Previous value: -"An output (Short, hook, shape); the main video when left out."New value: +"Output id."
    • addedInput schema / properties / selected_layer_id
      Added value: +{
      +  "description": "Selected layer id.",
      +  "maxLength": 160,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / video_id / description
      Previous value: -"The video, from list_videos."New value: +"The video; the open one when left out."
    • changedInput schema / required
      Previous value: -[
      -  "video_id",
      -  "layer_id"
      -]New value: +[
      +  "layer_id"
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / more
      Added value: +{
      +  "description": "More layers in the same save, each with the fields above.",
      +  "items": {
      +    "additionalProperties": {},
      +    "propertyNames": {
      +      "type": "string"
      +    },
      +    "type": "object"
      +  },
      +  "maxItems": 19,
      +  "minItems": 1,
      +  "type": "array"
      +}
  4. Changed3 schema fields changed
    • changedInput schema / properties / base_version / description
      Previous value: -"The version_id you read; refused if the video changed since. Left out: the live version, and a repeat is saved once."New value: +"The version_id you read; refused if the video changed since."
    • changedInput schema / properties / operation_id / description
      Previous value: -"The same id on a retry runs it once; a new id is a new request."New value: +"A retry with the same id runs once."
    • changedInput schema / properties / output_id / description
      Previous value: -"A Short, hook or shape of the video; the main video when left out."New value: +"An output (Short, hook, shape); the main video when left out."
  5. Added

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is partly covered. The description adds one genuinely new behavioral fact — 'Cost: Free' (no credit charge) — and implies a partial, facet-scoped update, but it never says what gets overwritten when layout/text/color are supplied or how the restore flag interacts with destructive writes.

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

Conciseness3/5

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

Two short fragments with no filler, so nothing is wasted, but the telegraphic colon-list structure is cryptic rather than front-loaded — for a 16-parameter destructive tool this reads as under-specification compressed into a slogan rather than deliberate brevity.

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 destructive, 16-parameter mutation with batching (more[]), version pinning (base_version), and idempotency keys, the description does almost none of the explanatory work; it leans entirely on a fully documented schema and an output schema. An agent gets no warning about the blast radius of the write or the restore/overwrite interaction from the description.

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 explains every one of the 16 parameters in detail. The description's facet list (place, text, colour, visibility, times, media) loosely groups them but adds no syntax, ranges, or semantics beyond what the schema states. Baseline 3 applies.

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

Purpose3/5

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

The fragments 'One layer: place, text, colour, visibility, times or media' convey that a single layer is being altered and enumerate the mutable facets, but never state the verb 'update' and never name a sibling it is not (delete_layer, put_overlay are only mentioned in the schema, not the description). An agent can infer scope but must work at it.

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 mention of when to use this instead of delete_layer, put_overlay, or set_look, and no prerequisites such as reading the timeline first or supplying base_version. The only routing hint ('ov_ overlays change with put_overlay') lives in the layer_id schema description, not in the description itself.

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.

Resources