Skip to main content
Glama

generate_speech

Generate one-off narration or system prompts as 24 kHz WAV files. Use for speech that ends after a single line; for recurring characters, use actor tools instead.

Instructions

一次性旁白 —— 不保证跨句音色一致, 会重复出现的角色请用 create_actor + actor_tts。

适合系统提示音、一次性播报这类"说完就没了"的语音。任何会说第二句的角色都不该 用这个: 同一段 voice 描述的两句台词不是同一个人。

参数: text: 要念的台词, 上限 200 字 voice: 声音的自然语言描述(英文效果最佳), 不传则用中性旁白嗓 seed / speaking_rate: 可选

返回: 24 kHz 单声道 WAV 的本机路径

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNo
textYes
voiceNo
speaking_rateNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
pathNo
actorNo
errorNo
voiceNo
warningsNo
max_charsNo
truncatedNo
consistentNo
error_codeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.5

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does disclose key traits: no cross-sentence voice consistency, a default neutral narration voice when `voice` is omitted, a 200-character cap, and the output format (24 kHz mono WAV, local path). It does not mention determinism, cost, or latency, so it stops short of exhaustive, but the critical gotcha (voice instability) is stated up front.

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?

Front-loads the differentiating constraint before any parameter detail, then uses a clean parameter block and a one-line return note. The extra sentence reinforcing the 'second line' rule is slight redundancy but functions as a strong routing heuristic, so it earns most of its space.

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?

For a 4-parameter generation tool with no annotations and a rich sibling set, the description supplies the routing rule, the character-limit constraint, default behavior, and output artifact. With an output schema present it did not need to describe the return, yet the one-line WAV note costs little and removes ambiguity.

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 must compensate, and it largely does: `text` gets a 200-character limit, `voice` is explained as a natural-language description with English working best and a documented default, and both are the semantically important ones. `seed` and `speaking_rate` are only labeled '可选' with no explanation of what seed controls, leaving a partial gap.

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?

States a specific verb and resource (one-shot narration generation) and immediately scopes it: '一次性旁白 —— 不保证跨句音色一致'. It explicitly names the sibling route (create_actor + actor_tts) that handles the case it does not cover, so an agent can distinguish it from the voice/actor tools without opening any schema.

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?

Gives both a positive use case (system prompts, one-off announcements, '说完就没了' audio) and an explicit exclusion ('任何会说第二句的角色都不该用这个'), plus the concrete alternative to use instead. This is exactly the when/when-not/alternative structure.

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