agentleFS
iuryszaiurysza/agent-skills/skills/gemini-tts/SKILL.md

gemini-tts

Skill5 starsChanged 12 days agoMITView on GitHub

Generates spoken MP3 audio from text or Markdown with Gemini TTS. Use for narration, accessibility, voice previews, or reading documents aloud.

  • Reads credentials
  • Installs packages

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Keep this default unless the user explicitly requests another voice, delivery style, accent, template, or speed.

    line 23
  2. Distinctive:

    If playback was requested, report when no supported player is installed.

    line 107
  3. Distinctive:

    Never print API keys or include them in command examples, logs, or output files.

    line 109

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Gemini TTS

Generate an MP3 from inline text or a UTF-8 text/Markdown file with the bundled script.

Default delivery

For any unqualified TTS request, use the bundled natural-tech-conference default. The CLI applies it automatically when --template is omitted:

  • voice: Algenib (gravelly, lower pitch)
  • profile: experienced software engineer speaking normally at a small San Francisco technical conference
  • scene: a mid-sized breakout room, explaining the topic plainly to engineering peers
  • delivery: neutral conversational American English, low emotional range, ordinary sentence stress, modest pauses, and no narrator, marketer, keynote, radio-host, or audiobook performance
  • speed: 1.3225 (15% faster than 1.15)

Keep this default unless the user explicitly requests another voice, delivery style, accent, template, or speed.

Setup

Resolve paths relative to this SKILL.md; do not assume a particular install directory.

python3 -m pip install -r <skill-directory>/requirements.txt
export GEMINI_API_KEY='...'

GOOGLE_API_KEY and OPENCODE_GOOGLE_API_KEY are accepted as fallbacks. Set GEMINI_TTS_MODEL to override the default model.

Before generation

Confirm or infer:

  • source text or file
  • output path
  • any explicit override to the default delivery
  • whether playback is wanted

For long input, report the chunk count before making paid API calls. Ask for confirmation when the request is unexpectedly large or the user has not clearly approved generation.

Discover voices and templates

python3 <skill-directory>/scripts/generate_tts.py --list-voices
python3 <skill-directory>/scripts/generate_tts.py --list-templates
python3 <skill-directory>/scripts/generate_tts.py --show-template natural-tech-conference

Bundled templates include the default natural-tech-conference plus mystery-narrator, newscaster, whisper, empathetic, deadpan, promo-hype, and podcast-newsletter.

Generate audio

Using the default delivery:

python3 <skill-directory>/scripts/generate_tts.py \
  --text 'Explain this clearly and naturally.' \
  --output ./narration.mp3

From a file with an explicit alternate template:

python3 <skill-directory>/scripts/generate_tts.py \
  --file ./article.md \
  --template podcast-newsletter \
  --output ./article.mp3 \
  --play

Customize delivery when needed:

python3 <skill-directory>/scripts/generate_tts.py \
  --file ./script.txt \
  --voice Kore \
  --profile 'Calm technical narrator' \
  --scene 'A quiet recording booth' \
  --notes 'Clear diction, measured pace, neutral accent' \
  --speed 1.1 \
  --output ./script.mp3

Explicit CLI flags override an explicit template. An explicit template overrides the catalog default. If the catalog has no default, the hard fallback remains Orus at speed 1.0.

Reliability controls

  • --max-workers N: concurrent chunk requests; default 1
  • --requests-per-minute N: request throttle; default 8; 0 disables it
  • --allow-partial: write an MP3 despite failed chunks; avoid unless the user accepts missing audio

Environment equivalents are GEMINI_TTS_MAX_WORKERS and GEMINI_TTS_RPM.

Verification

After generation:

  1. Confirm the command exited successfully.
  2. Confirm the MP3 exists and is non-empty.
  3. Report the exact output path.
  4. If playback was requested, report when no supported player is installed.

Never print API keys or include them in command examples, logs, or output files.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.