Skip to main content
Glama

text_to_speech

Convert text or notes files into natural MP3 speech. Submit content, get a job ID, and use it to check status for the finished audio.

Instructions

Convert text to natural speech audio using Kokoro TTS. Saves an MP3 file. Runs in background — returns a job_id immediately. Call again with job_id to check status. Pass text for raw TTS, or file_path to read a notes file (strips markdown, skips metadata, embeds audio player).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoText to convert to speech. Either text or file_path is required.
speedNoSpeech speed multiplier. Default: 1.0
voiceNoVoice ID. American English female: af_heart (default), af_alloy, af_aoede, af_bella, af_jessica, af_kore, af_nicole, af_nova, af_river, af_sarah, af_sky. American English male: am_adam, am_echo, am_eric, am_fenrir, am_liam, am_michael, am_onyx, am_puck. British English: bf_emma, bf_isabella, bf_lily, bm_daniel, bm_fable, bm_george, bm_lewis. Other languages: Spanish (ef_dora, em_alex), French (ff_siwis), Hindi (hf_alpha, hf_beta, hm_omega, hm_psi), Italian (if_sara, im_nicola), Japanese (jf_alpha, jf_gongitsune, jf_nezumi, jf_tebukuro, jm_kumo), Brazilian Portuguese (pf_dora, pm_alex), Mandarin Chinese (zf_xiaobei, zf_xiaoni, zf_xiaoxiao, zf_xiaoyi, zm_yunjian, zm_yunxi, zm_yunxia, zm_yunyang).
job_idNoCheck status of a running TTS job. Pass the job_id returned from a previous call.
file_pathNoPath to a notes file to read aloud. Strips markdown formatting, skips metadata, generates MP3, and embeds audio player in the file.
output_dirNoDirectory to save the MP3 file. Default: ~/Desktop
output_filenameNoCustom filename. Auto-generated if not set.
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the asynchronous behavior (returns job_id), the output (MP3 file), and the file_path side effects (strips markdown, skips metadata, embeds audio player). This is strong behavioral detail, though it could be more explicit about status response contents or permissions.

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

Conciseness5/5

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

The description is concise, with every sentence contributing valuable information: purpose, output, background behavior, and two usage modes. It is well-structured and front-loaded with the core function, with no unnecessary repetition.

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 (async workflow, multiple modes, no output schema), the description covers the essential workflow: initial call, job_id polling, and both text and file_path input. It misses details like status response format or error handling, but the description is sufficiently complete for an agent to invoke the tool correctly.

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 description coverage is 100%, so the schema already documents all parameters. The description adds workflow context (e.g., passing job_id to check status) but largely repeats the schema's parameter descriptions. It does not add significant new semantics beyond the schema.

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 'Convert text to natural speech audio using Kokoro TTS' and 'Saves an MP3 file', giving a specific verb and resource. This distinguishes it from sibling tools like transcribe_audio and download_audio, which serve opposite or different functions.

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?

The description explains the usage pattern: 'Runs in background — returns a job_id immediately. Call again with job_id to check status.' It also distinguishes between raw text and file_path modes. However, it does not explicitly name sibling tools or state when not to use it, so it falls short of a perfect score.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AugentDevs/augent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server