hermes-agent/website/docs/user-guide/features
Teknium fce6c3cdf6
feat(tts): add Google Gemini TTS provider (#11229)
Adds Google Gemini TTS as the seventh voice provider, with 30 prebuilt
voices (Zephyr, Puck, Kore, Enceladus, Gacrux, etc.) and natural-language
prompt control. Integrates through the existing provider chain:

- tools/tts_tool.py: new _generate_gemini_tts() calls the
  generativelanguage REST endpoint with responseModalities=[AUDIO],
  wraps the returned 24kHz mono 16-bit PCM (L16) in a WAV RIFF header,
  then ffmpeg-converts to MP3 or Opus depending on output extension.
  For .ogg output, libopus is forced explicitly so Telegram voice
  bubbles get Opus (ffmpeg defaults to Vorbis for .ogg).
- hermes_cli/tools_config.py: exposes 'Google Gemini TTS' as a provider
  option in the curses-based 'hermes tools' UI.
- hermes_cli/setup.py: adds gemini to the setup wizard picker, tool
  status display, and API key prompt branch (accepts existing
  GEMINI_API_KEY or GOOGLE_API_KEY, falls back to Edge if neither set).
- tests/tools/test_tts_gemini.py: 15 unit tests covering WAV header
  wrap correctness, env var fallback (GEMINI/GOOGLE), voice/model
  overrides, snake_case vs camelCase inlineData handling, HTTP error
  surfacing, and empty-audio edge cases.
- docs: TTS features page updated to list seven providers with the new
  gemini config block and ffmpeg notes.

Live-tested against api key against gemini-2.5-flash-preview-tts: .wav,
.mp3, and Telegram-compatible .ogg (Opus codec) all produce valid
playable audio.
2026-04-16 14:23:16 -07:00
..
_category_.json
acp.md
api-server.md docs: note session continuity for previous_response_id chains (#10060) 2026-04-14 21:07:37 -07:00
batch-processing.md fix: normalize remaining reasoning effort orderings and add missing 'minimal' 2026-04-09 14:20:16 -07:00
browser.md docs: add Nous Tool Gateway documentation 2026-04-16 12:36:49 -07:00
code-execution.md refactor(terminal): remove check_interval parameter (#8001) 2026-04-11 17:16:11 -07:00
context-files.md
context-references.md
credential-pools.md
cron.md docs: add QQBot to all 14 docs pages (full platform parity) 2026-04-14 00:11:49 -07:00
dashboard-plugins.md docs: add dashboard themes and plugins documentation 2026-04-16 04:10:06 -07:00
delegation.md
fallback-providers.md feat(providers): add Arcee AI as direct API provider 2026-04-13 18:40:06 -07:00
honcho.md feat(honcho): context injection overhaul, 5-tool surface, cost safety, session isolation (#10619) 2026-04-15 19:12:19 -07:00
hooks.md
image-generation.md docs: add Nous Tool Gateway documentation 2026-04-16 12:36:49 -07:00
mcp.md
memory-providers.md feat(honcho): context injection overhaul, 5-tool surface, cost safety, session isolation (#10619) 2026-04-15 19:12:19 -07:00
memory.md docs: add Supermemory to memory providers docs, env vars, CLI reference 2026-04-06 22:15:58 -07:00
overview.md remove tool gateway from core features in docs 2026-04-16 12:36:49 -07:00
personality.md
plugins.md docs: document register_command() for plugin slash commands (#10671) 2026-04-15 19:55:25 -07:00
provider-routing.md
rl-training.md
skills.md fix: stop hermes update from nagging about llm-wiki's wiki.path (#11222) 2026-04-16 13:34:16 -07:00
skins.md feat(skin): add warm-lightmode skin from PR #4811 2026-04-13 23:51:21 -07:00
tool-gateway.md docs: add portal subscription links to tool-gateway page (#11208) 2026-04-16 12:48:03 -07:00
tools.md docs: add Nous Tool Gateway documentation 2026-04-16 12:36:49 -07:00
tts.md feat(tts): add Google Gemini TTS provider (#11229) 2026-04-16 14:23:16 -07:00
vision.md
voice-mode.md
web-dashboard.md docs: add dashboard themes and plugins documentation 2026-04-16 04:10:06 -07:00