Skip to main content
Glama

expand video

expand_video
Destructive

Run the Reframe preset on a complete workspace video up to 120 seconds and 500 MB. Outpaint a new aspect ratio, join provider chunks, and restore the original audio. Supports runway-aleph-2, google-gemini-omni-1-1, luma-ray-3-2-reframe, wan-2-2-vace-reframe, and beeble-switchframe. SwitchFrame requires a workspace image in mediaInputs.reference_image_uri. Call once per requested source/format/settings variant. Use get_model_catalog to choose a supported model and its settings. Returns a tracked task and playable result when complete.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelYesActive model ID supporting this operation. Use get_model_catalog.
promptNoEdit or enhancement instructions.
durationNoExpected complete source duration in seconds, used to verify the approved Reframe plan.
maxCostUsdNoMaximum charge for each output. Checked against authoritative pricing before generation.
resolutionNo
aspectRatioNo
endFrameUrlNo
mediaInputsNoNamed media slots from get_model_catalog, for example reference_image_uri or mask_url.
scaleFactorNoUpscaling multiplier when supported by the selected model.
sparkTaskIdNoOriginating Spark task for library history and recovery.
workspaceIdNo
outputFormatNoOutput format when supported by the selected model.
generateAudioNoExplicitly enable or disable generated video audio, when supported.
modelSettingsNoModel-specific controls using keys and options from get_model_catalog inputConstraints.slots.
sourceMediaIdYesCompleted workspace source media. The original is preserved.
idempotencyKeyNoStable request key. Retries with the same key reuse the existing output and do not start another paid generation.
sourceImageUrlNoPublic HTTP(S) source image/start-frame URL. Use mediaId for workspace images.
sourceVideoUrlNoPublic HTTP(S) source-video URL.
endFrameMediaIdNoWorkspace image for the final frame, when supported by the selected model.
referenceImagesNoImages to guide generation. Use labels such as person or product and refer to them as @person or @product in the prompt. Each item accepts a workspace mediaId or a public HTTP(S) URL.
sourceImageMediaIdNoWorkspace image to use as the source image/start frame.
sourceVideoMediaIdNoWorkspace video to edit or transform, when supported by the selected model.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
errorNo
successYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true). The description adds value beyond them: the 120s/500MB envelope, that output arrives as a tracked task with a playable result when complete, and which models are supported. It does not explain what 'destructive' means here or the cost/retry semantics, which the schema's idempotencyKey description partly carries.

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?

Front-loaded with the operation and hard limits, then capabilities, then prerequisites and model list. Five sentences, no filler; the model enumeration is long but directly actionable for the required 'model' parameter.

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 22-parameter, nested-schema, open-world generation tool, the description supplies the constraints (time/size), model compatibility, prerequisite for SwitchFrame, async return shape, and the catalog lookup for settings. With a 22-property schema and an output schema present, nothing essential is left unexplained.

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 already high (82%), so the baseline is 3; the description still adds meaning by naming the five valid models and the beeble-switchframe requirement on mediaInputs.reference_image_uri, plus the duration/size limits tied to the duration parameter. It does not clarify the many optional URL-vs-mediaId alternatives, which the schema covers.

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?

States a specific verb and resource ('Run the Reframe preset on a complete workspace video'), then enumerates the actual operations (outpaint aspect ratio, join provider chunks, restore audio). This clearly separates it from siblings like edit_video, generate_video, and enhance_video_media without needing to open any schema.

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?

Gives actionable context: 'Call once per requested source/format/settings variant', 'Use get_model_catalog to choose a supported model', and the SwitchFrame prerequisite for mediaInputs.reference_image_uri. It does not explicitly contrast with the closest siblings (edit_video, upscale_video, enhance_video_media), so routing between them still requires inference.

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