Skip to main content
Glama

Move or resize an element

set_element_layout
DestructiveIdempotent

Move, scale or rotate one returned editable canvas element using its units. A null layout restores its authored layout. Preserve authored animation. Read get_project_context first and pass its base_version and selected output_id. Saves a playable project; request a file separately with check_video with_download. Unsupported changes refuse without rebuilding. Preserve operation_id and exact inputs on retries. Uses the account's direct-edit allowance. Cost: Free: no credits.

Input Schema

NameRequiredDescriptionDefault
layoutYes
elementYes
video_idYesThe video id from list_videos.
output_idNoOne output (a hook, a Short, a format) from check_video; the main film when left out.
base_versionNoThe version the edits are for; the current one when left out.
operation_idNoA stable ID for this request. Preserve it on retries. Use a new ID only for a deliberate new request.

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. Added

TDQS

A4.6/5.0
Behavior5/5

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

The description discloses behavior well beyond the annotations: null layout restores the authored layout, authored animation is preserved, unsupported changes refuse without rebuilding, retries must preserve operation_id and exact inputs, and a direct-edit allowance/cost applies. These details add substantial operational context for a destructive but idempotent mutation.

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?

The description is front-loaded and dense with useful constraints, and most sentences carry operational value. It is slightly list-like and could be structured more cleanly, but it avoids repetition and wasted prose.

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

Completeness5/5

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

For a destructive, idempotent mutation with an output schema, the description covers prerequisites, preservation behavior, refusal behavior, retry guidance, file-download separation, and cost. Nothing essential for correct invocation appears missing.

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

Parameters4/5

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

Schema coverage is 67%, and the description adds meaning for key parameters: layout null semantics, base_version/output_id context from get_project_context, and operation_id retry behavior. It does not fully explain the element identifier or layout unit semantics, but it compensates for much of the schema gap.

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

Purpose5/5

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

The description states a specific action set (move, scale, rotate), the exact resource (one returned editable canvas element), and the unit context. It clearly distinguishes layout operations from content or scene operations through its focus on element layout.

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

Usage Guidelines4/5

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

It gives concrete prerequisites: read get_project_context first, pass base_version and selected output_id, and preserve operation_id on retries. It also routes file requests to check_video with_download, but it does not explicitly contrast when to use this versus sibling tools like set_element_content.

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