Skip to main content
Glama

get a generation

generations_get
Read-only

Track a sync generation by ID to check its status and get the output media URL when completed or the error and error code if it fails.

Instructions

Read one sync. generation by id: its status (PENDING or PROCESSING while it runs; COMPLETED, FAILED or REJECTED when final), outputMediaUrl once COMPLETED, and error and errorCode after FAILED or REJECTED. Use it to follow a generation by the id its create call returned (lipsync_create, dubbing_create, lipsync_create-timeline or dialogue-videos_create, when available). jobs_get and jobs_wait, when available, read the same generation in a generic job shape that can add a completion percent while it runs. Not for: finding a past id (generations_list, or projects_list-generations when available); what it cost (generations_get-costs when available); its inputs when the user explicitly continues it (generations_get-continuation). Waiting: pass wait: true and leave out timeout to keep reading on the server for up to about 50 seconds; it returns once the generation is final, or its latest state. If it is still running, call again with the same id; never resubmit, since a new create starts a separate generation that is billed or counted against free limits. Result: copy the exact structuredContent.outputMediaUrl string verbatim; it is signed, so it must not be reconstructed, shortened, or edited (outputUrl is a deprecated alias with the same value). On FAILED or REJECTED, tell the user the error and errorCode.

Input Schema

NameRequiredDescriptionDefault
idYesGeneration id returned by a create tool or generations_list.
waitNoWait on the server until the job finishes or about 50 seconds pass, then return its latest state. If it is still running, call again with wait: true instead of sleeping.
includeNoAdditional information to include in the response
timeoutNoSeconds each read holds (1-10). Leave it out; wait: true reads for about 50 seconds.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.2.4
    • changedInput schema / properties / timeout / description
      Previous value: -"Maximum seconds to block when wait=true (1-10). Default 5."New value: +"Seconds each read holds (1-10). Leave it out; wait: true reads for about 50 seconds."
    • changedInput schema / properties / wait / description
      Previous value: -"Explicitly long-poll until the generation reaches a terminal state (COMPLETED, FAILED, REJECTED) or the timeout elapses. On timeout the current state is returned with HTTP 200 - check `status` and retry. Cannot be combined with include=progress."New value: +"Wait on the server until the job finishes or about 50 seconds pass, then return its latest state. If it is still running, call again with wait: true instead of sleeping."
  2. Changed1 schema field changed
    • changedInput schema / properties / id / description
      Previous value: -"Job ID"New value: +"Generation id returned by a create tool or generations_list."
  3. Addedv0.1.5

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint true, destructiveHint false), but the description adds substantial behavior the annotations cannot: the waiting contract of roughly 50 seconds, the instruction to re-call with the same id rather than resubmit, and the billing consequence that a new create starts a separate billed generation. It also warns that outputMediaUrl is signed and must be copied verbatim. The only minor gap is that it does not state whether reads are rate limited under repeated polling.

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 purpose and the returned fields, then segmented into labeled blocks (usage, Not for, Waiting, Result) that each carry distinct information. It is long, but the length is justified by a polling tool with resubmission and signed-URL pitfalls; the deprecated outputUrl alias note is the one line that could be trimmed.

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?

Although an output schema exists and return values need not be re-explained, the description adds the status transitions, the verbatim-copy requirement for the signed URL, and the failure-path instruction to report error and errorCode. For a read/polling tool with four parameters, nothing an agent needs in order to call it or handle its result is missing.

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 100%, so the baseline is 3, and the description earns above baseline by specifying the interaction rule between two parameters: pass wait: true and leave timeout out, and call again rather than sleeping. That combination rule is not spelled out as such in the schema, and the warning about never resubmitting adds meaning to the id parameter.

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 ('Read one sync. generation by id') and immediately enumerates what is returned: status lifecycle values, outputMediaUrl, error and errorCode. It explicitly differentiates itself from jobs_get/jobs_wait, which read the same generation in a generic job shape, so an agent can choose correctly without inspecting schemas.

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 the positive trigger (follow a generation by the id a create call returned, naming lipsync_create, dubbing_create, lipsync_create-timeline, dialogue-videos_create), a 'Not for' exclusion block routing to generations_list, projects_list-generations, generations_get-costs and generations_get-continuation, and an explicit alternative (jobs_get/jobs_wait). This is the when/when-not/alternatives triad in full.

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