Skip to content
Agentmart
Submit a tool

gemini-tts

Generates spoken MP3 audio from text or Markdown with Gemini TTS.

Skill by iurysza

IndexedMIT★ 5
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/iurysza-gemini-tts

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

Use cases: documents

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/gemini-tts

What's inside

Skill name
gemini-tts
Description
Generates spoken MP3 audio from text or Markdown with Gemini TTS. Use for narration, accessibility, voice previews, or reading documents aloud.
License
MIT
Compatibility
Requires Python 3.10+, google-genai 1.65+, ffmpeg, and a Gemini API key. Optional playback needs afplay, ffplay, or mpv.
Metadata
category: visual-media
Instructions
103 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (5)

  • SKILL.md
  • requirements.txt
  • generate_tts.py · scripts/
  • test_generate_tts.py · scripts/
  • templates.json

SKILL.md (first lines)

# 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.

```bash
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

```bash
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:

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

From a file with an explicit alternate template:

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

Customize delivery when needed:

```bash
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.

From iurysza/agent-skills, MIT.

More from iurysza/agent-skills

Signals

Stars
5
Forks
0
Open issues
0
Last commit (this folder)
Oct 10, 2026 (18 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from iurysza

Cite this page

gemini-tts skill. Agent Mart. https://agentmart.dev/skills/iurysza-gemini-tts (last updated 2026-10-24)