Skip to main content
Glama

Wait for LipDub render to finish

lipdub_wait_for_render
Read-onlyIdempotent

Wait for a LipDub render to finish and get its download link. Blocks up to 240 seconds (configurable), returns still_running if not done, so you can call again instead of polling.

Instructions

Wait for a LipDub render to finish, then return its download link. Use this straight after lipdub_create_render instead of checking in a loop — it uses far less context.

This call blocks for up to max_wait_seconds (default 240, maximum 600) while tracking the render for you. A typical render takes 7–15 minutes, so one call is often not enough.

If the render is still going when the wait is up, this returns normally with still_running set to true. That is NOT an error and NOT a failure — the render is fine and is still going. When it happens: tell the user it is still in progress, give them the render_id so they can come back to it, and call this tool again to keep waiting.

Waiting and status checks are free and never rate-limited.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
render_idYesThe render_id from lipdub_create_render.
max_wait_secondsNoHow long to wait before returning. Returning early with still_running set to true is normal, not a failure.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds crucial behavioral context beyond annotations: the tool blocks up to max_wait_seconds, returns normally with still_running=true rather than an error, and clarifies that waiting/status checks are free and never rate-limited. This goes well beyond the structured hints, though it does not describe the exact output fields beyond the download link and still_running flag.

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?

The description is concise (about 150 words) and front-loaded with the core directive ('Use this straight after lipdub_create_render instead of checking in a loop'). Every sentence earns its place: the blocking behavior, the non-error condition, the user-facing handling, and the cost/rate note all contribute to correct invocation. No fluff or redundancy.

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?

With no output schema, the description must explain what to expect. It does: a download link when done, or still_running=true when not. It also provides the exact next step for the agent in the still_running case (inform user, give render_id, call again). The tool's scope is simple, and the description covers all decision points an agent would face. It is complete for effective use.

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 description coverage is 100%, so both render_id and max_wait_seconds are already documented. The description adds valuable context by giving a typical render time (7–15 minutes) and reinforcing that returning early is normal (which the schema also notes but the description re-emphasizes in a natural context). It also clarifies that a single call is often insufficient, which is not in the schema. This adds meaning beyond the schema without repeating it verbatim.

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?

The description states a specific action ('wait for a LipDub render to finish') and names the returned artifact ('its download link'). It also differentiates from the sibling by referencing its immediate predecessor (lipdub_create_render) and contrasts with the alternative of 'checking in a loop'. This is unambiguous and allows an agent to select it 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?

Explicit guidance is given: 'Use this straight after lipdub_create_render instead of checking in a loop'. It further instructs when to call again (if still_running is true) and how to handle that case (tell the user, provide render_id, call again). This is precise, actionable, and rules out alternatives, making the usage boundaries clear.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marzvfx/lipdub-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server