Model Details
Kokoro-82M is a compact, open-weight text-to-speech model that turns written text into natural spoken audio and returns a hosted WAV file. Its standout is reach for the price: a single endpoint speaks 46 named voices across 6 languages — American and British English, French, Hindi, Italian, Japanese, and Mandarin Chinese — chosen with one `voice` field, with no separate per-language model and no reference recording to clone. At just 82 million parameters it runs fast and bills by compute time, so a typical line costs a fraction of a cent, well under character-priced speech services. Long text is split and synthesized automatically, and you can set a speaking rate.
## Best for - Cheap, fast voiceover and narration for videos, demos, and app prototypes - Multilingual text-to-speech from one endpoint across English, French, Hindi, Italian, Japanese, and Chinese - Long-form narration for audiobooks or articles, where text is split and read in sequence - Picking from a bank of 46 named voices without training or a reference clip - High-volume speech generation where per-clip cost matters
## Choose another model when - You need to clone a specific person's voice from a sample — this model has a fixed voice bank and no reference-audio input; use a voice-cloning TTS model such as `resemble-ai/chatterbox/text-to-speech` - You need SSML, emotion tags, or fine emotional control — this endpoint takes plain text only; use an expressive, controllable TTS model - You need wide per-language voice choice in a non-English language (French and Italian have only one or two voices here) — use a dedicated multilingual TTS with broader coverage
## Tips - Match the voice to your text's language: write French and pick `ff_siwis`, not an English voice, for correct pronunciation - The prefix letter also sets gender — `*f_` voices are female, `*m_` are male - Pass full paragraphs in `text`; long input is split and synthesized automatically - Use `speed` (0.1–5, default 1) to adjust pace, and keep it near 1 for the most natural delivery
To run via the ModelRunner JavaScript client: ```js import { modelrunner } from "@modelrunner/client";
const result = await modelrunner.subscribe("hexgrad/kokoro-82m", { input: { text: "Bonjour, ceci est un test de synthèse vocale.", voice: "ff_siwis", speed: 1, }, }); ```
