Skip to main content
Glama

Run pipeline

run_pipeline
Destructive

Start a pipeline run in the background and return its runId immediately. Video pipelines take minutes; poll get_run for progress. Runs consume account credits. inputs is keyed by entry node id (get_pipeline lists them as entryNodes): a Text Input node takes text, an HTTP Payload node takes a JSON value, and a File node takes a URL that overrides the file placed on the canvas, so a clipping pipeline can be pointed at a new source video per run without editing the graph. An entry node left out runs with the value saved on the canvas; one with nothing saved is refused, so pass it (or "" to leave it blank on purpose), and ask the user what it should say when the request does not tell you. A key that names no entry node is refused before anything runs or is charged. Before running a pipeline you built or changed in this conversation, call estimate_run_cost, wait for the person to accept the price, and pass its quoteId here: the run starts only if the pipeline is still the one quoted, and only once, so calling again with the same quoteId (a retry, a second "yes") returns the run already started instead of charging for another. Without a quote, pass a requestId of your own for the same protection on a retry. Every run renders every node again, so to add music, narration or captions to a video an earlier run made, pass its url from get_run outputs to assemble_video (musicPrompt composes a bed) or edit_asset rather than editing the pipeline and running it again.

Input Schema

NameRequiredDescriptionDefault
inputsNo
previewNoRender a cheap first look instead of the whole run: the first video step and the steps that feed it, as one Veo 3.1 Lite clip of up to 8 seconds at 720p. estimate_run_cost and a refused run quote it as `preview` when the balance does not cover the run. Only on the person's yes. Returns the pipelineId get_run needs, which is not this pipeline's.
quoteIdNoThe quoteId estimate_run_cost (or make_video) returned for this pipeline, once the person accepted that price.
requestIdNoAny id you choose for this one request, e.g. a fresh UUID. Repeat it only when retrying this same request: a call with an id that already started a run returns that run instead of starting another. Not needed with quoteId.
pipelineIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / quoteId
      Added value: +{
      +  "description": "The quoteId estimate_run_cost (or make_video) returned for this pipeline, once the person accepted that price.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / requestId
      Added value: +{
      +  "description": "Any id you choose for this one request, e.g. a fresh UUID. Repeat it only when retrying this same request: a call with an id that already started a run returns that run instead of starting another. Not needed with quoteId.",
      +  "maxLength": 128,
      +  "minLength": 1,
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / preview
      Added value: +{
      +  "description": "Render a cheap first look instead of the whole run: the first video step and the steps that feed it, as one Veo 3.1 Lite clip of up to 8 seconds at 720p. estimate_run_cost and a refused run quote it as `preview` when the balance does not cover the run. Only on the person's yes. Returns the pipelineId get_run needs, which is not this pipeline's.",
      +  "type": "boolean"
      +}
  3. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: runs consume credits, missing/empty/unmatched entry-node keys are refused before charge, retries via quoteId/requestId return the existing run instead of double-charging, and every run re-renders every node. The quoteId/requestId protection nuance does not contradict the idempotentHint=false default, since it only applies with an id.

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 core async contract before the deeper quoting/inputs mechanics. Every sentence carries real information, though the dense multi-clause sentences strain readability at this length.

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 complex nested-input mutation with no output schema, the description covers return values (runId, preview's different pipelineId), cost semantics, refusal conditions, and idempotency. Nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is only 60%, and the description compensates heavily: it explains that `inputs` is keyed by entry node id, how Text/HTTP/File entry nodes are populated, the File-URL override behavior, and the missing-value refusal rule. Adds clear meaning beyond the loose `additionalProperties` schema.

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+resource with the async contract spelled out ('Start a pipeline run in the background and return its runId immediately'). Explicitly distinguishes itself from siblings by naming get_run for polling, estimate_run_cost for pricing, and assemble_video/edit_asset for post-processing.

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

Usage Guidelines5/5

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

Gives rich when-to-use guidance: poll get_run while a video runs, call estimate_run_cost and get user acceptance before running a pipeline changed in-conversation, and prefer assemble_video/edit_asset over re-running for music/narration/captions. Also states the fallback of passing a requestId when no quote exists.

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.