Skip to main content
Glama

estimate_tts_cost

Estimate TTS credit costs locally before synthesis from text, voice, and account entitlements; no audio generated or final billing.

Instructions

Estimate TTS locally using backend text/SSML counting rules, account multipliers and current voice/account entitlements from existing APIs. Final settlement is performed by the synthesis backend. Show only display.estimated_costs as estimated credits, including when the selected entitlement uses characters. Raw costs retain the selected entitlement for budgets; do not show billable characters/seconds as the price. Does not synthesize.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYes
pitchNo
speedNo
styleNo
accentYes
volumeNo
voice_idYesA public voice ID returned by the speech catalog.
stabilityNo
similarityNo
emotion_nameNoDefault
exaggerationNo
article_titleNoSpeech

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.3/5.0
Behavior4/5

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

The description adds real behavioral context beyond annotations: final settlement happens in the synthesis backend, entitlement/account multipliers are applied via existing APIs, and the displayed number is display.estimated_costs. This is valuable non-obvious detail for a cost estimator. Note the description implies a read-style/local computation while readOnlyHint=false suggests otherwise, but the claim is not explicit enough to call a contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the no-synthesis caveat are reasonably front-loaded, but the middle is dense jargon about raw costs, entitlements and display fields ("Raw costs retain the selected entitlement for budgets; do not show billable characters/seconds as the price") that reads like internal implementation notes rather than agent-facing guidance.

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 12-parameter, no-output-schema tool with sparse annotations, the description covers the cost/settlement behavior but leaves the bulk of the parameters unexplained and gives no expected return shape guidance. It is adequate on the estimating semantics but incomplete on inputs.

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

Parameters2/5

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

Schema description coverage is only 8% (just voice_id), and 12 parameters are otherwise undocumented in the schema. The description compensates barely – it hints that text may contain SSML ("backend text/SSML counting rules") but explains none of pitch, speed, style, stability, emotion_name, etc. The agent is left to infer parameter meaning from names and ranges alone.

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

Purpose4/5

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

The opening verb+resource ("Estimate TTS") is specific and the closing "Does not synthesize" cleanly separates it from the sibling generate_tts. However, the middle sentences about counting rules and display fields dilute the core message and make the primary purpose slightly harder to extract on first read.

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

Usage Guidelines3/5

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

"Does not synthesize" implies this is the pre-flight estimate path versus generate_tts, which is useful context. But it never explicitly says when to call this instead of generate_tts, nor mentions prerequisites, so the routing guidance is only implied.

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