Skip to main content
Glama

fix_words

Replace words said in a take or clip with corrected speech: generate new voice audio, match the surrounding tone, and cut it in at word edges while keeping original timing.

Instructions

Correct what was said in a take or clip: ElevenLabs says the new words in the voice (default: The user's default voice, often a clone) with the sentences around them for the same tone, and Takes cuts them in at the word edges with the take's cleaned voice when there is one. old = the words as said (from the transcript; Takes transcribes the file first when it has no .words.json), or start/end in seconds. Writes generated/-fix-vN.wav, plus an .mp4 with the video when the new words fit the old time (speed 0.8-1.25x), so the take's times still hold. The lips do not move with the new words: say so when the fix is on camera.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNoEnd, in seconds.
newYesThe words to say instead.
oldNoThe words to replace, as said.
fileNoOr a session file (an edit, an audio file).
nearNoWhen old is said more than once: about where, in seconds.
takeNoTake number.
modelNoElevenLabs model id. Default: the best one for the job.
speedNoSpeech speed 0.7-1.2. Default 1.
startNoStart, in seconds.
styleNoStyle exaggeration 0-1. Default: the voice's own.
voiceNoA voice name or id from the ElevenLabs account (voices). Leave out for the default voice (the user picks it in Plugins › Voices).
sessionYesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
stabilityNoVoice stability 0-1. Default: the voice's own.
similarityNoSimilarity to the voice 0-1. Default: the voice's own.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true) it discloses that files are written (generated/<file>-fix-vN.wav and an .mp4), that the source file is auto-transcribed when no <stem>.words.json exists, the 0.8-1.25x speed window needed to preserve timing, the dependency on an ElevenLabs account, and the lip-sync limitation. These are exactly the side effects and constraints that structured fields do not carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the body is a run-on packed with implementation detail (backend names, file naming conventions, speed math) that is hard to parse on first read. Some of it earns its place as behavioral disclosure, but the paragraph would benefit from being split into purpose, inputs, and outputs.

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 14-parameter write tool with no output schema, the description does the heavy lifting an agent needs: what gets produced, where it lands, and the on-camera lip-sync caveat. It is only missing explicit sibling routing and any permission/account prerequisites beyond the implicit ElevenLabs dependency.

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 3 is the baseline, but the description adds real meaning: how 'old' is resolved (words as said from the transcript, or start/end in seconds), how 'near' disambiguates repeated words, and what the default voice is. It stops short of explaining the stability/style/similarity defaults in any depth beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening clause gives a concrete verb and resource: 'Correct what was said in a take or clip,' which is distinguishable from siblings like change_voice, voiceover, or clean_voice. However, the rest of the sentence buries the purpose under backend mechanics (ElevenLabs vs. Takes, word-edge splicing), making the core action slower to extract than it should be.

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

Usage Guidelines3/5

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

Usage is only implied: the tool is for fixing already-recorded words in a take or clip, and the 'old' parameter discussion hints at the transcript/word-level workflow. There is no explicit when-to-use vs. when-not-to-use guidance and no routing to siblings such as voiceover or change_voice, which an agent would plausibly confuse this with.

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