Skip to main content
Glama

Create LipDub render (uses account credits)

lipdub_create_render

Generate a lip-synced video by providing a source video and an audio URL, making the person in the video appear to speak the new audio track.

Instructions

Start a LipDub 2 render: make the person in a source video appear to speak a different audio track, with matched lip movement.

USES CREDITS. Each render charges the account and cannot be undone or refunded. Cost scales with the length of the source video. Confirm with the user first, then call again with confirm_spend set to true.

Supply BOTH sides as direct, publicly downloadable URLs:

  • video_url — a video of ONE person speaking, face clearly visible.

  • audio_url — the audio you want them to appear to say.

LipDub 2 does NOT translate, transcribe or generate speech. If the user wants another language, produce that audio first with a separate text-to-speech or voice tool, host it at a URL, and pass that URL as audio_url.

Links must return the media file itself. Google Drive, Dropbox and YouTube share pages, and anything behind a login, will fail.

Returns immediately with a render_id — the render is NOT finished. Rendering takes about 7–15 minutes. Next step: call lipdub_wait_for_render with that render_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
audio_idNoAdvanced. A LipDub audio upload id from a previous upload, instead of audio_url.
video_idNoAdvanced. A LipDub shot id from a previous upload, instead of video_url.
audio_urlNoDirect https URL to the audio the person should appear to say. You must supply finished audio; LipDub 2 does not generate or translate speech.
video_urlNoDirect https URL to the source video (one person, face visible). .mp4, .mov, .avi or .webm.
transcriptNoOptional. The words spoken in audio_url. Supplying this can improve lip-sync accuracy.
callback_urlNoOptional https URL to be called when the render finishes. For automated pipelines; in a chat session use lipdub_wait_for_render instead.
confirm_spendNoWhether the user has personally approved spending credits on this render. Defaults to false deliberately, as a safety gate — it is not a misconfiguration. Set it to true only after you have asked the user and they have agreed. Setting it yourself without asking spends their money without consent.
output_filenameNoOptional name for the finished file, e.g. 'ceo-welcome-spanish.mp4'. If omitted, a name is derived from video_url. This name is also shown as the project name in the user's LipDub web app, so make it meaningful.
Behavior5/5

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

Annotations only declare readOnlyHint=false (consistent — this creates a render) and destructiveHint=false. The description carries the real burden and does it thoroughly: credits are charged and non-refundable, cost scales with video length, the tool returns immediately without completing, rendering takes 7–15 minutes, and confirm_spend is a deliberate safety gate. No contradiction with annotations — the title even echoes the 'uses account credits' warning.

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?

Long, but every sentence earns its place for a paid, async, multi-constraint tool. It is well front-loaded: purpose and the critical cost warning appear first, then inputs, then anti-patterns, then the async handoff. Minor redundancy with schema text ('does not translate/generate' appears in both), but repetition is defensible for a money-spending operation.

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 tool with 8 parameters, no output schema, cost implications, and async behavior, the description is remarkably complete: purpose, cost model, confirmation gate, input format requirements, failure cases (non-direct links), what the tool will not do, timeout estimate, and the exact next tool+sibling to call. The render_id return is mentioned, and since no output schema exists, the description rightly provides the essential contract.

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% and some schema descriptions are already rich (confirm_spend, audio_url, video_url all carry meaning). The description adds genuine value beyond the schema: video must show ONE person with a clearly visible face, both URLs must be direct publicly downloadable files, and audio must be pre-produced and hosted at a URL. The direct-URL-only constraint in particular is not present in the 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?

Opens with a specific verb+resource ('Start a LipDub 2 render') and a concrete description of the effect: making a person in a video appear to speak a different audio track with matched lip movement. This makes it unambiguous which sibling is the creation tool, clearly distinct from get_render, wait_for_render, list_renders, and check_connection.

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?

Explicitly states the workflow: confirm with the user first, then call again with confirm_spend=true. It names the exclusion condition (LipDub 2 does NOT translate/transcribe/generate — route to a TTS tool first), specifies link constraints (Drive/Dropbox/YouTube/login pages fail), and names the exact next step (lipdub_wait_for_render with the render_id). Nothing is left to inference.

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