Skip to main content
Glama

Edit video (live progress)

autonomous_edit_streaming
Destructive

Executes long-running video edits and streams per-step SSE events as MCP progress notifications for live updates, then returns the final terminal result.

Instructions

Same as autonomous_edit but consumes the SSE event stream from the backend. Returns the final terminal result; per-step events (status, thinking, tool_call, tool_result, background_job_completed) are emitted as MCP progress notifications when the client supports them. Use for long-running briefs where users expect live progress.

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

A3.9/5.0
Behavior4/5

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

Annotations already flag this as a mutating, destructive, closed-world operation, so the safety burden is partly carried elsewhere. The description adds genuinely non-obvious behavior: it returns only the terminal result while emitting per-step events (status, thinking, tool_call, tool_result, background_job_completed) as MCP progress notifications, and only when the client supports them. It omits the approval/workingMemory continuation loop, which the schema covers.

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?

Three tight sentences, front-loaded with the differentiation from autonomous_edit, then return shape, then the selection rule. No filler.

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

Completeness3/5

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

For a 15-parameter, nested-object, mutating tool without an output schema, the description says almost nothing about what the "final terminal result" contains or how awaiting_approval / workingMemory / project_id continuity behaves. The rich schema compensates for parameters, but the return-shape gap keeps this at adequate.

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 all 15 parameters, including nested scene/assets objects and the approval resume fields, are already documented in the schema. The description adds no parameter-level guidance at all, which is acceptable here but earns only the baseline.

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 and resource (edit video) and explicitly frames itself against the sibling autonomous_edit, with the distinguishing trait being SSE streaming plus progress notifications. It is slightly dependent on the reader already knowing what autonomous_edit does, but the delta is unambiguous.

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?

"Use for long-running briefs where users expect live progress" gives a concrete selection condition and implicitly excludes short/synchronous edits (which map to autonomous_edit). It does not spell out failure modes or when streaming is unavailable, but the when-to-use signal is clear.

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