Skip to main content
Glama

Edit video

autonomous_edit
Destructive

Run natural-language video edits end-to-end: provide a prompt, and the backend plans, executes, verifies, and exports, returning the final MP4 URL synchronously.

Instructions

PRIMARY EDIT TOOL. Run a natural-language video edit end-to-end. The backend agent plans, executes, verifies, and exports. Accepts anything from a one-liner ("generate 3 viral clips with captions and export") to a multi-paragraph creative brief. Returns the final mp4 URL synchronously when an export is queued. For long renders you may prefer queue_edit + check_job_status.

Input Schema

NameRequiredDescriptionDefault
sceneNoOptional existing scene/timeline state to continue editing (advanced).
assetsNoOptional input media assets. URLs must be public HTTP/HTTPS links.
promptYesNatural-language description of the desired edit or creative brief. The backend planner decomposes it into canonical actions (viral clips, captions, reframe, export, …). Send the user's intent verbatim — do not pre-decompose.
brandIdNoOptional per-call brand profile id (see list_brand_kits).
core_onlyNoReturn rendering-essential scene fields only (smaller payloads).
video_urlNoOptional public source video URL (HTTP/HTTPS: S3, Google Drive public link, Dropbox, direct MP4) for a new project. Local file paths are not supported.
editedPlanNoOptional pre-edited plan object returned by a prior awaiting_approval response.
project_idNoOptional project id for tracking and continuity. Reuse the projectId returned by the first call for every continuation.
flaggedIssuesNoOptional list of specific user-flagged problems for this run (e.g. ["caption #3 misspelled"]).
workingMemoryNoWorking memory returned by an awaiting-approval call; resend it to resume.
attachedImagesNoOptional reference image URLs used for planning.
projectBrandIdNoOptional default brand for the project. Persists; per-call brandId overrides.
captionTemplateModeNoHow to apply captionTemplatePreset.
requirePlanApprovalNoIf true, the backend stops after planning and returns workingMemory for user approval. Resend with workingMemory (and optionally editedPlan) to continue.
captionTemplatePresetNoOptional caption template to apply when (re)generating captions: a builtin slug (e.g. hormozi, mrbeast, viral-pop, karaoke, neon-pop, subtitle-bar) or a user-saved template id. Call list_caption_templates for the exact ids available.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changedv0.6.2
    • changedInput schema / properties / assets / description
      Previous value: -"Optional asset descriptors. Each item: { id?, type: \"video\"|\"image\"|\"audio\", url|src, mimeType?, duration? }."New value: +"Optional input media assets. URLs must be public HTTP/HTTPS links."
    • addedInput schema / properties / assets / items / properties
      Added value: +{
      +  "duration": {
      +    "type": "number"
      +  },
      +  "id": {
      +    "type": "string"
      +  },
      +  "mimeType": {
      +    "type": "string"
      +  },
      +  "type": {
      +    "enum": [
      +      "video",
      +      "audio",
      +      "image"
      +    ],
      +    "type": "string"
      +  },
      +  "url": {
      +    "description": "Publicly accessible HTTP/HTTPS URL to the video, image, or audio asset.",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / assets / items / required
      Added value: +[
      +  "url"
      +]
    • changedInput schema / properties / attachedImages / description
      Previous value: -"Optional base64-encoded reference images the agent should consider while planning."New value: +"Optional reference image URLs used for planning."
    • changedInput schema / properties / brandId / description
      Previous value: -"Optional brand-profile id to apply for this call (palette, fonts, logo, voice, gradeBias). Look up ids via list_brand_kits. Overrides project default brand."New value: +"Optional per-call brand profile id (see list_brand_kits)."
    • changedInput schema / properties / captionTemplatePreset / description
      Previous value: -"Optional caption template slug to apply when (re)generating captions. One of 41 builtins (hormozi, mrbeast, viral-pop, minimal-pro, karaoke, neon-pop, typewriter, pop-wave, subtitle-bar, creator-box, …) or a user-saved template id from list_caption_templates."New value: +"Optional caption template to apply when (re)generating captions: a builtin slug (e.g. hormozi, mrbeast, viral-pop, karaoke, neon-pop, subtitle-bar) or a user-saved template id. Call list_caption_templates for the exact ids available."
    • changedInput schema / properties / core_only / description
      Previous value: -"If true, response carries only rendering-essential scene fields (no debug metadata)."New value: +"Return rendering-essential scene fields only (smaller payloads)."
    • changedInput schema / properties / project_id / description
      Previous value: -"Optional project id for tracking / continuity."New value: +"Optional project id for tracking and continuity. Reuse the projectId returned by the first call for every continuation."
    • changedInput schema / properties / prompt / description
      Previous value: -"Natural-language description of the desired edit or creative brief. The backend planner decomposes it into canonical actions (viral clips, captions, reframe, export, …). Send the user's intent verbatim — do not pre-decompose into multiple calls."New value: +"Natural-language description of the desired edit or creative brief. The backend planner decomposes it into canonical actions (viral clips, captions, reframe, export, …). Send the user's intent verbatim — do not pre-decompose."
    • changedInput schema / properties / requirePlanApproval / description
      Previous value: -"If true, the agent stops after planning and returns { status: \"awaiting_approval\", workingMemory, plan } without mutating. Resume by re-calling with the returned workingMemory + an approval prompt (\"yes\", \"approve\", \"do it\")."New value: +"If true, the backend stops after planning and returns workingMemory for user approval. Resend with workingMemory (and optionally editedPlan) to continue."
    • changedInput schema / properties / video_url / description
      Previous value: -"Optional source video URL. Auto-seeded as the starting layer when no scene is provided."New value: +"Optional public source video URL (HTTP/HTTPS: S3, Google Drive public link, Dropbox, direct MP4) for a new project. Local file paths are not supported."
    • changedInput schema / properties / workingMemory / description
      Previous value: -"Working-memory snapshot returned by a prior call (typically one that returned awaiting_approval). Re-sending resumes that run."New value: +"Working memory returned by an awaiting-approval call; resend it to resume."
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only flag destructiveHint/openWorldHint; the description adds real behavioral context the annotations do not carry — the plan/execute/verify/export pipeline and that the mp4 URL returns synchronously when an export is queued. It does not say what project state the destructive edit overwrites or whether prior edits are recoverable.

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

Conciseness5/5

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

Four compact sentences, front-loaded with the tool's role, then the mechanism, then the return value, then the async alternative. No filler or restatement of schema fields.

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

Completeness4/5

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

For a 15-parameter mutation tool with no output schema, the description covers the core call shape and the sync return value, and the schema itself documents the advanced resume/approval parameters well. Missing only a note on cross-call continuity via project_id, which the tool treats as an important pattern.

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 baseline is 3. The description only adds the usage pattern for `prompt` (send intent verbatim, any length); it says nothing about the approval-resume flow (requirePlanApproval/workingMemory/editedPlan) or asset URL requirements, which the schema already handles.

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?

Opens with 'PRIMARY EDIT TOOL' and states a specific verb+resource: run a natural-language video edit end-to-end, with the backend planning, executing, verifying and exporting. That tells an agent exactly what this does and how it differs from queue_edit / autonomous_edit_streaming without opening 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?

Explicitly says to prefer queue_edit + check_job_status for long renders, and gives the input range (one-liner to multi-paragraph brief) that qualifies as a call. It does not distinguish this from autonomous_edit_streaming, which remains an unaddressed alternative.

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