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")). On a project that already has a storyboard, segment timings are re-aligned to the new audio automatically when the run finishes (prompts and rendered images untouched) — await_jobs until the project is idle before exporting. 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")

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / model / description
      Previous value: -"TTS model ID; empty uses the default (see list_models(\"voice_block\"))"New value: +"TTS 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"
  2. Changed5 schema fields changed
    • addedInput schema / properties / editable_sections / description
      Added value: +"Per-call prompt section overrides applied to every selected block; see get_section_template(\"voice_block\")"
    • addedInput schema / properties / model / description
      Added value: +"TTS model ID; empty uses the default (see list_models(\"voice_block\"))"
    • addedInput schema / properties / project_id / description
      Added value: +"Project ID, as returned by create_project or list_projects"
    • addedInput schema / properties / settings / description
      Added value: +"Model-specific TTS settings applied to every selected block; valid keys come from the model's settings_schema in list_models(\"voice_block\")"
    • addedInput schema / properties / voice_block_ids / description
      Added value: +"Block IDs (from list_voice_blocks) to explicitly REgenerate; omit to fill gaps — only blocks with no audio yet run"
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations indicate no read-only, open-world, idempotent, or destructive hints, so the description must disclose behavior. It reveals non-idempotence for regeneration (re-billing), explains idempotent gap-filling (skips existing), and notes automatic re-alignment of segment timings. It also mentions async behavior. This adds significant context beyond annotations.

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?

Dense but well-structured: the first sentence states the core, then critical safety and regeneration semantics, then prerequisites and side effects. Slightly long but each clause carries information; no redundant sentences.

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?

Given the tool's complexity (two modes, async, side effects) and lack of output schema, the description covers essential usage, pitfalls (re-billing), and post-condition (await_jobs). It might omit error cases or exact response shape, but these are not critical for invocation.

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 the baseline is 3. The description goes beyond by clarifying the dual semantics of voice_block_ids (omit vs pass) and explaining how editable_sections/settings apply to every selected block. It also directs to get_section_template and list_models for valid keys, adding value.

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 clearly states the tool's purpose: generating TTS audio for voice blocksians, with a specific verb (generate), resource (voice blocks), and distinct modes (fill gaps vs regenerate). It differentiates from siblings like set_narrator_voice and update_voice_block by focusing on audio generation.

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 guidance on when to use each mode: omit voice_block_ids to fill gaps safely, or pass them to regenerate. It also states a prerequisite (voices must be bound) and references sibling tools for setup. This is comprehensive routing.

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.

Resources