Skip to main content
Glama

Speak one line in the character's voice (paid)

character_voice_line

Generate one spoken character line from text and save it as a named MP3 under assets/voice/lines; call only after character voice creation and confirm the per-character cost.

Instructions

ONLY on request, after character_voice; one line per call, confirm the cost (≈$0.10 per 1000 characters). Saves assets/voice/lines/.mp3.

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": {
      "id": "<id>",
      "text": "<text>",
      "name": "<name>"
    },
    "name": "character_voice_line"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
nameYesFile name, e.g. '01-to-the-radio'.
textYesThe line. Adults: Eleven v3 delivery tags like [whispering], [nervous laugh]. Minors: shape delivery with punctuation (… — !).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses that the call is paid with a concrete rate (≈$0.10 per 1000 characters), that only one line is produced per call, and that a file is written to assets/voice/lines/<name>.mp3, so the agent knows an artifact is created and a cost is incurred. It does not say what is returned (path? duration?) or what happens on overwrite, which keeps it below a 5.

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?

Extremely dense for its length: gating condition first, then cost, then output location, in one front-loaded fragment. Slightly telegraphic ('after character_voice' without a noun) and could read more cleanly, but every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, artifact-producing tool with no annotations and no output schema, the description covers cost, prerequisite, unit of work, and destination path — the essentials. It leaves open what the call returns and whether a partial/failed call is still billed, which matters for a cost-bearing action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, so the schema already documents text and name reasonably; the description still adds meaning by tying <name> to the saved file path, which is not obvious from the schema. The 'id' parameter remains unexplained in both places, so the gap is only partly closed — baseline 3 fits.

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

Purpose3/5

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

The core action is only implied: 'one line per call' plus 'Saves assets/voice/lines/<name>.mp3' lets an agent infer audio generation, but the description never states a verb like 'generate' or 'synthesize'. The prerequisite reference to character_voice does help separate it from the character_video/character_translate siblings, but the purpose rests largely on the title.

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?

'ONLY on request, after character_voice' gives both a hard gating condition and the sequencing prerequisite, which is unusually explicit for this catalog. It stops short of naming when to pick character_voice_translation instead, so it is not a full alternative routing rule.

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