Skip to main content
Glama

dubbing_set_voice

Idempotent

Assign a saved voice or clone one from a 6-15 s public audio sample for a single speaker in a dubbing project, with optional model and speed settings.

Instructions

Choose the voice for one speaker: a saved voice (actor_id from dubbing_list_voices) or a voice to clone from a public reference_audio_url (6-15 s of clean speech) with its exact reference_text. Optional model ('expressive' or 'standard') and speed (0.25-4).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project_id": "<project_id>",
      "speaker": "<speaker>"
    },
    "name": "dubbing_set_voice"
  }
}

Input Schema

NameRequiredDescriptionDefault
modelNo
speedNo
speakerYes
actor_idNo
project_idYes
reference_textNo
reference_audio_urlNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare this is a non-readonly, idempotent, non-destructive, closed-world write, so the safety profile is known. The description adds real behavioral context beyond that: the reference clip must be 6-15 s of clean speech and reference_text must match it exactly, plus the accepted model values and speed bounds. It does not explain what happens when a speaker's voice is overwritten, though idempotentHint softens that gap.

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?

It is a single dense sentence with zero filler, and the primary 'choose the voice for one speaker' framing is front-loaded. The stacked parentheticals make it slightly harder to scan than a short multi-clause structure would be, but no content is wasted.

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?

With annotations covering the safety and idempotency profile and an output schema present, the description only needs to explain inputs and mode selection, which it largely does. The remaining gap — whether speaker must already exist in the project and how the two voice sources interact when both are provided — is minor but real for a 7-parameter configuration tool.

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 description coverage is 0%, so the description carries the full burden, and it does substantial work: it maps actor_id to dubbing_list_voices, constrains reference_audio_url to 6-15 s of clean speech, requires exact reference_text, and supplies the 'expressive'/'standard' enum values and the 0.25-4 speed range that the schema itself does not encode. Only speaker and project_id go unexplained, and the either/or relationship between the two voice sources is implied rather than stated.

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 states a specific verb and resource — 'Choose the voice for one speaker' — and immediately names the two mutually exclusive sources (a saved voice via actor_id, or a cloned voice via reference_audio_url). It also points at the sibling tool that supplies actor_id, so an agent can distinguish it from dubbing_list_voices without opening either schema.

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

Usage Guidelines4/5

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

It gives clear context for both operating modes and routes the agent to dubbing_list_voices to obtain actor_id, which is genuine when-to-use guidance. It stops short of stating that exactly one of actor_id or reference_audio_url must be supplied, and it lists no exclusions or failure conditions.

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