Skip to main content
Glama

synthesize_audio

Generate billed localized TTS (and optional dubbed video). Hosted mode returns download URLs.

    Args:
        language: Target language name (e.g. "French").
        language_code: Target language code (e.g. "fr").
        voice_id: Voice id from `list_voices`.
        segments: JSON array of {text, start_ms, end_ms, original?} objects.
        output_path: Output filename hint (hosted) or WAV path (stdio).
        keep_same_length: Stretch/compress speech to source timings.
        keep_background_music: Mix transcribed music bed when stem_id is set.
        stem_id: Optional bed stem from `transcribe_audio`.
        source_duration_ms: Original duration.
        source_transcript: Optional original transcript.
        video_id: Optional id from transcribe/register to mux MP4.
        video_output_path: Optional path for dubbed MP4 when video_id is set.
    

Input Schema

NameRequiredDescriptionDefault
stem_idNo
languageYes
segmentsYes
video_idNo
voice_idYes
output_pathNodubbed.wav
language_codeYes
keep_same_lengthNo
source_transcriptNo
video_output_pathNo
source_duration_msNo
keep_background_musicNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior3/5

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

With zero annotations the description carries full behavioral burden; it does disclose two genuinely valuable traits — that generation is billed and that hosted mode returns download URLs while stdio writes to a path. However, it never explains how hosted vs stdio mode is selected (presumably via output_path), what happens on failure, timing/ordering constraints on segments, or cost magnitude, leaving major behavioral ground uncovered for a billed mutation.

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 line is properly front-loaded, but the body is a raw Google-style Args block pasted into prose, with inconsistent trailing periods and a dangling closing quote. Given the 0% schema coverage the per-parameter list earns its place, though it should have been folded into the schema rather than the description.

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 12-parameter tool with no annotations, the definition covers the operational essentials: what it produces, what it costs, what it returns in hosted mode, and how every input parameter feeds the pipeline. The residual gap is sibling disambiguation (advanced variant) and mode-selection mechanics, which matters but is narrower than the parameter surface it already documents. An output schema exists, so return values need not be explained.

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 0%, so the description must compensate, and it does: all twelve parameters get an explanatory line, including conditional relationships ('keep_background_music: mix transcribed music bed when stem_id is set', 'video_output_path: when video_id is set'). Gaps remain — no units or format for segments beyond the brace sketch, no valid range or default semantics for source_duration_ms — but this is well above baseline for a 12-parameter tool.

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?

States a specific verb and resource: 'Generate billed localized TTS (and optional dubbed video)' plus the hosted-mode return behavior. It never distinguishes itself from the sibling `synthesize_audio_advanced`, so an agent cannot tell from the description which of the two to call.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no exclusion: the biggest ambiguity, plain vs `synthesize_audio_advanced`, is left entirely unaddressed. Usage is only implied indirectly by prerequisites ('voice_id from list_voices', 'stem_id from transcribe_audio'), which tell the agent what to obtain but not when this tool is the right choice.

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.