tokenhop-tts
Text-to-speech via tokenhop /v1/audio/speech using OpenAI / ElevenLabs / Deepgram / Edge TTS / Google TTS / Hyperbolic / Inworld voices.
Skill by tokenhop
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/tokenhop-tokenhop-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.
About
Reviews
Write a reviewNo 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. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tokenhop-tts
What's inside
- Skill name
tokenhop-tts- Description
- Text-to-speech via tokenhop /v1/audio/speech using OpenAI / ElevenLabs / Deepgram / Edge TTS / Google TTS / Hyperbolic / Inworld voices. Use when the user wants to convert text to speech, generate audio, voiceover, narrate, or read text aloud.
- License
- MIT
- Instructions
- 85 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# tokenhop — Text-to-Speech
Requires `TOKENHOP_URL` (and `TOKENHOP_KEY` if auth enabled). See <https://raw.githubusercontent.com/tokenhop/tokenhop/refs/heads/master/skills/tokenhop/SKILL.md> for setup.
If they are unset, use the legacy `NINEROUTER_URL` / `NINEROUTER_KEY` instead. <!-- legacy(9router): remove in v2 -->
## Discover
```bash
# 1) List models
curl $TOKENHOP_URL/v1/models/tts | jq '.data[].id'
# 2) Per-model metadata (params, voicesUrl if voice-by-id)
curl "$TOKENHOP_URL/v1/models/info?id=el/eleven_multilingual_v2"
# 3) List voices (elevenlabs, edge-tts, deepgram, inworld, local-device). Optional ?lang=vi
curl "$TOKENHOP_URL/v1/audio/voices?provider=edge-tts&lang=vi" | jq '.data[].model'
```
`model` field in `/v1/audio/speech` = voice ID directly (e.g. `edge-tts/vi-VN-HoaiMyNeural`, `el/<voice_id>`, or `openai/tts-1` model+default voice).
## Endpoint
`POST $TOKENHOP_URL/v1/audio/speech`
| Field | Required | Notes |
| ----------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `model` | yes | voice ID from `/v1/models/tts` |
| `input` | yes | text to speak |
| `voice` | no | used only when `model` has no voice (`openai`, `selfhosted-tts`) |
| `response_format` | no | audio codec `mp3`, `opus`, `aac`, `flac`, `wav`, `pcm` (`openai`, `selfhosted-tts`); anything else is a 400 |
The query `?response_format=mp3` (the default, raw bytes) or `?response_format=json` (`{audio: base64, format}`) picks the response envelope. The body `response_format` picks the codec.
## Examples
Save MP3:
```bash
curl -X POST "$TOKENHOP_URL/v1/audio/speech" \
-H "Authorization: Bearer $TOKENHOP_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"openai/tts-1","input":"Hello world"}' \
--output speech.mp3
```
JS (save file):
```js
import { writeFile } from "node:fs/promises";
const r = await fetch(`${process.env.TOKENHOP_URL}/v1/audio/speech`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.TOKENHOP_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ model: "el/eleven_multilingual_v2", input: "Xin chào" }),
});
await writeFile("speech.mp3", Buffer.from(await r.arrayBuffer()));
```
## Response shape
Default → raw audio bytes (Content-Type `audio/mp3`).
`?response_format=json`:
```json
{ "audio": "SUQzBAAAA...", "format": "mp3" }
```
## Provider quirks (model format)
| Provider | `model` format | Notes |
| ----------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------- |
| `openai` | `tts-1/alloy`, `tts-1` (+ body `voice`), or just voice | Default model `gpt-4o-mini-tts` |
| `elevenlabs` | `<model_id>/<voice_id>` or `<voice_id>` | Default model `eleven_flash_v2_5`; list voices in Dashboard |
| `openrouter` | `openai/gpt-4o-mini-tts[/alloy]` (+ body `voice`) | Or bare voice; streamed via chat-completions audio |
| `edge-tts` | voice id e.g. `vi-VN-HoaiMyNeural` | **noAuth**; default `vi-VN-HoaiMyNeural` |
| `google-tts` | language code e.g. `en`, `vi` | **noAuth** |
| `local-device` | OS voice name (`say -v ?` / SAPI) | **noAuth**; needs `ffmpeg` |
| `deepgram` | `aura-asteria-en` etc | Token auth |
| `nvidia`, `inworld`, `cartesia`, `playht` | `model/voice` | Provider-specific auth header |
| `coqui`, `tortoise` | speaker / voice id | Localhost noAuth |
| `hyperbolic` | model id | Body = `{text}` only |From tokenhop/tokenhop, MIT.
More from tokenhop/tokenhop
- 0.587score
tokenhop
tokenhop
Entry point for tokenhop — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-chat
tokenhop
Chat / code generation via tokenhop using OpenAI /v1/chat/completions or Anthropic /v1/messages format with streaming + auto-fallback combos.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-embeddings
tokenhop
Generate vector embeddings via tokenhop /v1/embeddings using OpenAI / Gemini / Mistral / Voyage / Nvidia / GitHub embedding models for RAG, semantic search…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-video
tokenhop
Generate videos via tokenhop /v1/videos/generations using xAI Grok Imagine (grok-imagine-video).
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-web-fetch
tokenhop
Fetch URL → markdown / text / HTML via tokenhop /v1/web/fetch using Ollama Cloud / Firecrawl / Jina Reader / Tavily Extract / Exa Contents.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-web-search
tokenhop
Web and X search via tokenhop /v1/search using Tavily / Exa / Brave / Serper / SearXNG / Google PSE / Linkup / SearchAPI / You.com / Perplexity / Xquik.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-stt
tokenhop
Speech-to-text via tokenhop /v1/audio/transcriptions using OpenAI Whisper / Groq / Gemini / Deepgram / AssemblyAI / NVIDIA / HuggingFace models.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-image
tokenhop
Generate images via tokenhop /v1/images/generations using OpenAI / Gemini Imagen / DALL-E / FLUX / MiniMax / SDWebUI / ComfyUI / Codex models.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
9router-video
tokenhop
This skill moved to tokenhop-video.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
9router-web-fetch
tokenhop
This skill moved to tokenhop-web-fetch.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
9router
tokenhop
This skill moved to tokenhop.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
9router-chat
tokenhop
This skill moved to tokenhop-chat.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 7
- Last commit (this folder)
- Oct 2, 2026 (27 days ago)
- Last release
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/tokenhop/tokenhop
- Website
- tokenhop.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tokenhop
- 0.587score
tokenhop-chat
tokenhop
Chat / code generation via tokenhop using OpenAI /v1/chat/completions or Anthropic /v1/messages format with streaming + auto-fallback combos.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-embeddings
tokenhop
Generate vector embeddings via tokenhop /v1/embeddings using OpenAI / Gemini / Mistral / Voyage / Nvidia / GitHub embedding models for RAG, semantic search…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-stt
tokenhop
Speech-to-text via tokenhop /v1/audio/transcriptions using OpenAI Whisper / Groq / Gemini / Deepgram / AssemblyAI / NVIDIA / HuggingFace models.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop
tokenhop
Entry point for tokenhop — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-image
tokenhop
Generate images via tokenhop /v1/images/generations using OpenAI / Gemini Imagen / DALL-E / FLUX / MiniMax / SDWebUI / ComfyUI / Codex models.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
tokenhop-video
tokenhop
Generate videos via tokenhop /v1/videos/generations using xAI Grok Imagine (grok-imagine-video).
SkillAFreshness: A★ 1Claude Code +9
Cite this page
tokenhop-tts skill. Agent Mart. https://agentmart.dev/skills/tokenhop-tokenhop-tts (last updated 2026-10-24)