Inference APIs
Compare/Text-to-speech

Kokoro 82M vs OpenAI TTS (tts-1)

Kokoro 82M is an open-weight text-to-speech model you can call on this endpoint; OpenAI TTS (tts-1) is a closed model from OpenAI. Below: what each costs for three realistic workloads, the limits that apply, and when to choose which.

OpenAI figures are public list prices and documented limits, checked 2026-09-16 against the provider page. Inference APIs prices are read live from the price list.

Short answer
  • Cost: Kokoro 82M is cheaper in all three workloads, by 65%.
  • Limits: OpenAI: Rate limits scale with usage tier. 4,096 characters per request. Here: no per-minute or per-day caps.

Side by side

Kokoro 82MOpenAI TTS (tts-1)
Served byInference APIsOpenAI
Model authorHexgradOpenAI
Model idhexgrad/Kokoro-82Mtts-1
Price$5.20 / 1M characters$15.00 / 1M characters
CapabilitiesText to speech, 54 voices, MP3 / WAV, 8 languagesText to speech, 11 voices, mp3 / wav / opus
WeightsOpenClosed
StatusAvailableAvailable
LimitsNo per-minute or per-day request or token caps; usage draws on a prepaid balanceRate limits scale with usage tier. 4,096 characters per request.
300 characters → audio0.84 snot measured by us

What three workloads cost

List prices applied to the same work. The cheaper side of each row is in bold.

WorkloadKokoro 82MOpenAI TTS (tts-1)Difference
One 1,000-word article (about 6,000 characters)$0.03$0.0965%
One hour of narration (about 54,000 characters)$0.28$0.8165%
One million characters (about 18 hours of speech)$5.20$15.0065%

Kokoro 82M is cheaper in all three workloads, by 65%.

When to choose which

Choose Kokoro 82M if
  • Cost is the deciding factor; it is cheaper in every workload above
  • You want open weights: the same model can be moved to another host or self-hosted later
  • Interactive speech: sub-second responses for a paragraph in our measurement
  • You need voices in several languages at a low price per character
Choose OpenAI TTS (tts-1) if
  • You want OpenAI's voices specifically
  • You need opus, aac or flac output

Measured speed

Median of three runs on 2026-09-16: a 300-character paragraph to mp3, timed from request to last byte. Expect ±30% with time of day. We did not measure OpenAI and do not quote other people's numbers; read "not measured" as unknown, not slow. Method and raw numbers: speed measurements.

Switching from OpenAI

Both speak the OpenAI wire format. The edit is the base URL, the key and the model id; then re-run your own prompts, because it is a different model.

Python · openai SDK
import os
from openai import OpenAI

# before: OpenAI
# client = OpenAI(base_url="https://api.openai.com/v1", api_key=os.environ["OPENAI_API_KEY"])
# MODEL = "tts-1"

# after: Inference APIs
client = OpenAI(base_url="https://api.inferenceapis.com/v1", api_key=os.environ["INFERENCE_API_KEY"])
MODEL = "hexgrad/Kokoro-82M"

resp = client.audio.speech.create(model=MODEL, voice="af_heart", input="Hello there")

More detail, including Node, LangChain and LiteLLM: switching OpenAI-compatible providers.

FAQ

Which is cheaper, Kokoro 82M or OpenAI TTS (tts-1)?

Kokoro 82M is cheaper in all three workloads, by 65%. The table above uses list prices: Kokoro 82M $5.20 / 1M characters; OpenAI TTS (tts-1) $15.00 / 1M characters.

Can I switch from OpenAI TTS (tts-1) to Kokoro 82M without rewriting code?

Yes, if you call it through an OpenAI-compatible client. Change the base URL to https://api.inferenceapis.com/v1, swap the API key, and set the model to hexgrad/Kokoro-82M. Because it is a different model, re-run your prompts and evaluations before moving production traffic.

What limits apply to OpenAI TTS (tts-1)?

Rate limits scale with usage tier. 4,096 characters per request. On Inference APIs there are no per-minute or per-day request or token caps; usage draws on a prepaid balance.

Spotted a price or limit that has changed? Tell us and we will re-check the provider page.