Skip to main content
Glama

Queue video edit

queue_edit
Destructive

Queues a video editing request that runs in the background and returns a taskId immediately. Use it for long edits that may exceed the MCP request timeout, then poll with check_task_status or get_active_task.

Instructions

Fire-and-forget async path. Returns immediately with a taskId. Use when the edit may exceed the MCP request timeout (long viral-clip generation, multi-format export). Poll with check_task_status or get_active_task.

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.
platformsNoOptional export platforms for the queued edit.
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.
autoExportNoAutomatically export after the queued edit.
project_idNoOptional project id for tracking and continuity. Reuse the projectId returned by the first call for every continuation.
captionTemplateModeNoHow to apply captionTemplatePreset.
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. Changed17 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"
      +]
    • removedInput schema / properties / attachedImages
      Removed value: -{
      -  "description": "Optional base64-encoded reference images the agent should consider while planning.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / autoExport
      Added value: +{
      +  "description": "Automatically export after the queued edit.",
      +  "type": "boolean"
      +}
    • removedInput schema / properties / brandId
      Removed value: -{
      -  "description": "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.",
      -  "type": "string"
      -}
    • 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."
    • removedInput schema / properties / core_only
      Removed value: -{
      -  "description": "If true, response carries only rendering-essential scene fields (no debug metadata).",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / editedPlan
      Removed value: -{
      -  "description": "Optional pre-edited plan object returned by a prior awaiting_approval response.",
      -  "type": "object"
      -}
    • removedInput schema / properties / flaggedIssues
      Removed value: -{
      -  "description": "Optional list of specific user-flagged problems for this run (e.g. [\"caption #3 misspelled\"]).",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / platforms
      Added value: +{
      +  "description": "Optional export platforms for the queued edit.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / projectBrandId
      Removed value: -{
      -  "description": "Optional default brand for the project. Persists; per-call brandId overrides.",
      -  "type": "string"
      -}
    • 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."
    • removedInput schema / properties / requirePlanApproval
      Removed value: -{
      -  "description": "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\").",
      -  "type": "boolean"
      -}
    • 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."
    • removedInput schema / properties / workingMemory
      Removed value: -{
      -  "description": "Working-memory snapshot returned by a prior call (typically one that returned awaiting_approval). Re-sending resumes that run.",
      -  "type": "object"
      -}
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so safety is covered structurally; the description adds the non-obvious async contract: immediate return, a taskId, and the required polling tools. That is genuine context beyond annotations. It does not say what the edit mutates (e.g., whether an existing project_id is overwritten), which matters given destructiveHint=true.

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 short sentences with no filler, and the defining trait (async, returns taskId) is front-loaded before the when-to-use guidance and the polling pointer.

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 9-parameter, nested-object tool with no output schema, the description correctly supplies the one piece of return-value information an agent needs (taskId) plus the polling loop, and the schema covers everything else. What is missing is placement within the edit family — nothing tells the agent when queue_edit loses to autonomous_edit or autonomous_edit_streaming.

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?

With 100% schema description coverage, the schema already fully documents all 9 parameters including prompt semantics, public-URL constraints, and caption template ids. The description adds nothing about parameters, so the baseline 3 applies — the schema does all the work.

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 description describes an async dispatch pattern ("Fire-and-forget async path. Returns immediately with a taskId") but never states the verb+resource directly; the agent must infer "queue a video edit" from the name and title. Critically, it does not distinguish this tool from autonomous_edit or autonomous_edit_streaming, which are the obvious competing edit entry points, so the agent cannot tell from the text alone which edit path to pick.

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 an explicit selection condition ("Use when the edit may exceed the MCP request timeout") backed by concrete examples (long viral-clip generation, multi-format export), and it explains the follow-up workflow by naming check_task_status and get_active_task. It stops short of naming the synchronous/streaming edit siblings as the alternative, which is the single most useful exclusion here.

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