Skip to main content
Glama

Generate voiceover

generate_voiceover

Generate TTS audio for the project's voice blocks. Without voice_block_ids it fills gaps: only blocks with no audio yet run, so re-calling it is always safe (already-generated and currently-generating blocks are skipped, never re-billed). Pass voice_block_ids to explicitly REgenerate those blocks (e.g. after changing a block's voice). Speakers must have voices bound first — set_narrator_voice / set_character_voice. Optional editable_sections/settings apply to every selected block (see get_section_template("voice_block") and list_models("voice_block")). Async — returns one job per block.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNoTTS model ID; empty uses the default for the project's TTS provider. If set, it must belong to that provider — see list_models("voice_block") for each model's provider
settingsNoModel-specific TTS settings applied to every selected block; valid keys come from the model's settings_schema in list_models("voice_block")
project_idYesProject ID, as returned by create_project or list_projects
voice_block_idsNoBlock IDs (from list_voice_blocks) to explicitly REgenerate; omit to fill gaps — only blocks with no audio yet run
editable_sectionsNoPer-call prompt section overrides applied to every selected block; see get_section_template("voice_block")

TDQS

A4.9/5.0
Behavior5/5

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

Discloses re-call safety, skipping of already-generated/currently-generating blocks, no double-billing, and async return of one job per block. This adds meaningful context beyond the annotations, especially since idempotentHint is false but the gap-fill mode is idempotent.

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?

Single dense paragraph with every sentence earning its place. Front-loaded with the main action, followed by mode behavior, safety, prerequisites, and async note. No fluff or repetition.

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?

Covers all critical aspects: operation, two invocation modes, safety semantics, prerequisites, optional parameter scope, and async return behavior. With no output schema, the 'returns one job per block' statement suffices. References companion tools for deeper details.

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 baseline is 3. The description adds semantic value by explaining voice_block_ids behavior (gap-fill vs explicit regeneration), the scope of settings/editable_sections (applied to every selected block), and referencing where to find valid keys.

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?

Description starts with a specific verb+resource ('Generate TTS audio for the project's voice blocks') and immediately distinguishes two usage modes: gap-filling without voice_block_ids and explicit regeneration with them. This clearly differentiates it from siblings like list_voice_blocks and update_voice_block.

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?

Provides explicit when-to-use guidance: omit voice_block_ids to fill gaps safely, pass them to REgenerate. States prerequisite (voices bound via set_narrator_voice/set_character_voice) and points to get_section_template and list_models for optional parameter details.

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.

TDQS

A3.6/5.0
Disambiguation3/5

Several tool families overlap in purpose, such as await_jobs/get_workflow_status/get_pipeline_progress, update_segment_content/update_segment_prompts, director_note/project_director_note, and scan_script/rescan_voice_blocks. The descriptions do a good job distinguishing them, but an agent must read carefully to avoid misselection, and there are more than a couple of confusable pairs.

Naming Consistency4/5

The set overwhelmingly follows a verb_noun snake_case convention with clear prefixes like get_, list_, set_, update_, create_, and delete_. Minor exceptions such as director_note, project_director_note, browse_audio_library, and whoami keep it from being perfectly consistent.

Tool Count1/5

At 72 tools, this is far beyond the 50+ extreme range and creates a heavy navigation burden for an agent. Even though the pipeline is complex, this many tools is not well-scoped for an MCP surface.

Completeness4/5

The surface covers the full script-to-export pipeline: styles, assets, voices, storyboards, segments, scenes, and rendering all have substantial lifecycle support. Some gaps exist—no delete_channel, delete_segment, delete_voice_block, or delete_provider_key—but most missing operations can be worked around through existing tools.

Resources